* test/lisp/emacs-lisp/package-tests.el
[emacs.git] / ChangeLog.2
blob1169ab458d6d96b3d484c0f09a292c1acaf05567
1 2016-01-03  John Wiegley  <johnw@newartisans.com>
3         Merge branch 'emacs-25-merge'
5 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
7         Align textually on fix done for emacs-25 branch for bug#21054
9         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
10         and useless `(if t ...)' in order to align textually on fix done for
11         emacs-25 branch for bug#21054.
13 2016-01-02  K. Handa  <handa@gnu.org>
15         support rendering of wider range of combinging characters by ftfont backend
17         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
18         supports rendering of combining characters, call
19         font-shape-gstring.
21         * src/font.c (Ffont_get): Handle `combining-capability' property.
22         (syms_of_font): New symbol ":combining-capability'.
24         * src/font.h (struct font_driver): New member combining_capability.
26         * src/ftfont.c: Include "category.h".
27         (ftfont_driver): Initialize combining_capability to
28         ftfont_combining_capability.
29         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
30         FLT in advance.
31         (ftfont_combining_capability): New function.
33 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
35         Add notes on bug triage procedure
37         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
38         * admin/notes/triage: New file explaining triage procedure.
40 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
42         Correct ses-rename-cell cursor-intangible text prop updating.
44         There were two problems:
46         - First ses-rename-cell has to work when called non interactively
47           (with non-nil CELL argument), so in this case the start pos of
48           put-text-property cannot be plainly (point), you need a
49           ses-goto-print call before
51         - Second, the range itself was computed erronously, only the first
52           char was affected instead of the full cell width. This was not
53           noticeable prior to changes (Deprecate `intangible' and
54           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
56         * lisp/ses.el (ses-rename-cell): Correct computation of position range
57         to which the 'cursor-intangible text property has to be set to cell
58         new name.
60 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
62         Don't fake empty cells value by "" when printing with a lambda.
64         When using a lambda expression printer function the user should be
65         free to format differently a really empty cell, ie. containing nil,
66         from a cell containing an empty string "".
68         * ses.el (ses-call-printer): Replace `(or value "")' by just `value'
69         in the case of a lambda expression printer function.
71         * ses.texi (Printer functions): Add example and description about
72         lambda expression printer function handling all the possible values,
73         including unexpected ones.
75 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
77         Quick temporary hack to fix curcell refreshing.
79         The problem was caused by change: 2015-04-13 Deprecate `intangible'
80         and `point-entered' properties. The problem is that this change has
81         removed the (setq ses--curcell t) setting in the ses-command-hook
82         function.
84         * ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
85         a condition to call function `ses-set-curcell'. Comment this as a quick
86         temporary hack to make it work, as I don't know yet whether a definite
87         correction would be to make the ses-set-curcell at every ses-check-curcell,
88         or to revert to the previous approach, ie marking ses--curcell as out-of-date
89         at every potentially cursor motion command.
91 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
93         Restrictive URL checking tweaks
95         * lisp/net/eww.el (eww): Check whether the domain is
96         restrictive instead of the string
97         (http://македонија.icom.museum is restrictive even if each
98         part is from a different script).
100 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
102         New function `puny-highly-restrictive-domain-p'
104         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
105         (puny-highly-restrictive-domain-p): New function.
107 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
109         eww build fix (require puny)
111 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
113         Transform non-restrictive domains to punycode for display
115         * lisp/net/eww.el (eww): Check whether the domain is Highly
116         Restrictive in the Unicode IDNA sense.
118 2015-12-30  John Wiegley  <johnw@newartisans.com>
120         Merge emacs-25 into master (using imerge)
122 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
124         Fix typos in CC Mode manual
126         * doc/misc/cc-mode.texi (c-offsets-alist, Style Variables): Fix
127         typos.  (Bug#22267)
129 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
131         Avoid assertion violations in compact_font_cache_entry
133         * src/alloc.c (compact_font_cache_entry): Don't use VECTORP to
134         avoid assertion violation in ASIZE.  (Bug#22263)
136 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
138         Fix filling text with bidirectional characters in shr.el
140         * lisp/net/shr.el (shr-insert-document): Bind
141         bidi-display-reordering to nil while filling lines.  This is
142         required for when a line includes characters whose bidi
143         directionality is opposite to the base paragraph direction,
144         because columns are counted in the logical order.  (Bug#22250)
146 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
148         Further Unicode restrictive fixups
150         * puny.el (puny-highly-restrictive-p): Include the extra
151         identifier characters from table 3.
153 2015-12-29  Martin Rudalics  <rudalics@gmx.at>
155         * src/xfns.c (x_create_tip_frame): Process alpha parameter.
157 2015-12-29  Michael Albinus  <michael.albinus@gmx.de>
159         Sync with Tramp 2.2.13
161         * doc/misc/trampver.texi: Change version to "2.2.13.25.1".
163         * lisp/net/tramp-compat.el (tramp-compat-delete-dups):
164         Use `tramp-compat-funcall'.
166         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names):
167         Make `split-string' call compatible with older Emacsen.
169         * lisp/net/trampver.el: Change version to "2.2.13.25.1".
171 2015-12-29  Lambda Coder  <sjLambda@gmail.com>
173         * doc/misc/tramp.texi: Editorial revisions to the Tramp manual
175 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
177         Mention that tls.el is secure by default, and will fail
179 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
181         Make tls.el use trustfiles by default
183         * lisp/net/tls.el (tls-program): Add a certfile by default (bug#21227).
184         (open-tls-stream): Insert the trustfile by looking at
185         `gnutls-trustfiles'.
187 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
189         Refactor out gnutls-trustfiles
191         * lisp/net/gnutls.el (gnutls-trustfiles): Refactor out for reuse by tls.el.
193 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
195         Remove --insecure from gnutls-cli invocation
197         * tls.el (tls-program): Default to using secure TLS
198         connections (bug#19284).
200 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
202         Add a new function to say whether a string is restrictive
204         * puny.el (puny-highly-restrictive-p): New function.
206 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
208         Spelling fix
210 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
212         Port report-emacs-bug to deterministic builds
214         * lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
215         recent "built on" change to deterministic builds where
216         emacs-build-system will be nil.  See:
217         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
219 2015-12-28  Jose A. Ortega Ruiz  <jao@gnu.org>  (tiny change)
221         Fix URL auth error message
223         * lisp/url/url-http.el (url-http-handle-authentication): Make the error
224         message more correct (bug#20069).
226 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
228         Mention the new puny.el library
230 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
232         IDNA-related fixes for the URL library
234         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
235         the Host: header.
237         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
238         domain names, but leave them as UTF-8, so that they can be
239         IDNA-encoded later when contacting the host.
241 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
243         IDNA-encode all domain names in `open-network-stream'
245         * network-stream.el (open-network-stream)
246         (network-stream-open-plain, network-stream-open-starttls):
247         IDNA-encode all domain names, if needed.
249 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
251         Fix puny-encoding all-non-ASCII domains
253         * puny.el (puny-encode-string): Fix the all-non-ASCII encoding case.
255 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
257         shr link traversal fixup
259         * shr.el (shr-next-link): Don't bug out on adjacent links.
261         Backport:
263         (cherry picked from commit 1efc5f8b09273c359683ce13be95fb5df7a84311)
265 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
267         shr link traversal fixup
269         * shr.el (shr-next-link): Don't bug out on adjacent links.
271 2015-12-28  Tom Tromey  <tom@tromey.com>
273         set :safe on css-indent-offset
275         * lisp/textmodes/css-mode.el (css-indent-offset): Add :safe 'integerp.
277 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
279         * eww.el (eww-mode): Remove superfluous bidi reset.
281 2015-12-28  James Stout  <james.wolf.stout@gmail.com>  (tiny change)
283         Make chunked encoding trailer detection more compliant
285         * lisp/url/url-http.el
286         (url-http-chunked-encoding-after-change-function): Make
287         trailer detection more compliant (bug#16345).
289 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
291         Reconnect erc even on server errors
293         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
294         reconnect even if a server error has occurred (bug#18527).
296 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
298         Fix punycode short circuit logic
300         * puny.el (puny-encode-domain): Fix short-circuit logic.
302 2015-12-28  Martin Rudalics  <rudalics@gmx.at>
304         Fix Bug#10873 in `report-emacs-bug'
306         * lisp/mail/emacsbug.el (report-emacs-bug): If
307         `report-emacs-bug-no-explanations' is nil, make sure we can show
308         mail and warnings buffer on this frame (Bug#10873).
310 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
312         IDNA speed up
314         * puny.el (puny-encode-domain): Make the common non-IDNA case faster
316 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
318         Add IDNA domain encode/decode functions
320         * puny.el (puny-decode-domain): New function.
321         (puny-encode-domain): Ditto.
322         (puny-decode-digit): Fix digit decoding error.
324 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
326         Rename idna.el to puny.el
328         * puny.el: Renamed from idna.el to avoid name collisions with
329         the external idna.el library.
331 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
333         Always reset the bidi direction
335         * eww.el (eww-display-html): Always reset the bidi direction
336         to `left-to-right' (bug#22257).
338 2015-12-28  Alan Mackenzie  <acm@muc.de>
340         Allow line comments ending with escaped NL to be continued to the next line.
342         Use this in C, C++, and Objective C Modes.  Fixes bug#22246
344         * src/syntax.c (comment-end-can-be-escaped): New buffer local variable.
345         (forw-comment, back-comment): On encountering an end of comment character,
346         test whether it is escaped when `comment-end-can-be-escaped' is non-nil.
348         * doc/lispref/syntax.texi (Control Parsing): Describe
349         `comment-end-can-be-escaped'.
351         * etc/NEWS (Lisp Changes): Describe `comment-end-can-be-escaped'.
353         * lisp/progmodes/cc-langs.el: New c-lang-setvar `comment-end-can-be-escaped'.
355 2015-12-28  Katsumi Yamaoka  <yamaoka@jpl.org>
357         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
359         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
360         Don't use split-string with 4th arg for old Emacsen compatibility.
362 2015-12-27  Dmitry Gutov  <dgutov@yandex.ru>
364         Rename project-library-roots to project-external-roots
366         * lisp/progmodes/project.el (project-library-roots): Rename to
367         project-external-roots.
368         (project-library-roots-function): Rename to
369         project-vc-external-roots-function.  Only use it in the VC
370         backend, for now.  Update project-external-roots accordingly.
371         (project-vc-library-roots): Remove.
372         (project-or-libraries-find-regexp):
373         Rename to project-or-external-find-regexp.
375         * lisp/progmodes/elisp-mode.el (elisp-library-roots):
376         Rename to elisp-load-path-roots.
378         * lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
379         an anonymous function for the default value of
380         project-vc-external-roots-function.
382 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
384         * idna.el (idna-decode-string-internal): Implement decoding.
386 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
388         Further IDNA tweaks
390         (idna-encode-string): Make idna-encode-string safe for
391         non-ASCII use.
393 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
395         Clean up the code slightly
397 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
399         Added basic idna encoding support
401         * lisp/net/idna.el: New file.
403 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
405         Disconnection fixes for erc
407         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
408         reconnect if the user has disconnected explicitly (bug#4589).
410 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
412         Further erc asynch fixes
414         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
415         erc-server-connect to return even if the connection is not
416         ready.  Then erc-open and erc-server-reconnect do the
417         same. (bug#5650).
419 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
421         Make erc connect asynchronously
423         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
424         reconnect asynchronously.
426         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
428 2015-12-27  Deniz Dogan  <deniz@dogan.se>
430         Clear erc user list upon disconnection
432         * lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
433         lists upon disconnection.  This prevents invalid channel
434         user lists when reconnecting (bug#10947).
436 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
438         Don't bug out in erc after waking from sleep
440         * erc-backend.el (erc-server-send-ping): If the server has
441         closed connection, this may already have been detected and
442         `erc-server-last-received-time' has been set to nil (bug#13608).
444 2015-12-27  David Edmondson  <dme@dme.org>
446         Proxy error in erc with multiple clients
448         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
449         generated when multiple IRC clients talk to a single IRC proxy
450         (bug#19034).
452         Backport:
454         (cherry picked from commit 507e98a54d1aa37823c64993d6b59257a82fe8f4)
456 2015-12-27  David Edmondson  <dme@dme.org>
458         Proxy error in erc with multiple clients
460         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
461         generated when multiple IRC clients talk to a single IRC proxy
462         (bug#19034).
464 2015-12-27  Dima Kogan  <dima@secretsauce.net>
466         Ensure that we don't have several timers in erc
468         * lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
469         for existing timers in the alist before adding new ones.  If a
470         timer already exists, it is cancelled and
471         overwritten. (bug#19292).
473 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
475         Fix mml-sec build warnings
477         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
478         (bug#18718).
480         Backport:
482         (cherry picked from commit 3603097f62f5f4aa5451716e9ac380161f6829e2)
484 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
486         Fix mml-sec build warnings
488         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
489         (bug#18718).
491 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
493         Don't insert erc logs at the end
495         * erc-log.el (erc-log-setup-logging): Insert the previous log
496         at the start of the buffer, not at the end (bug#20496).
498 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
500         (eww-setup-buffer): Restore left-to-right defaults
502         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
504         Backport:
506         (cherry picked from commit 96c874b96b617c124d500a94de761a61f2a08685)
508 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
510         (eww-setup-buffer): Restore left-to-right defaults
512         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
514 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
516         Don't join erc channels doubly
518         * erc-join.el (erc-autojoin-channels): Don't join channels
519         more than once (if you have several nicks) (bug#20695).
521 2015-12-27  Eli Zaretskii  <eliz@gnu.org>
523         Avoid leaving "ghost" of mouse pointer on MS-Windows
525         * src/w32term.c (frame_set_mouse_pixel_position):
526         * src/w32fns.c (Fw32_mouse_absolute_pixel_position): Momentarily
527         disable "mouse trails" when moving the mouse pointer.  (Bug#22247)
528         * src/w32term.c (frame_set_mouse_pixel_position): Include
529         w32common.h.
531 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
533         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
535 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
537         Identify unsafe combinations of Bcc and encryption
539         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
540         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
541         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
543 2015-12-27  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
545         Fix auth source lookups from erc with port numbers
547         * lisp/erc/erc.el (erc-open): `auth-source' wants strings, not port
548         numbers (bug#20541).
550 2015-12-27  Fran Litterio  <flitterio@gmail.com>
552         Run erc-kill-channel-hook always on exit
554         * lisp/erc/erc.el (erc-kill-buffer-function): Run erc-kill-channel-hook
555         when erc-kill-queries-on-quit is set (bug#21187).
557 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
559         Spelling fix
561         * test/automated/url-parse-tests.el:
562         (url-generic-parse-url/same-document-reference):
563         Rename from url-generic-parse-url/same-decument-reference.
565 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
567         Reword initial *scratch* for brevity, appearance
569         * lisp/startup.el (initial-scratch-message):
570         Reword to avoid apostrophes, and to make it shorter.
571         See the thread starting in:
572         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html
574 2015-12-26  Leo Liu  <sdl.web@gmail.com>
576         Add ert-deftest to lisp-mode.el
578         * lisp-mode.el (lisp-imenu-generic-expression,
579           lisp-el-font-lock-keywords-1): Add ert-deftest.
581 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
583         Mark imap changes as not needing doc changes
585         * imap.el (imap-ssl-open): Remove
587 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
589         Use built-in encryption in imap.el
591         * lisp/net/imap.el (imap-ssl-program): Remove (bug#21134).
592         (imap-starttls-open): Use open-network-stream instead of starttls.el.
593         (imap-tls-open): Use open-network-stream instead of tls.el.
595 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
597         Don't try using /bin/sh in artist.el on MS-Windows
599         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
600         New function.
601         (artist-figlet-choose-font): Use it on MS-Windows and MS-DOS.
602         (Bug#20167)
604 2015-12-26  Wolfgang Jenkner  <wjenkner@inode.at>
606         Always define gmalloc etc. in src/gmalloc.c
608         This is a work-around to prevent the compiler from using semantic
609         knowledge about malloc for optimization purposes.  E.g., gcc 5.2
610         with -O2 replaces most of calloc's definition by a call to calloc;
611         see Bug#22085.
612         * src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
613         (aligned_alloc, free): Do not undef.  Instead, define these as
614         functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
616 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
618         Fix documentation of browse-url browser-related functions
620         * lisp/net/browse-url.el (browse-url)
621         (browse-url-default-browser, browse-url-default-windows-browser)
622         (browse-url-default-macosx-browser, browse-url-chromium)
623         (browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS
624         and NEW-WINDOW arguments in these functions.  (Bug#19421)
626 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
628         Propagate Bug#14412 fix to backtrace_eval_unrewind
630         * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
631         becomes accurate again. This shouldn’t affect behavior.
632         (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.
634 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
636         Don't produce non-ASCII characters in *scratch*
638         * lisp/startup.el (initial-scratch-message): Quote apostrophes to
639         avoid producing non-ASCII characters in the *scratch* buffer's
640         commentary.
642 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
644         Document changes in 'compare-windows'
646         * lisp/vc/compare-w.el (compare-windows-removed)
647         (compare-windows-added): Doc fix.
649         * doc/emacs/files.texi (Comparing Files): Document the changes in
650         window selection by 'compare-windows'.
652 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
654         Document 'vc-annotate-background-mode'
656         * doc/emacs/maintaining.texi (Old Revisions): Document
657         'vc-annotate-background-mode'.
659 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
661         Document 'vc-region-history'
663         * doc/emacs/maintaining.texi (VC Change Log): Document
664         'vc-region-history'.
666 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
668         Improve documentation of 'vc-push'
670         * doc/emacs/maintaining.texi (Pulling / Pushing): Expand and
671         improve the documentation of 'vc-push'.
673         * lisp/vc/vc.el (vc-pull, vc-push): Doc fix.
675 2015-12-26  Alain Schneble  <a.s@realize.ch>
677         Include the tests for the URL parsing fixes
679 2015-12-26  Alain Schneble  <a.s@realize.ch>
681         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
683         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
684         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
685         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
686         information in URL-struct.
687         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
688         path and query into nil path and query, respectively.
689         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
690         empty path into an absolute ("/") path.
691         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
692         fragment-only URIs. Do not just return them unchanged.
693         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
694         reference URI should not drop the last segment.
696         Backport:
698         (cherry picked from commit b792ecea1715e080ad8e232d3d154b8a25d2edfb)
700 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
702         Document 'url-user-agent'.
704         * lisp/url/url-http.el (url-user-agent): Move from here...
705         * lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
706         keep all the URL defcustoms in one place, and also have it defined
707         whenever the URL library is loaded.
709         * doc/misc/url.texi (Customization): Document 'url-user-agent'.
711 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
713         Document protocols supported by URL library via Tramp
715         * doc/misc/url.texi (Tramp): New node, describes the URL schemes
716         supported via Tramp.
717         (Supported URL Types, file/ftp, rlogin/telnet/tn3270): Mention
718         Tramp.
720 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
722         Document changes in Shell-script mode
724         * lisp/progmodes/sh-script.el (sh-mode, sh-set-shell): Document
725         the 'sh-shell' file-local variable.
726         (top level): Add an auto-load form to avoid byte-compiler warning
727         about 'comint-send-string'.
729 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
731         Fix documentation of 'ses-define-local-printer'
733         * doc/misc/ses.texi (Printer functions): Fix whitespace between
734         sentences and punctuation.  Add an index entry for
735         'ses-define-local-printer'.
737 2015-12-26  Shakthi Kannan  <shakthimaan@gmail.com>
739         Document 'ert-summarize-tests-batch-and-exit'
741         * doc/misc/ert.texi (Running Tests in Batch Mode): Document
742         'ert-summarize-tests-batch-and-exit'.
744 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
746         Avoid assertion violation in unbind_to
748         * src/eval.c (unbind_to) <SPECPDL_LET>: Avoid assertion violation
749         if we get here with an object that is not a symbol.  (Bug#14412)
751 2015-12-25  Andreas Schwab  <schwab@linux-m68k.org>
753         Don't treat /foo/bar:mumble as ange-ftp address
755                 * lisp/net/browse-url.el (browse-url-filename-alist): Match colons
756                 only in the first component.  (bug#5362)
758 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
760         Follow <meta> redirects in eww
762         Merge conflict, but I think I resolved it.
764             Follow meta refresh tags in eww
766             * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
768         Backport:
770 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
772         Allow http://user:pass@foo/ URLs again
774         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
775         user/passwords in URLs (bug#19046).
777         Backport:
779         (cherry picked from commit b563715a2db265517d5a77f165a42afa1e233fdd)
781 2015-12-25  Samer Masterson  <samer@samertm.com>
783         Autoload url-insert-buffer-contents
785         * lisp/url/url-handlers.el: Add autoload cookie so that
786         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
788         Backport:
790         (cherry picked from commit 7a7b5b492ff9929eecd90c4564db6fbf3b192323)
792 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
794         Make sure *scratch* etc. use forward slashes in its default-directory
796         * lisp/startup.el (normal-top-level): On MS-Windows, convert
797         backslashes to forward slashes while decoding default-directory
798         of the initially-created buffers.
800 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
802         More eww file name coding fixes
804         * eww.el (eww-decode-url-file-name): Use the base coding
805         system to check for encodability.
807         Backport:
809         (cherry picked from commit a8627008abe4ab339df19b417776da28b3ce0fc7)
811 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
813         Always save eww history
815         * eww.el (eww-setup-buffer): Always save history, even when
816         called from outside the eww buffer (bug#19638).
818         Backport:
820         (cherry picked from commit 2a0f18d9b6ce0ccce3d9c4a4a3b5743bae71b41e)
822 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
824         Default web pages to right-to-left
826         * eww.el (eww-mode): Most web pages are left-to-right, so make
827         that the default (bug#19801).
829         * shr.el (shr-tag-html): Respect "dir" attributes
830         (left-to-right, right-to-left).
832         Backport:
834         (cherry picked from commit 9e089ec8a380ec3758fcf1564c5f86dc92c68c2a)
836 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
838         Make toggling checkboxes work again
840         * eww.el (eww-update-field): Make toggling checkboxes work
841         again (bug#21881).
843         Backport:
845         (cherry picked from commit 5e56f606952e5e81b4d3a93ea70e791b74b33041)
847 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
849         Don't store cookies with empty names
851         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
852         cookies with empty names (bug#21936).
854         Backport:
856         (cherry picked from commit 9f0fd7cb1aec3eb9e2e0f7b8854c30870286d96c)
858 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
860         Stop rendering HTML before specdlr exhaustion
862         Fixes: 22117
864         * shr.el (shr-descend): Stop rendering before we run out of
865         specpdl room (bug#22117).
867         Backport:
869         (cherry picked from commit 248da292fe46224b0b5a79b632c89cf4de2c2081)
871 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
873         Use cl-reduce, not reduce.
875         Backport:
877         (cherry picked from commit fe4606f93b91ff3d046aee0cf21ecc277af7a786)
879 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
881         Allow several <tbody> tags in shr
883         * shr.el (shr-table-body): New function to find the real body
884         of a table.
885         (shr-tag-table): Use it to render several <tbody> tags in a
886         table (bug#22170).
888         Backport:
890         (cherry picked from commit cdaf33029d6620073833876d76056045ecfbc7c4)
892 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
894         Make prettier unique file names in eww
896         (eww-make-unique-file-name): Make unique file names by making
897         files like foo(2).jpg instead of foo(1)(2).jpg.
899         Backport:
901         (cherry picked from commit edfdd0a6cbdfa9e5e4bd0553e2b489401ca39266)
903 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
905         Decode hex-encoded URLs before using them as file names
907         * eww.el (eww-decode-url-file-name): New function.
908         (eww-download-callback): Use it to decode file names before
909         saving them.
911         Backport:
913         (cherry picked from commit af22a010d87516c2a646572fb27512c03057784f)
915 2015-12-25  Ashish SHUKLA  <ashish.is@lostca.se>
917         Add FreeBSD cert bundle
919         * doc/misc/emacs-gnutls.texi (Help For Users): Document
920         FreeBSD bundle.
922         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
924         Backport:
926         (cherry picked from commit 60c0f1a18ad88d6dc1a8f4ee5d9d18940eaeb6f7)
928 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
930         Ignore invalid SVG images
932         * shr.el (shr-tag-svg): Ignore SVG images that have no width
933         or height, because these can't be displayed by ImageMagick,
934         anyway.
936         Backport:
938         (cherry picked from commit 821107d53c2e390240d25c036b99ebbf9b4a93b6)
940 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
942         shr table rendering fix
944         * shr.el (shr-tag-table): Allow rendering body-less tables
945         that have headers.
947         Backport:
949         (cherry picked from commit b05471e42c17e02c56c87d7599ada0c124a5fe09)
951 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
953         Restore info about the build host in bug reports
955         * lisp/mail/emacsbug.el (report-emacs-bug): Report the system on
956         which Emacs was built.  This is important information for
957         investigating bug reports reported by users who don't build their
958         Emacs.
960 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
962         Fix bootstrap broken by changes related to OS X file-name encoding
964         * lisp/international/ucs-normalize.el (eval-when-compile): Make
965         sure char-code-property-alist includes elements that allow access
966         to 'decomposition' and 'canonical-combining-class' Unicode
967         properties, as compiling ucs-normalize.el requires that.
968         * lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
969         only of charprop.el was already loaded.
971         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
972         New order-only dependency.
974 2015-12-25  Leo Liu  <sdl.web@gmail.com>
976         * ido.el (ido-add-virtual-buffers-to-list): Use bookmark-get-filename.
978 2015-12-25  Michael Albinus  <michael.albinus@gmx.de>
980         Make tramp-test29-vc-registered more robust
982         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
983         Move `bzr' case down.  Skip test when `vc-create-repo' fails.
984         Remove instrumentation.
986 2015-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
988         * lisp/term/x-win.el (x-gtk-stock-map): Fix typo.
990 2015-12-23  Katsumi Yamaoka  <yamaoka@jpl.org>
992         Fix `gnus-union' so as to behave like `cl-union'
994         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat):
995         Make gnus-union use `equal' to compare items in lists.
997         * lisp/gnus/gnus-util.el (gnus-union):
998         Make it behave like cl-union partially.
1000 2015-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1002         Fix dired.c typo with ptrdiff_t vs Lisp_Object
1004         * src/dired.c (file_name_completion): Don't assume Lisp_Object is
1005         an integer type, fixing a problem introduced in the recent fix for
1006         Bug#22169.
1008 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
1010         Document default process sentinel more prominently
1012         * doc/lispref/processes.texi (Asynchronous Processes): Mention the
1013         defaults for process filter and sentinel.  Provide cross-references.
1014         (Process Information): Provide cross-references to where filters
1015         and sentinels are described.
1016         (Filter Functions): Add an index entry for "default filter".
1017         (Sentinels): Add a few status messages not documented previously.
1018         Resolve the "killed" confusion.  Document and describe the default
1019         sentinel.  (Bug#22220)
1021 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
1023         Fix file-name completion on OS X
1025         * src/dired.c (file_name_completion): Reject false matches due to
1026         file-name-coding-systems that decompose characters when encoding
1027         file names, by comparing decoded file names as well.  (Bug#22169)
1028         (syms_of_dired) <Qdecomposed_characters>: New DEFSYM.
1030         * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a
1031         non-nil 'decomposed-characters' property.
1033 2015-12-23  Anders Lindgren  <andlind@gmail.com>
1035         File-name completion of non-ASCII characters on OS X (bug#22169)
1037         The coding system `utf-8-nfd', locally defined in ns-win.el,
1038         didn't provide a :pre-write-conversion method, causing file name
1039         completion of non-ASCII characters to fail.  Solved by using the
1040         `utf-8-hfs' coding system provided by `ucs-normalize'.
1042         * lisp/loadup.el: Load international/ucs-normalize (when building
1043         for ns).
1045         * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for
1046         `utf-8-hfs' and removed the old implementation.  Set `utf-8-hfs'
1047         as the file name coding system.
1049         * src/nsfns.c (ns-convert-utf8-nfd-to-nfc): Removed.
1051 2015-12-22  Tom Tromey  <tom@tromey.com>
1053         Fix bug #18588 by making bug-reference-bug-regexp more lenient
1055         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Accept
1056         "bug NNNN".  (Bug #18588)
1058 2015-12-22  Tom Tromey  <tom@tromey.com>
1060         add some cl-* aliases to lisp-mode imenu
1062         * (lisp-imenu-generic-expression): Add cl-define-compiler-macro,
1063         cl-defgeneric, and cl-defmethod.
1065 2015-12-22  Tom Tromey  <tom@tromey.com>
1067         Make a variable buffer-local
1069         * lisp/generic-x.el (generic-rul-mode-setup-function): Make
1070         font-lock-syntax-table buffer-local.  (Bug #21627)
1072 2015-12-22  Eli Zaretskii  <eliz@gnu.org>
1074         Fix decoding of text in URLs retrieved by EWW
1076         * lisp/net/eww.el (eww-render): Pass 'charset' to
1077         'eww-display-raw'.  Use the value of 'last-coding-system-used', if
1078         non-nil, to set 'buffer-file-coding-system' of the buffer where we
1079         show the URL.
1080         (eww-display-html, eww-display-raw): Decode the text correctly,
1081         using the charset found in the headers, and defaulting to UTF-8.
1082         If the user told us to use a specific encoding, override the
1083         charset from the headers.  (Bug#22222)
1085 2015-12-22  Alan Mackenzie  <acm@muc.de>
1087         Fix a coding error in c-forward-<>-arglist-recur.  Fixes bug#22156
1089         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Remove unused
1090         variable `tmp'.
1091         After a failed search for a matching ">", restore point before continuing.
1093 2015-12-22  Michael Albinus  <michael.albinus@gmx.de>
1095         Instrument Tramp tests
1097         * test/automated/tramp-tests.el (tramp-test29-vc-registered)
1098         (tramp--test-utf8): Instrument tests.
1100 2015-12-22  Martin Rudalics  <rudalics@gmx.at>
1102         Fix `display-buffer' call in `display-message-or-buffer' (Bug#22221)
1104         * lisp/simple.el (display-message-or-buffer): Call
1105         `display-buffer' with ACTION instead of NOT-THIS-WINDOW
1106         (Bug#22221).
1108 2015-12-21  Juri Linkov  <juri@linkov.net>
1110         * lisp/saveplace.el (toggle-save-place, save-place-to-alist)
1112         (save-places-to-alist, save-place-dired-hook):
1113         Check for dired-subdir-alist.  (Bug#19851)
1115 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1117         Add FIXME comment re stack overflow and modules
1119 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1121         Revert some recent emacs-module commentary
1123         Most of the recently-added commentary was incorrect, due to the
1124         possibility of stack overflow.
1126 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1128         Spelling fix: prefer "cooperate" to "co-operate"
1130 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1132         Port undo fixes to -fno-common
1134         Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'.
1135         * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo)
1136         (buffer_before_last_command_or_undo):
1137         Declare in keyboard.h, and define in keyboard.c,
1138         instead of assuming the traditional Unix relaxed ref-def linkage.
1140 2015-12-20  Philipp Stephani  <phst@google.com>
1142         Improve commentary for emacs-module.c
1144         * src/lisp.h: Document emacs-module.c assumptions about EQ and NILP.
1145         * src/emacs-module.c (module_non_local_exit_get): Document that we
1146         cannot use the current implementation.
1147         (module_is_not_nil, module_eq): Document assumptions about EQ and
1148         NILP.
1150 2015-12-20  Michael Albinus  <michael.albinus@gmx.de>
1152         Suppress test on Mac OS X
1154         * test/automated/tramp-tests.el (tramp--test-darwin-p): New defun.
1155         (tramp--test-utf8): Use it.
1157 2015-12-20  Alan Mackenzie  <acm@muc.de>
1159         Merge branch 'scratch/follow' into emacs-25
1161         This allows Isearch, etc., to work well when Follow Mode is active.
1163 2015-12-19  Michael Albinus  <michael.albinus@gmx.de>
1165         * tramp-sh.el (tramp-get-ls-command-with-w-option): Improve check.
1167 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1169         Fix last commit
1171         * doc/emacs/rmail.texi (Rmail Deletion): Document new behavior of 'u'
1172         with numeric argument.
1174 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1176         Document new features of Rmail
1178         * doc/emacs/rmail.texi (Rmail Summary Edit, Rmail Deletion):
1179         Document new behavior of 'd' and 'C-d' with numeric argument.
1180         (Rmail Display): Document the rendering of HTML MIME parts.
1182 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1184         Improve documentation of new cl-lib functions
1186         * doc/misc/cl.texi (Predicates on Numbers, Numerical Functions):
1187         Fix wording.
1189 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1191         Document the new feature of 'minibuffer-with-setup-hook'
1193         * lisp/files.el (minibuffer-with-setup-hook): Clarify how FUN is
1194         added to `minibuffer-setup-hook'.
1196 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1198         Document new features of Font Lock
1200         * doc/lispref/modes.texi (Other Font Lock Variables): Document
1201         'font-lock-flush-function' and 'font-lock-ensure-function'.
1202         (Font Lock Basics): Document the basic fontification functions
1203         referenced in "Other Font Lock Variables".
1205         * lisp/font-lock.el (font-lock-flush, font-lock-ensure): Doc fix.
1207 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1209         Document new features of Rectangle mode
1211         * doc/emacs/killing.texi (Rectangles): Document "C-x C-x" in
1212         rectangle-mark-mode.
1214 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1216         Manual followup to last change
1218         * doc/lispref/display.texi (Displaying Messages): Sync with the
1219         doc string.  (Bug#22210)
1221 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1223         Clarify doc string of 'display-message-or-buffer'
1225         * lisp/simple.el (display-message-or-buffer): Doc fix.  Suggested
1226         by Sebastian Wiesner <swiesner@lunaryorn.com>.  (Bug#22210)
1228 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1230         * doc/emacs/emacs.texi (Top): Update top-level menus.
1232         * doc/lispref/elisp.texi (Top): Update top-level menus.
1234 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1236         Document how to avoid file-local variables that aren't
1238         * doc/emacs/custom.texi (Specifying File Variables): Describe how
1239         to prevent Emacs from interpreting unrelated text as file-local
1240         variables.  (Bug#22166)
1242 2015-12-19  Dave Thomas  <dave@pragprog.org>  (tiny change)
1244         Fix a typo in eterm-color's termcap entry
1246         * lisp/term.el (term-termcap-format): Fix a typo in the "ue="
1247         entry.  (Bug#22184)
1249 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
1251         Allow 'browse-url-emacs' visit non-existent URLs
1253         * lisp/url/url-handlers.el (url-insert-file-contents): Don't
1254         signal an error if VISIT is non-nil, to more faithfully emulate
1255         the behavior of 'insert-file-contents'.  (Bug#22160)
1257 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1259         Remove SunOS 4.x cruft
1261         Support for SunOS 4.x was removed in Emacs 23 but some cruft was left behind.
1262         * lib-src/pop.c [sun]: Remove no-longer-needed include.
1263         * lwlib/xlwmenu.c (SUNSO41): Remove.
1265 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1267         Merge from gnulib
1269         This mostly commentary fixes.
1270         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
1271         * lib/gnulib.mk: Regenerate with new gnulib-tool.
1273 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
1275         Minor fixes in Tramp
1277         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
1278         Reorder ls arguments.
1280         * lisp/net/tramp.el (tramp-dissect-file-name): Fix docstring.
1282 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
1284         Make tramp a built-in package
1286         * lisp/finder.el (finder-compile-keywords): Update
1287         `package--builtins' also when Version: keyword is available.
1289         * lisp/net/trampver.el: Add Version: keyword.
1290         (tramp-version): Change it to "2.2.13.25.1", in order to be
1291         compatible with `version-to-list'.
1293 2015-12-18  Lele Gaifax  <lele@metapensiero.it>
1295         * etc/tutorials/TUTORIAL.it: Update and fix typos.
1297 2015-12-18  Alan Mackenzie  <acm@muc.de>
1299         Rename `recenter-group' to `recenter-window-group'
1301         * doc/lispref/windows.texi (Textual Scrolling)
1302         * lisp/window.el (top level, recenter-group)
1303         * lisp/follow.el (follow-mode)
1304         * lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
1305         `recenter-window-group' and `recenter-group-function' to
1306         `recenter-window-group-function'.
1308 2015-12-18  Eli Zaretskii  <eliz@gnu.org>
1310         Fix vertical-motion in tabulated-list mode
1312         * src/indent.c (Fvertical_motion): When moving from line beginning
1313         to point under line truncation, assume overshoot by one line only
1314         if point actually lies beyond the window's right margin.
1315         (Bug#22194)
1317 2015-12-18  Martin Rudalics  <rudalics@gmx.at>
1319         Don't have help functions call x-display-pixel-width/-height on ttys
1321         * lisp/help.el (temp-buffer-max-height, temp-buffer-max-width):
1322         Don't call x-display-pixel-width/-height on ttys.
1324 2015-12-17  Dmitry Gutov  <dgutov@yandex.ru>
1326         Use 'hg id' in vc-hg-previous-revision
1328         * lisp/vc/vc-hg.el (vc-hg-previous-revision):
1329         Use 'hg id' to retrieve it (bug#22032).
1331 2015-12-17  Alan Mackenzie  <acm@muc.de>
1333         * lisp/follow.el (follow-sit-for): Remove (it's redundant).
1335 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
1337         Fix a typo in the Emacs manual
1339         * doc/emacs/trouble.texi (Sending Patches): Fix a typo.  Reported
1340         by Lele Gaifax <lele@metapensiero.it>.  (Bug#22193)
1342 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
1344         Fix parsing netrc entries with ports
1346         * lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't
1347         make a list out of 't'.  (Bug#22188)
1349         * test/automated/auth-source-tests.el
1350         (auth-source-test-netrc-parse-entry): New test.
1352 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1354         Fix typo in Doug Lea malloc configure log
1356         * configure.ac (emacs_cv_var_doug_lea_malloc):
1357         Fix typo that confused the log output of 'configure'.
1359 2015-12-16  Nicolas Petton  <nicolas@petton.fr>
1361         * etc/NEWS: Mention the new pcase patterns `seq' and `map'.
1363 2015-12-16  Alan Mackenzie  <acm@muc.de>
1365         * etc/NEWS: Move entry on pcase to correct section
1367         (Accidentally omitted from previous commit)
1369 2015-12-16  Alan Mackenzie  <acm@muc.de>
1371         Add documentation for changes to Show Paren mode.
1373         * lisp/paren.el (show-paren-highlight-openparen): Enhance doc string.
1375         * doc/emacs/programs.texi (Matching): Add descriptions of some pertinent user
1376         options, including the new show-paren-when-point-inside-paren and
1377         show-paren-when-point-in-periphery.
1379         * etc/NEWS (.. Specialized Modes ...): Add an entry for Show Paren mode.
1380         Move an entry on pcase to the Lisp Changes section.
1382 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
1384         Document Eldoc changes
1386         * doc/emacs/programs.texi (Lisp Doc): Document Global Eldoc mode.
1388 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
1390         Fix invocation of Python and Guile interpreters from gdb-mi
1392         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
1393         commands for interactive Python and Guile interpreters.
1394         (gdb-send): Recognize various ways of exiting from Python and
1395         Guile interpreters and returning to GDB.  For details, see
1396         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00693.html
1397         and http://stackoverflow.com/questions/31514741.
1399 2015-12-16  Paul Eggert  <eggert@cs.ucla.edu>
1401         Remove attempt to use C11 threads
1403         C11 threads are not needed for Emacs now, and their use is causing
1404         hassles on FreeBSD 10.x.  Problem reported by Ashish SHUKLA in:
1405         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html
1406         * configure.ac: Do not check for C11 threads. Remove unnecessary
1407         fiddling with CPPFLAGS when configuring pthreads.
1408         * src/emacs-module.c (main_thread, check_main_thread)
1409         (module_init): Do not worry about C11 threads.
1411 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
1413         Set utf8 encoding with stty in Tramp
1415         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1416         Move up uname check.  Handle Mac OS X eol encoding.  Set utf8
1417         encoding with stty.
1419 2015-12-15  Alan Mackenzie  <acm@muc.de>
1421         Tidy up documentation associated with window groups.
1423         * doc/lispref/windows.texi (Basic Windows): Add an @anchor for "Window
1424         Groups".  Correct example function to `window-group-start'.
1425         (Window Start and End, Textual scrolling): Point to the new anchor.  State
1426         that (most of) the args in window group functions have the same meaning as for
1427         the corresponding window primitives.
1429         * doc/lispref/positions.texi (Screen Lines).  Same as above.
1431 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
1433         Complete last commit
1435         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1436         Move uname check up.  Handle Mac OS X eol encoding.
1438 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
1440         Handle Mac OS X eol encoding in Tramp
1442         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1443         Handle Mac OS X eol encoding.
1445 2015-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1447         Fix variable name typo in compute_tip_xy
1449         * src/w32fns.c (compute_tip_xy):
1450         * src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y
1451         when `right' is integer.
1453 2015-12-14  foudfou  <foudil.newbie+git@gmail.com>
1455         * lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region.
1457 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
1459         Revert "Fix rx matcher overflow without limiting"
1461         This reverts commit fe27e037663d36be3e5741c2ce86ab4ee8017db1.
1463 2015-12-14  Alan Mackenzie  <acm@muc.de>
1465         Ispell: Bind isearch-regexp-function to nil around call to isearch..-new-loop
1467         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): bind
1468         isearch-regexp-function to nil around call to isearch-lazy-highligh-new-loop.
1470 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
1472         Fix rx matcher overflow without limiting
1474         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve last
1475         change to the regexp without imposing a limit on the length of the
1476         options.
1478 2015-12-14  Alan Mackenzie  <acm@muc.de>
1480         Enhance ispell-skip-region-alist by generating part of it at runtime.
1482         * lisp/textmodes/ispell.el (ispell--\\w-filter, ispell--make-\\w-expression)
1483         (ispell--make-filename-or-URL-re): New functions which generate a regexp.
1484         (ispell-skip-region-alist): Remove the bit that matches a filename/URL, etc.
1485         (ispell-begin-skip-region-regexp, ispell-skip-region-list, ispell-message):
1486         Include the result of ispell--make-filename-or-URL-re in regexps.
1488 2015-12-14  Glenn Morris  <rgm@gnu.org>
1490         * build-aux/gitlog-to-emacslog: Ignore more pointless merge commits.
1492 2015-12-14  Alan Mackenzie  <acm@muc.de>
1494         Replace GROUP argument in six window primitives by new functions.
1496         * doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
1497         * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
1498         from description of six window functions.  Add in description of new functions
1499         window-group-start, window-group-end, set-window-group-start,
1500         pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
1501         together with the six variables indirecting to the pertinent group
1502         functions.
1504         * src/window.c
1505         * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
1506         applies to these two files, which added the GROUP argument to six window
1507         primitives.
1509         * lisp/follow.el (follow-mode): Use updated variable names for the indirected
1510         functions.
1512         * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
1513         (isearch-back-into-window, isearch-lazy-highlight-new-loop)
1514         (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
1515         to window primitives (e.g. window-start) with a GROUP argument by calls to
1516         new functions (e.g. window-group-start).
1518         * lisp/ispell.el (ispell-command-loop): Replace call to
1519         pos-visible-in-window-p with pos-visible-in-window-group-p.
1521         * lisp/window.el (window-group-start, window-group-end)
1522         (set-window-group-start, recenter-group, pos-visible-in-window-group-p)
1523         (selected-window-group, move-to-window-group-line): New functions.
1524         (window-group-start-function, window-group-end-function)
1525         (set-window-group-start-function, recenter-group-function)
1526         (pos-visible-in-window-group-p-function, selected-window-group-function)
1527         (move-to-window-group-line-function): New variables.
1529 2015-12-14  Vitorio Miguel  <vdrbandeiras@gmail.com>  (tiny change)
1531         * etc/tutorials/TUTORIAL.pt_BR: Fix a typo.  (Bug#22165)
1533 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
1535         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
1537 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
1539         Improve regex to not trigger stack overflow
1541         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve regex in
1542         order not to trigger a stack overflow in regex matcher with unbalanced
1543         brackets (bug#22146).
1545 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
1547         Fix visiting files with raw-text
1549         * src/fileio.c (Finsert_file_contents): Fix setting buffer unibyte
1550         when some stuff was actually read.  (Bug#22162)
1552 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
1554         Fix regex matching keyval labels
1556         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Fix regexp
1557         matching keyval labels.
1559 2015-12-13  Michael Albinus  <michael.albinus@gmx.de>
1561         * lisp/ido.el (ido-file-name-all-completions-1): Do not raise an error
1563         ... in case of Tramp.  (Bug#20821)
1565 2015-12-12  Paul Eggert  <eggert@cs.ucla.edu>
1567         Fix performance regression with gcc -O0
1569         This fixes the smaller performance hit that I noted in:
1570         https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00357.html
1571         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, macro_XPNTR):
1572         * src/puresize.h (puresize_h_PURE_P)
1573         (puresize_h_CHECK_IMPURE):
1574         New macros, with the old contents of the functions.
1575         * src/alloc.c (XPNTR_OR_SYMBOL_OFFSET, XPNTR):
1576         * src/puresize.h (PURE_P, CHECK_IMPURE):
1577         Use the new macros.  Also macros, if DEFINE_KEY_OPS_AS_MACROS.
1578         * src/conf_post.h (ATTRIBUTE_UNUSED):
1579         * src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): New macros.
1581 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
1583         * lisp/emacs-lisp/package.el (package-unpack): Security check
1585         Check that we received the package we were offered.
1587 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
1589         * lisp/emacs-lisp/package.el (package--compile): Don't activate
1591         `package-unpack' takes care of all activations now (other than
1592         `package-initialize).  `package--compile' now only compiles.
1594 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1596         Document the new bindings of <UP> and <DOWN> in the minibuffer
1598         * doc/emacs/mini.texi (Minibuffer History): Describe the new
1599         bindings of <UP> and <DOWN> in the minibuffer.
1601 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1603         Document new features of Ido
1605         * doc/misc/ido.texi (Misc): Document 'C-S-b'.
1607 2015-12-12  Martin Rudalics  <rudalics@gmx.at>
1609         Fix frame height calculations with added menu bar on Windows (Bug#22105)
1611         * doc/lispref/frames.texi (Parameter Access): Mention pitfalls
1612         when simultaneously specifying multiple parameters for
1613         `modify-frame-parameters' that all may change the frame's size.
1614         * src/w32fns.c (x_set_menu_bar_lines): Don't set
1615         windows_or_buffers_changed here.
1616         (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect
1617         with third argument false.
1618         * src/w32menu.c (set_frame_menubar): Set
1619         windows_or_buffers_changed here.
1620         * src/w32term.c (x_set_window_size): Determine third argument of
1621         AdjustWindowRect from whether the frame has a menu bar and not
1622         from whether it wants one.
1624 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1626         Document the change in interactive shell mode
1628         * doc/emacs/misc.texi (Interactive Shell): Document that the
1629         '*shell*' buffer by default displays in a new window.
1631 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1633         Document new features of package.el
1635         * doc/emacs/package.texi (Package Menu): Document the 'external'
1636         status and the new menu commands.
1637         (Package Installation): Document archive priorities.
1639         * lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
1640         (package-menu-hide-low-priority): Doc fix.
1642 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1644         Update and document new features of xterm support
1646         * doc/emacs/frames.texi (Text-Only Mouse): Document that
1647         track-mouse is supported by newer xterm versions.
1649 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1651         Document new features of Prettify Mode
1653         * doc/emacs/programs.texi (Misc for Programs): Document
1654         'prettify-symbols-compose-predicate' and
1655         'prettify-symbols-unprettify-at-point'.
1657         * lisp/progmodes/prog-mode.el (prettify-symbols-alist)
1658         (prettify-symbols-default-compose-p)
1659         (prettify-symbols-compose-predicate)
1660         (prettify-symbols--compose-symbol): Doc fixes.
1662 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1664         Document multi-mode indentation facilities
1666         * doc/lispref/text.texi (Mode-Specific Indent): Document
1667         'prog-indentation-context', 'prog-first-column', and 'prog-widen'.
1669         * lisp/progmodes/prog-mode.el (prog-indentation-context)
1670         (prog-widen): Doc fixes.
1672 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1674         Document 'vc-refresh-state'
1676         * doc/emacs/maintaining.texi (Version Control): Document
1677         'vc-refresh-state'.
1679         * lisp/vc/vc-hooks.el (vc-refresh-state): Doc fix.
1681 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
1683         Fix echo for "C-u"
1685         * src/keyboard.c (command_loop_1): Undo last change.  It caused
1686         duplicate echo of C-u.  (Bug#22107)
1688 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1690         Avoid errors when creating files under SVN in new directory
1692         * lisp/vc/vc-svn.el (vc-svn-registered): Use
1693         file-accessible-directory-p, to avoid cd'ing to a non-existing
1694         directory, which signals an error on some systems.  (Bug#21984)
1695         (vc-svn-checkin): Call log-edit-extract-headers with 2 arguments.
1696         Use declare-function to avoid byte-compiler warnings.
1698 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1700         Improve Lua support in etags
1702         * lib-src/etags.c (Lua_functions): Skip spaces before looking for
1703         "function".
1705         * etc/NEWS: Mention improved Lua support by 'etags'.
1707         * test/etags/lua-src/test.lua (test): Add tests for indented
1708         function definitions.
1709         * test/etags/ETAGS.good_1:
1710         * test/etags/ETAGS.good_2:
1711         * test/etags/ETAGS.good_3:
1712         * test/etags/ETAGS.good_4:
1713         * test/etags/ETAGS.good_5:
1714         * test/etags/ETAGS.good_6:
1715         * test/etags/CTAGS.good: Adapt to the modified Lua tests.
1717 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1719         Fix 'this-command-keys' wrt prefix argument
1721         * src/keyboard.c (command_loop_1): Restore the feature whereby C-u
1722         was part of this-command-keys, but not of this-single-command-keys.
1723         (Bug#22107)
1725         * lisp/simple.el (internal-echo-keystrokes-prefix): Add
1726         commentary about the function's return value.
1728 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1730         * lisp/files.el (load-library): Doc fix.  (Bug#22140)
1732 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1734         Improve and document Ruby support in 'etags'
1736         * lib-src/etags.c (Ruby_suffixes): Add ".ruby".
1737         (Ruby_functions): Support "module" and overloaded operators.
1738         (Ruby_help): Mention "module".
1740         * test/etags/ruby-src/test.rb:
1741         * test/etags/ruby-src/test1.ruby: New files.
1742         * test/etags/Makefile (RBSRC): New tests.
1743         (SRCS): Add ${RBSRC}.
1744         * test/etags/ETAGS.good_1:
1745         * test/etags/ETAGS.good_2:
1746         * test/etags/ETAGS.good_3:
1747         * test/etags/ETAGS.good_4:
1748         * test/etags/ETAGS.good_5:
1749         * test/etags/ETAGS.good_6:
1750         * test/etags/CTAGS.good: Adapt to the new Ruby tests.
1752         * doc/man/etags.1: Mention Ruby support.
1753         * etc/NEWS: Mention Ruby support.
1755 2015-12-11  Xi Lu  <lx@shellcodes.org>
1757         Initial support for Ruby in 'etags'
1759         * lib-src/etags.c <Ruby_suffixes>: New variable.
1760         (lang_names): Add an entry for Ruby.
1761         (Ruby_functions): New function.  (Bug#22116)
1763 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1765         Clarify documentation of 'modify-frame-parameters'
1767         * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
1768         PARMs" mean for 'modify-frame-parameters'.
1770         * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
1771         PARMs" mean for this function.  (Bug#22104)
1773 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1775         Fix setting buffer unibyte when reading from a device
1777         * src/fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1778         to make a (possibly non-empty) buffer unibyte.  (Bug#22096)
1780 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
1782         Clarify documentation of 'values'
1784         * doc/lispref/eval.texi (Eval): Clarify that 'values' are not
1785         updated by any evaluation commands in 'lisp-interaction-mode'.
1786         (Bug#22056)
1788 2015-12-11  Anders Lindgren  <andlind@gmail.com>
1790         Fixed subversion vc error when opening file in new directory (bug#21984).
1792         * lisp/vc/vc-svn.el (vc-svn-registered): Check if directory exists.
1794 2015-12-09  Eli Zaretskii  <eliz@gnu.org>
1796         Yet another fix for when point ends up in invisible text
1798         * src/xdisp.c (redisplay_window): When someone forced
1799         window-start, and honoring that failed to show the cursor, try
1800         moving out of invisible text, before falling back to the middle of
1801         the window.  (Bug#22098)
1803 2015-12-09  Michael Albinus  <michael.albinus@gmx.de>
1805         Fix error in Tramp perl script for cygwin
1807         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not raise an
1808         error if file doesn't exist.
1810 2015-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1812         Remove font workaround for limited outdated versions
1814         * src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove
1815         workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1.
1817 2015-12-09  Anders Lindgren  <andlind@gmail.com>
1819         Don't add "." to load path (bug#21104)
1821         When configured with --enable-locallisppath=no, which is the
1822         default for OS X, the load-path incorrectly was populated with ".".
1824         * src/lread.c (init_lread): Don't call `decode_env_path' when
1825         PATH_SITELOADSEARCH is empty.
1827 2015-12-08  Artur Malabarba  <bruce.connor.am@gmail.com>
1829         * lisp/emacs-lisp/package.el (package--with-response-buffer):
1831         Search for the blank-line in the right buffer.
1833 2015-12-08  Glenn Morris  <rgm@gnu.org>
1835         * test/automated/simple-test.el (undo-auto-boundary-timer): Update
1836         for recent change.
1838 2015-12-08  Glenn Morris  <rgm@gnu.org>
1840         Fix some display-warning usage.
1842         * lisp/files.el (hack-local-variables, hack-dir-local-variables):
1843         * lisp/calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
1844         * lisp/calendar/holidays.el (calendar-holiday-list):
1845         * lisp/mail/rmailout.el (rmail-output-read-file-name):
1846         Fix display-warning usage.
1848 2015-12-07  Glenn Morris  <rgm@gnu.org>
1850         * lisp/calendar/cal-html.el: Require diary-lib.
1852         (cal-html-list-diary-entries): Handle no diary.  (Bug#21994)
1854 2015-12-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
1856         Add Obsolete-since header to eudcb-ph.el
1858         * eudcb-ph.el: Add Obsolete-since header.
1860 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1862         Spelling fixes
1864         * doc/misc/calc.texi (Predefined Units): Use the bland modern
1865         scientific style for spelling the units “ampere” and
1866         “angstrom” rather than the older style “Ampere” and
1867         “Ångstrom”.  The latter spelling was wrong anyway (it should
1868         have been “Ångström”).
1869         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
1870         Fix misspelling of ‘atom’ in code.
1872 2015-12-07  Eli Zaretskii  <eliz@gnu.org>
1874         Improve documentation of kill commands
1876         * lisp/simple.el (region-extract-function, delete-backward-char)
1877         (delete-forward-char, kill-region, copy-region-as-kill)
1878         (kill-ring-save): Better document the optional argument REGION in
1879         the doc strings.  Mention in the doc strings that text put in the
1880         kill-ring can be filtered by 'filter-buffer-substring'.
1882         * doc/lispref/text.texi (Kill Functions): Mention that functions
1883         described in this subsection can filter text they put in the
1884         kill-ring.  Add a cross-reference to "Buffer Contents" and an
1885         index entry.  Document the optional argument 'region' and its
1886         effect.
1887         (Bug#21315)
1889 2015-12-07  Alan Mackenzie  <acm@muc.de>
1891         Further progress making Isearch, Ispell, Replace work with Follow Mode.
1893         * lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which
1894         no longer exists.  Add follow-post-command-hook to  three special purpose
1895         hooks at setup, and remove them at tear down.
1897         * lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before
1898         isearch-lazy-highlight-new-loop.
1899         (isearch-lazy-highlight-new-loop): Restore this function to what it previously
1900         was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into
1901         it.
1902         (isearch-lazy-highlight-maybe-new-loop): function removed.
1904         * lisp/replace.el: (replace-update-post-hook): New hook variable.
1905         (perform-replace): Add second (nil) argument to looking-back.  Invoke
1906         replace-update-post-hook before calling replace-highlight.
1908         * lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable.
1909         (ispell-command-loop): invoke ispell-update-post-hook.  Add GROUP argument to
1910         call of pos-visible-in-window-p.
1911         (ispell-display-buffer): Place *Choices* window at the top of the last window
1912         in a window group.
1914 2015-12-07  Alan Mackenzie  <acm@muc.de>
1916         Amend doc of `mapconcat': it can take sequences, not merely strings.
1918         * doc/lispref/functions.texi (Mapping Functions): Amend the doc of `mapconcat'
1919         to say that SEPARATOR and the results from FUNCTION may be any character
1920         sequences, not just strings.  Add an @xref to "Sequences Arrays Vectors".
1922 2015-12-07  Michael Albinus  <michael.albinus@gmx.de>
1924         Fix an utf8 problem for Tramp on BSD
1926         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
1927         Make lax check for utf8.
1928         (tramp-get-remote-locale): Add "en_US.UTF-8" as candidate.
1930 2015-12-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
1932         Make eudcb-ph.el obsolete
1934         * doc/misc/eudc.texi: Bump version to 1.40.0.
1935         Remove PH/QI sections and mentions.
1936         * lisp/obsolete/eudcb-ph.el: Make obsolete.
1937         * lisp/net/eudc-vars.el (eudc-known-protocols): Remove ph.
1938         (eudc-ph-bbdb-conversion-alist): Make obsolete.
1939         * etc/NEWS: Mention this.  (Bug#21191)
1941 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1943         Remove overenthusiastic eassert
1945         * src/lisp.h (XSYMBOL): Remove eassert incorrectly added in
1946         previous change.  It breaks on MS-Windows --with-wide-int.
1947         Problem reported by Eli Zaretskii in:
1948         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00275.html
1950 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1952         Pacify gcc -Wparentheses
1954         * src/xdisp.c (row_containing_pos): Reparenthesize.
1956 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1958         Port mod-test to 32-bit Emacs --without-wide-int
1960         * modules/mod-test/test.el (mod-test-sum-test):
1961         Bring back the 2**29 tests, but port them to 32-bit Emacs
1962         --without-wide-int.
1964 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
1966         Fix minor Tramp problems found on BSD
1968         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
1969         trailing slash.  Quote apostrophes.
1970         (tramp-sh-handle-file-truename): Do not append trailing slash in
1971         the "ls" case.
1972         (tramp-get-ls-command-with-w-option): New defun.
1973         (tramp-do-file-attributes-with-ls)
1974         (tramp-do-directory-files-and-attributes-with-stat): Use it.
1976         * test/automated/tramp-tests.el
1977         (tramp-test31-special-characters-with-perl)
1978         (tramp-test31-special-characters-with-ls)
1979         (tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
1980         Suppress also readlink.
1982 2015-12-06  Eli Zaretskii  <eliz@gnu.org>
1984         Fix cursor display when invisible text is at line beginning
1986         * src/xdisp.c (redisplay_window): When scrolling fails to show
1987         point, prefer using the desired matrix if possible for finding the
1988         fallback glyph row for displaying the cursor.  (Bug#22098)
1989         (row_containing_pos): Exit the loop as soon as we hit the first
1990         disabled glyph row.  Otherwise we risk accessing garbled data and
1991         departing to the no-no land.
1993 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1995         Improve module interface when WIDE_EMACS_INT
1997         * src/emacs-module.c (plain_values): New constant.
1998         (module_nil): Now a constant.
1999         (Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits)
2000         (syms_of_module): Use if, not #ifdef, so that both sides are
2001         checked at compile-time, and so that GCC doesn’t complain
2002         about an unused var in the typical case.  Also, depend on
2003         plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume
2004         that WIDE_EMACS_INT implies !USE_LSB_TAG.
2005         (value_to_lisp_bits, lisp_to_value_bits): New functions.
2006         Sign-extend integers rather than zero-extending them, as small
2007         negative integers are more likely.
2008         (value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits
2009         functions.
2010         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined.
2011         (mark_modules): Remove.  All uses removed.
2012         (lisp_to_value): Don’t assume Fcons returns a pointer aligned
2013         to GCALIGNMENT.
2014         (syms_of_module): Check that module_nil converts to Qnil.
2015         * src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since
2016         we prefer signed to unsigned when either will do.
2017         (TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is
2018         a bit better for emacs-module.c.
2020 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
2022         Port mod-test to x86-64 GNU/Linux running 32-bit
2024         * modules/mod-test/test.el (mod-test-sum-test):
2025         Don’t attempt to match descriptions to operating systems.
2026         It didn’t work on Fedora x86-64 running a 32-bit executable,
2027         and it’s not worth the trouble anyway.
2028         Port to 32-bit platforms by removing an assumption about
2029         fixnum widths.
2031 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
2033         Fix auto-revert-tests.el when filenotify isn't used
2035         * test/automated/auto-revert-tests.el (auto-revert--wait-for-revert):
2036         Make it working also when filenotify isn't used.
2038 2015-12-05  Juri Linkov  <juri@linkov.net>
2040         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
2042         Let-bind isearch-regexp-function to nil.  (Bug#22097)
2044 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
2046         * lisp/emacs-lisp/package.el: Don't install bad signatures (bug#22089)
2048         (package--with-response-buffer): NOERROR and ERROR-FORM only
2049         handle connection errors.
2050         (bad-signature): New error type.
2051         (package--check-signature-content): Use it.
2052         (package--check-signature): Properly distinguish connection errors
2053         from bad-signature errors.  Do the check for
2054         `package-check-signature' `allow-unsigned' here instead of forcing
2055         the callbacks to do it.  Add a new argument, UNWIND.
2056         (package--download-one-archive, package-install-from-archive):
2057         Update usage of `package--check-signature'.
2059 2015-12-05  Ulf Jasper  <ulf.jasper@web.de>
2061         Fix Bug#22092.
2063         * lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
2064           Clean up inconsistent line endings. (Bug#22092)
2065           (icalendar--clean-up-line-endings): New.
2066         * test/automated/icalendar-tests.el (icalendar-real-world): Add test
2067           for Bug#22092.
2069 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
2071         Document 'bookmark-set-no-overwrite'
2073         * doc/emacs/regs.texi (Bookmarks): Document the new command
2074         'bookmark-set-no-overwrite' and its keybinding.
2076 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
2078         Document new binding of 'mouse-buffer-menu'
2080         * doc/emacs/buffers.texi (Buffer Menus): 'mouse-buffer-menu' is
2081         now also on C-F10.
2083 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
2085         Initial documentation of dynamic modules
2087         * doc/lispref/loading.texi (Dynamic Modules): New section with
2088         initial documentation for dynamic modules.
2089         * doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the
2090         detailed menu
2092         * etc/NEWS: Fix typos in dynamic modules' entry.
2094 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
2096         Remove copyright statements from trivial test files
2098 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
2100         Add "Preliminaries" section to etc/DEBUG
2102         * etc/DEBUG: Add the "Preliminaries" section for GDB beginners.
2103         Most of the content was suggested by Phillip Lord
2104         <phillip.lord@russet.org.uk>.  Remove the section about debugging
2105         with the Visual Studio, as building Emacs with the Microsoft
2106         compilers is no longer supported.  Minor fixes in some other
2107         sections.
2109 2015-12-05  Alex Dunn  <dunn.alex@gmail.com>  (tiny change)
2111         Improve parsing of version strings
2113         * lisp/subr.el (version-regexp-alist): Allow "." as priority separator
2114         (version-to-list): More helpful error messages.
2115         (version-to-list): ".5" is valid (update docstring).  Make
2116         "22.8X3" invalid, as the doc string says.
2118         * test/automated/subr-tests.el (ert-test-version-parsing): New
2119         tests for version string processing.
2121 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
2123         Fix documentation of 'undo' changes
2125         * doc/lispref/text.texi (Undo): Minor wording changes.  Use US
2126         English conventions for spelling and whitespace between sentences.
2128         * etc/NEWS: Fix wording and spelling of undo-related entries.
2129         Mark them as documented.
2131 2015-12-04  Glenn Morris  <rgm@gnu.org>
2133         * lisp/net/net-utils.el: Small improvements.
2135         (net-utils--executable-find-sbin): New function.
2136         (ifconfig-program): Check sbin directories.
2137         Fallback to "ip".  (Bug#22091)
2138         (ifconfig-program-options): Check the actual program in use.
2139         (arp-program): Check sbin directories.
2141 2015-12-04  (tiny change) Arash Esbati  <esbati@gmx.de>  (tiny change)
2143         Fix wrong-type-argument integer-or-marker-p nil error
2145         * lisp/textmodes/reftex-auc.el (reftex-what-index-tag):
2146         Fix (wrong-type-argument integer-or-marker-p nil) error (bug#22077).
2148 2015-12-04  Alan Mackenzie  <acm@muc.de>
2150         Merge branch 'scratch/follow' of /home/acm/emacs/emacs.git/emacs-25 into scratch/follow
2152         Merge necessitated by a rebase operation.
2154 2015-12-04  Alan Mackenzie  <acm@muc.de>
2156         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
2158 2015-12-04  Alan Mackenzie  <acm@muc.de>
2160         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
2162         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
2163         Windows" and new @defun selected-window-group.
2164         (Window Start and End): Describe new &optional parameter GROUP and
2165         ...-group-function for window-start, window-end, set-window-start, and
2166         pos-visible-in-window-p.
2167         (Textual Scrolling) Describe the same for recenter.
2168         doc/lispref/positions.texi (Screen Lines): Describe the same for
2169         move-to-window-line.
2171         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
2172         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
2173         new optional parameter "group".  At the beginning of each, check whether the
2174         corresponding ...-group-function is set to a function, and if so execute this
2175         function in place of the normal processing.
2176         (syms_of_window): Define symbols for the six new variables below.
2177         (window-start-group-function, window-end-group-function)
2178         (set-window-start-group-function, recenter-group-function)
2179         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
2180         New permanent local buffer local variables.
2181         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
2182         Fpos_visible_in_window_p.
2184         lisp/window.el (selected-window-group-function): New permanent local buffer
2185         local variable.
2186         (selected-window-group): New function.
2188         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
2189         enable, kill them at mode disable.  Add/remove follow-after-change to/from
2190         after-change-functions.
2191         (follow-start-end-invalid): New variable.
2192         (follow-redisplay): Manipulate follow-start-end-invalid.
2193         (follow-after-change, follow-window-start, follow-window-end)
2194         (follow-set-window-start, follow-pos-visible-in-window-p)
2195         (follow-move-to-window-line, follow-sit-for): New functions.
2197         lisp/isearch.el (isearch-call-message): New macro.
2198         (isearch-update, with-isearch-suspended, isearch-del-char)
2199         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
2200         (with-isearch-suspended): Rearrange code such that isearch-call-message is
2201         invoked before point is moved.
2202         (isearch-message): Add comment about where point must be at function call.
2203         (isearch-search): Remove call to isearch-message.
2204         (isearch-lazy-highlight-window-group): New variable.
2205         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
2206         the battery of tests to ...
2207         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
2208         Note: (sit-for 0) is still called.
2209         (isearch-lazy-highlight-update): Check membership of
2210         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
2211         property.
2212         (isearch-update, isearch-done, isearch-string-out-of-window)
2213         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
2214         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
2215         (isearch-lazy-highlight-update): Call the six amended primitives (see
2216         src/window.c above) with the new `group' argument set to t, to cooperate
2217         with Follow Mode.
2219 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
2221         * lisp/emacs-lisp/ert.el: Prefer pcase over cl-typecase
2223         * lisp/emacs-lisp/ert.el (ert--should-error-handle-error)
2224         (ert--explain-format-atom, ert--explain-equal-rec)
2225         (ert--print-backtrace, ert-test-result-type-p, ert-select-tests)
2226         (ert--insert-human-readable-selector): Prefer pcase over cl-typecase.
2228 2015-12-04  Artur Malabarba  <bruce.connor.am@gmail.com>
2230         * lisp/character-fold.el: Remove special case-folding support
2232         (character-fold-to-regexp): Remove special code for
2233         case-folding.  Char-fold search still respects the
2234         `case-fold-search' variable (i.e., f matches F).  This only
2235         removes the code that was added to ensure that f also matched
2236         all chars that F matched.  For instance, after this commit, f
2237         no longer matches 𝔽.
2239         This was necessary because the logic created a regexp with
2240         2^(length of the string) redundant paths.  So, when a very
2241         long string "almost" matched, Emacs took a very long time to
2242         figure out that it didn't.  This became particularly relevant
2243         because isearch's lazy-highlight does a search bounded by (1-
2244         match-end) (which, in most circumstances, is a search that
2245         almost matches).  A recipe for this can be found in bug#22090.
2247 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
2249         * lisp/emacs-lisp/cl-macs.el (character): Can't be negative
2251         Fixes (bug#21701)
2253 2015-12-04  Daiki Ueno  <ueno@gnu.org>
2255         lisp/gnus/qp.el: Don't replace "from " at bol
2257         * lisp/gnus/qp.el (quoted-printable-encode-region): Bind `case-fold-search'
2258         to nil when looking for "^From ".  Problem reported by Simon Josefsson.
2260 2015-12-03  Phillip Lord  <phillip.lord@russet.org.uk>
2262         Externalize some symbols in undo-auto
2264          * doc/lispref/text.texi: Update symbols.
2265          * lisp/simple.el (undo-auto--amalgamate,
2266            undo-auto--current-boundary-timer): Make symbols public.
2267          * src/cmds.c (Fself_insert_command,Fdelete_char): Call
2268            updated symbol.
2270 2015-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
2272         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix BOB "token"
2274 2015-12-03  Michael Albinus  <michael.albinus@gmx.de>
2276         Some error message improvements in tramp-sh.el
2278         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
2279         Suppress error messages for "mesg" and "biff" calls.
2280         (tramp-get-remote-path): Ignore errors when expanding
2281         `tramp-own-remote-path'.  Raise a warning instead.
2283 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2285         Document 'nacl' value for 'system-type'
2287         * doc/lispref/os.texi (System Environment): Document the 'nacl'
2288         value of 'system-type'.
2290 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2292         Document 'window-max-chars-per-line'
2294         * doc/lispref/windows.texi (Window Sizes): Document
2295         'window-max-chars-per-line'.
2297 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
2299         Fix some file headers for the purpose of `package--builtins'
2301         * lisp/emacs-lisp/cl-preloaded.el
2302         * lisp/emacs-lisp/eieio-compat.el
2303         * lisp/net/sasl-scram-rfc.el: Add a "Package:" header
2305         * lisp/ielm.el: Fix summary line.
2307 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
2309         * lisp/emacs-lisp/package.el (package-unpack): Load before compiling
2311         Reload any previously loaded package files before compiling
2312         the package (also reload the same files after compiling).
2313         This ensures that we have the most recent definitions during
2314         compilation, and avoids generating bad elc files when a macro
2315         changes and it is used in a different file from the one it's
2316         defined in.
2318 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
2320         * lisp/emacs-lisp/package.el: Refactor package activation code
2322         (package-activate): Move code that activates dependencies into
2323         package-activate-1.
2324         (package--load-files-for-activation): New function.
2325         (package-activate-1): Add code for (optionally) activating
2326         dependencies, and move file-loading code into
2327         `package--load-files-for-activation'.
2329 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2331         Document new font-related functionality
2333         * doc/lispref/display.texi (Low-Level Font): Document
2334         'default-font-width', 'default-font-height', 'window-font-width',
2335         and 'window-font-height'.
2337         * etc/NEWS: Move entries for 'default-font-width',
2338         'default-font-height', 'window-font-width', and 'window-font-height'
2339         to their place and mark them documented.
2341 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
2343         Fix documentation and implementation of 'directory-name-p'
2345         * lisp/files.el (directory-name-p): Modify to recognize
2346         backslashes on MS-Windows and MS-DOS.  Adjust the doc string
2347         accordingly.  Use '=', not char-equal, for comparison, as
2348         letter-case cannot possibly be an issue here.
2350         * doc/lispref/files.texi (Directory Names): Move the documentation
2351         of directory-name-p here from "Relative File Names".  Update the
2352         description per the changes in implementation.
2354         * etc/NEWS: Move the entry for 'directory-name-p' to its proper
2355         place and mark it documented.
2357 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
2359         Minor copyedit in Emacs manual
2361         * doc/emacs/search.texi (Lax Search): Make wording about character
2362         folding by default less definitive.  (Bug#22043)
2364 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
2366         More emacs-module.c fixes for wide ints
2368         * src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
2369         unsigned data types to manipulate pointers, to avoid sign
2370         extension coming after us with a vengeance.
2372         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
2373         Emacs with wide ints that verify integer values near the critical
2374         value that requires us to switch to a cons cell.
2376 2015-12-02  Stephen Leake  <stephen_leake@stephe-leake.org>
2378         Fix bug#22069 in cl-generic.el
2380         * lisp/emacs-lisp/cl-generic.el (cl-no-method): Remove %S; this string is
2381         not run thru `format'.
2383 2015-12-01  Dmitry Gutov  <dgutov@yandex.ru>
2385         APPEND etags--xref-backend to xref-backend-functions
2387         * lisp/progmodes/xref.el (xref-backend-functions):
2388         Use APPEND when adding the default element
2389         (http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00061.html).
2391 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2393         More accurate documentation of lax whitespace matching
2395         * lisp/isearch.el (isearch-forward-word, isearch-forward-symbol)
2396         (word-search-backward, word-search-forward)
2397         (word-search-backward-lax, word-search-forward-lax): Mention in
2398         doc strings that toggling lax whitespace matching has no effect on
2399         these commands.
2401         * doc/emacs/search.texi (Word Search, Symbol Search): Clarify that
2402         lax whitespace matching has no effect on these commands.
2404 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2406         Fix emacs-module.c for wide ints
2408         * src/emacs-module.c (lisp_to_value): Compare the produced value
2409         with the original Lisp object, not with the one potentially
2410         converted into a Lisp_Cons.  Fixes assertion violations when
2411         working with integers larger than fit into a 32-bit value.
2413         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
2414         large integers, to test --with-wide-int.
2416 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2418         Document 'directory-files-recursively'
2420         * lisp/files.el (directory-files-recursively): Doc fix.  Rename
2421         the argument MATCH to REGEXP, to be more explicit about its form.
2423         * doc/lispref/files.texi (Contents of Directories): Improve the
2424         documentation of 'directory-files-recursively'.  Add
2425         cross-references.
2427         * etc/NEWS: Move the entry for 'directory-files-recursively' to
2428         its place and mark it documented.
2430 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
2432         Document 'inhibit-read-only' property
2434         * doc/lispref/text.texi (Special Properties): Describe the new
2435         'inhibit-read-only' text property.  Add cross-reference to where
2436         read-only buffers are described.
2437         * doc/lispref/buffers.texi (Read Only Buffers): Mention that
2438         'inhibit-read-only' property exempts text from being read-only.
2439         Add cross-reference to "Special Properties".
2441         * etc/NEWS: Move the entry about 'inhibit-read-only' property to
2442         its place and mark it documented.
2444 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
2446         * lisp/emacs-lisp/package.el: Update header comments
2448 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
2450         * lisp/character-fold.el: Add back multi-char matching
2452         (character-fold-to-regexp): Uncomment recently commented code
2453         and make the algorithm "dummer" by not checking every possible
2454         combination.  This will miss some possible matches, but it
2455         greatly reduces regexp size.
2457         * test/automated/character-fold-tests.el
2458         (character-fold--test-fold-to-regexp): Comment out test of
2459         functionality no longer supported.
2461 2015-12-01  Xue Fuqiao  <xfq.free@gmail.com>
2463         * doc/emacs/ack.texi (Acknowledgments): Update.
2465 2015-12-01  Michael Albinus  <michael.albinus@gmx.de>
2467         Check `file-remote-p' over absolute files names in files.el
2469         * lisp/files.el (directory-files-recursively)
2470         (get-free-disk-space): Check `file-remote-p' over absolute files names.
2472 2015-12-01  Andreas Schwab  <schwab@linux-m68k.org>
2474                 * src/lread.c (syms_of_lread): Doc fix.
2476 2015-11-30  Dmitry Gutov  <dgutov@yandex.ru>
2478         Don't mistake certain JS method calls for keywords
2480         * lisp/progmodes/js.el (js--ctrl-statement-indentation):
2481         Braceless keyword can't come after a period (bug#22063).
2483 2015-11-30  David Reitter  <david.reitter@gmail.com>
2485         Read frame_title_format from buffer-local variable for NS port
2487         * nsfns.m (x_implicitly_set_name): Read frame-title-format and
2488         icon-title-format variables from buffer in appropriate window.
2489         (Bug#22048)
2491 2015-11-30  Juri Linkov  <juri@linkov.net>
2493         * lisp/replace.el (occur-engine): Count matches in empty lines.
2495         (Bug#22062)
2497 2015-11-30  Aurélien Aptel  <aurelien.aptel@gmail.com>
2499         * src/emacs-module.h: Fix finalizer typedef for C++11
2501         C++11 standard doesn't allow exception-specification in typedef.
2502         The workaround is to declare a dummy function prototype and use
2503         decltype on it.
2505 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
2507         Fix last change
2509         * src/emacs-module.c (lisp_to_value, value_to_lisp)
2510         [WIDE_EMACS_INT]: Avoid compiler warnings.
2512 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
2514         Rely on conservative stack scanning to find "emacs_value"s
2516         * src/emacs-module.c (struct emacs_value_tag)
2517         (struct emacs_value_frame, struct emacs_value_storage): Remove.
2518         (value_frame_size): Remove constant.
2519         (struct emacs_env_private): Use Lisp_Object for non_local_exit info.
2520         (lisp_to_value): Remove first arg.
2521         (module_nil): New constant.
2522         Use it instead of NULL when returning an emacs_value.
2523         (module_make_function): Adjust to new calling convention of
2524         Qinternal_module_call.
2525         (DEFUN): Receive args in an array rather than a list.
2526         Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
2527         we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
2528         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
2529         Adjust to new type of non_local_exit info.
2530         (ltv_mark) [WIDE_EMACS_INT]: New constant.
2531         (value_to_lisp, lisp_to_value): Rewrite.
2532         (initialize_frame, initialize_storage, finalize_storage): Remove functions.
2533         (allocate_emacs_value): Remove function.
2534         (mark_modules): Gut it.
2535         (initialize_environment): Don't initialize storage any more.
2536         Keep the actual env object on Vmodule_environments.
2537         (finalize_environment): Don't finalize storage any more.
2538         (syms_of_module): Initialize ltv_mark and module_nil.
2540         * src/emacs-module.h (emacs_value): Make it more clear that this type
2541         is really opaque, including the fact that NULL may not be valid.
2543         * modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
2544         Don't assume that NULL is a valid emacs_value.
2546 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
2548         Yet another doc improvement for search commands
2550         * doc/emacs/search.texi (Word Search, Symbol Search)
2551         (Regexp Search): Document commands that don't support lax
2552         whitespace matching or character folding.
2553         (Nonincremental Search): Mention the search commands that can be
2554         invoked from the menu bar.
2556         * lisp/isearch.el (isearch-define-mode-toggle-word)
2557         (isearch-define-mode-toggle-symbol)
2558         (isearch-define-mode-toggle-character-fold): Note in the doc
2559         string that turning these on exits the regexp mode.
2560         (isearch-forward-regexp, isearch-forward-word)
2561         (isearch-forward-symbol, isearch-backward-regexp)
2562         (word-search-backward, word-search-forward)
2563         (word-search-backward-lax, word-search-forward-lax): State in the
2564         doc string which commands don't support character folding and/or
2565         lax-whitespace matching.
2567 2015-11-30  Martin Rudalics  <rudalics@gmx.at>
2569         Run `window-size-change-functions' also when reading from minibuffer
2571         * src/xdisp.c (redisplay_internal): Run `window-size-change-functions'
2572         also when reading from minibuffer.
2574 2015-11-30  Ulf Jasper  <ulf.jasper@web.de>
2576         Fix scrambling of html-rendered item buffers
2578         * net/newst-treeview.el (newsticker--treeview-render-text): Fix
2579           scrambling of contents by wrapping call to html-renderer in
2580           save-selected-window.
2582 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2584         Fix font typo in previous doc fix.
2586 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2588         A bit more security doc, esp. file local vars
2590         * doc/emacs/emacs.texi (Top):
2591         * doc/emacs/misc.texi (Miscellaneous Commands):
2592         Refer to new Host Security section.
2593         (Host Security): New section.
2594         * doc/lispref/os.texi (Security Considerations):
2595         Mention file local variables.
2597 2015-11-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2599         * lisp/character-fold.el: Comment out branching code
2601         (character-fold-to-regexp): Comment out code that uses multi-char
2602         table.  The branching caused by this induces absurdly long regexps,
2603         up to 10k chars for as little as 25 input characters.
2605 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2607         Spelling and grammar fixes
2609 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
2611         Make lisp-completion-at-point a wrapper instead of an alias
2613         * lisp/progmodes/elisp-mode.el (lisp-completion-at-point):
2614         Turn into an obsolete wrapper around elisp-completion-at-point
2615         (bug#20455).
2617 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2619         * lisp/isearch.el (isearch-search-fun-default): Nicer error
2621         message when the search fails.
2623 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
2625         Update menu-bar-goto-uses-etags-p for the current xref API
2627         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult
2628         xref-backend-functions, instead of now-nonexistent
2629         xref-find-function.
2631 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2633         * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding
2635 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2637         * lisp/menu-bar.el: Use folding in searches
2639         (nonincremental-search-forward): Use `isearch-search-fun-default'
2640         to determine the search function.
2641         (nonincremental-search-backward)
2642         (nonincremental-repeat-search-forward)
2643         (nonincremental-repeat-search-backward): Use it.
2645 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2647         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning
2649 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2651         * lisp/character-fold.el (character-fold-to-regexp): Be careful
2653         not to return huge regexps.
2655 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
2657         Improve documentation of string-collate-* functions
2659         * doc/lispref/strings.texi (Text Comparison): Improve wording and
2660         indexing of 'string-collate-equalp' and 'string-collate-lessp'.
2662         * etc/NEWS: Move the entry of 'string-collate-equalp' and
2663         'string-collate-lessp' to "Lisp Changes" section and mark it as
2664         documented.
2666 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
2668         Document truncate-string-ellipsis
2670         * doc/lispref/display.texi (Size of Displayed Text): Document
2671         'truncate-string-ellipsis'.
2673         * lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix.
2674         (truncate-string-to-width): Mention in the doc string that the
2675         default for ELLIPSIS comes from 'truncate-string-ellipsis'.
2677         * etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp
2678         Changes" section.
2680 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
2682         Fix confusion wrt character folding in the Emacs manual
2684         * doc/emacs/search.texi (Nonincremental Search, Regexp Search):
2685         Document that invoking search-forward/backward and
2686         re-search-forward/backward supports only case folding, but not the
2687         rest of the lax-search features.  Reported by Mike Kupfer
2688         <m.kupfer@acm.org>.
2690 2015-11-29  Ken Brown  <kbrown@cornell.edu>
2692         Update mod-test-sum-test
2694         * modules/mod-test/test.el (mod-test-sum-test): Update to
2695         accommodate the lack of dladdr on Cygwin.
2697 2015-11-29  Alan Mackenzie  <acm@muc.de>
2699         Byte compiler: Catch missing argument to `funcall'.  Fixes bug#22051.
2701         * lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
2702         to `funcall', (i) Output an error message; (ii) Generate code to signal a
2703         `wrong-number-of-arguments' error.
2705 2015-11-29  Martin Rudalics  <rudalics@gmx.at>
2707         * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil.
2709 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2711         * lisp/character-fold.el (character-fold-to-regexp)
2713         Warn about using long strings.
2715         * test/automated/character-fold-tests.el
2716         (character-fold--test-lax-whitespace)
2717         (character-fold--test-consistency): Reduce string size for tests.
2719 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2721         Document renaming of x-select-enable-* variables
2723         * doc/emacs/killing.texi (Clipboard): Rename
2724         x-select-enable-clipboard to select-enable-clipboard and
2725         x-select-enable-primary to select-enable-primary.  Update index
2726         entries.
2728         * etc/NEWS: Mark entry as documented.
2730 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2732         Document the shorthand hints displayed by M-x
2734         * doc/emacs/m-x.texi (M-x): Document the numeric meaning of
2735         suggest-key-bindings.  Document the shorthand hints for commands
2736         that have no key bindings.  Document that M-x completion ignores
2737         obsolete commands.
2739         * etc/NEWS: Move the M-x entry to "Editing Changes" and mark it as
2740         documented.
2742 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2744         Update docs of character folding
2746         * doc/emacs/search.texi (Lax Search): Update the description of
2747         character folding for the latest changes.
2749 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2751         * lisp/character-fold.el: Also play nice with case-folding
2753         (character-fold-to-regexp): Take `case-fold-search' into account.
2755 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2757         * lisp/character-fold.el: Add support for multi-char matches
2759         (character-fold-table): Now has an extra-slot. This is a second
2760         char-table that holds multi-character matches.  See docstring for
2761         details.
2762         (character-fold-to-regexp): Can build branching regexps when a
2763         character's entry the extra slot of `character-fold-table' matches the
2764         characters that succeed it.
2766 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
2768         * lisp/character-fold.el: Code simplifications
2770         (character-fold-table): Reduce the scope of a variable.
2771         (character-fold-to-regexp): Change logic to work directly on the
2772         input string.  It's a little easier to understand, probably
2773         faster, and sets us up for implementing multi-char matches.
2775         * test/automated/character-fold-tests.el
2776         (character-fold--test-fold-to-regexp): New test.
2778 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2780         Document changes in "C-h l"
2782         * doc/emacs/help.texi (Misc Help): Document the changes in "C-h l".
2784         * etc/NEWS: mark "C-h l" changes as documented.
2786 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2788         Finalize documentation of 'custom-prompt-customize-unsaved-options'
2790         * doc/emacs/custom.texi (Saving Customizations): Index the new
2791         function 'custom-prompt-customize-unsaved-options'.
2793         * etc/NEWS: Mention when 'custom-prompt-customize-unsaved-options'
2794         is useful.
2796 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2798         Document 'comment-line'
2800         * doc/emacs/programs.texi (Comment Commands): Document
2801         'comment-line'.
2803         * etc/NEWS: Move the entry for 'comment-line' into "Editing Changes".
2805 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2807         Document new checkdoc features
2809         * doc/lispref/tips.texi (Tips, Library Headers): Document the
2810         keyword-checking features of checkdoc and the commands
2811         'checkdoc-file' and 'checkdoc-current-buffer'.
2813         * etc/NEWS: Move the checkdoc-related entries to their own
2814         section.
2816 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
2818         Simplify the prologue of emacs-module.c functions
2820         * emacs-module.c (MODULE_FUNCTION_BEGIN): New macro.
2821         (module_make_global_ref)
2822         (module_free_global_ref, module_make_function, module_funcall)
2823         (module_intern, module_type_of, module_extract_integer)
2824         (module_make_integer, module_extract_float, module_make_float)
2825         (module_copy_string_contents, module_make_string)
2826         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
2827         (module_get_user_finalizer, module_set_user_finalizer)
2828         (module_vec_set, module_vec_get, module_vec_size): Use new helper
2829         macro MODULE_FUNCTION_BEGIN.
2831 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2833         Don't reject module calls with no arguments
2835         * src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil.
2837 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
2839         Make module-call be visible from Lisp
2841         * src/emacs-module.c (module_make_function): Use internal--module-call.
2842         (Finternal_module_call): Renamed from Fmodule_call.  Add safety
2843         checks.
2844         (syms_of_module): DEFSYM save-value-p and save-pointer-p.  Do
2845         defsubr internal--module-call.
2847 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2849         Add etags tests for the recent Lua-related bugfix
2851         * test/etags/lua-src/test.lua: New file, tests the issues raised
2852         by bug#21934.
2853         * test/etags/Makefile (LUASRC): Add test.lua.
2854         * test/etags/ETAGS.good_1:
2855         * test/etags/ETAGS.good_2:
2856         * test/etags/ETAGS.good_3:
2857         * test/etags/ETAGS.good_4:
2858         * test/etags/ETAGS.good_5:
2859         * test/etags/ETAGS.good_6:
2860         * test/etags/CTAGS.good: Adapt to the new Lua test.  Also, an old
2861         regression fix, resolved around 25 May 2015, required changes to
2862         the "good" ETAGS files.
2864 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2866         Fix Lua tags when a function name includes '.' or ':'
2868         * lib-src/etags.c (Lua_functions): Add a tag for the last element
2869         of a function name after a dot or a colon.  (Bug#21934)
2871 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
2873         Improve documentation of search and replace commands
2875         * doc/emacs/search.texi (Replacement and Lax Matches): Document
2876         which commands are affected by 'replace-character-fold'.
2877         (Lax Search): Add a cross reference to "Replacement and Lax
2878         Matches".  Improve wording.  Fix lost extra whitespace.
2879         (Search Customizations): Improve wording.  (Bug#22036)
2880         See also comments in
2881         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.
2883         * lisp/replace.el (query-replace, query-replace-regexp)
2884         (query-replace-regexp-eval, replace-string, replace-regexp):
2885         Mention 'replace-character-fold' in the doc strings.
2887 2015-11-28  Paul Eggert  <eggert@cs.ucla.edu>
2889         Fix minor problems found by static checking
2891         * src/undo.c (prepare_record): Add proper prototype for C.
2893 2015-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
2895         * src/emacs-module.c (struct env_storage): Delete
2897         (struct emacs_runtime_private): Keep an emacs_env instead.
2898         (Fmodule_load, Fmodule_call): Declare emacs_env_private separately.
2899         (initialize_environment): Split the arg in two.  Adjust all callers.
2900         Only store the private part in Vmodule_environments.
2901         (finalize_environment): Change the arg to only be the private env.
2902         Adjust all callers.
2904 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2906         Improve documentation of 'replace-character-fold'
2908         * lisp/replace.el (replace-character-fold): Clarify which commands
2909         are affected by this variable.
2911 2015-11-27  Mark Oteiza  <mvoteiza@udel.edu>
2913         Backport: Add interactive seek command.
2915         * lisp/mpc.el (mpc-cmd-seekcur): New function.
2916         (mpc-seek-current): New command.
2917         (mpc-mode-menu): Add entry for mpc-seek-current
2918         (mpc-mode-map): Bind mpc-seek-current to "g"
2920 2015-11-27  Dmitry Gutov  <dgutov@yandex.ru>
2922         Autoload etags when using its xref backend
2924         * lisp/progmodes/xref.el (xref--etags-backend):
2925         Rename to etags--xref-backend.  Move to etags.el.  Autoload.
2926         (Bug#22026)
2928 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
2930         * lisp/character-fold.el: Allow complex chars to match their decomposition
2932         (character-fold-table): When a character's decomposition does not
2933         involve a formatting tag (i.e., if it has an "exact" description via
2934         other characters), then this character is allowed to match the
2935         decomposition.
2937 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
2939         * lisp/character-fold.el: More descriptive variable names
2941         (character-fold-table): Rename a lot of the lexical variables to
2942         make the code easier to read.
2944 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
2946         * lisp/isearch.el: Ensure we still support `isearch-new-word'
2948         (isearch-new-regexp-function): Define variable.
2949         (isearch-new-word): Define as an obsolete alias. (Bug#22018)
2951 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2953         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
2955 2015-11-27  Lee Bochicchio  <lboc.home@gmail.com>
2957         * test/lisp/abbrev-tests.el: Define more tests
2959         (abbrev-table-name-test, kill-all-abbrevs-test)
2960         (clear-abbrev-table-test): New tests.
2962 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2964         Add module tests for wrong-type-argument
2966         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
2967         wrong-type-argument.
2969 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2971         Improve handling of signals and 'throw' in modules
2973         * src/emacs-module.c: Add commentary explaining how to write
2974         functions in this file.
2975         (module_make_global_ref, module_free_global_ref)
2976         (module_non_local_exit_signal, module_non_local_exit_throw)
2977         (module_make_function, module_funcall, module_intern)
2978         (module_type_of, module_is_not_nil, module_eq)
2979         (module_extract_integer, module_make_integer)
2980         (module_extract_float, module_make_float)
2981         (module_copy_string_contents, module_make_string)
2982         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
2983         (module_get_user_finalizer, module_set_user_finalizer)
2984         (module_vec_set, module_vec_get, module_vec_size)
2985         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
2986         Do nothing and return with failure indication immediately, if some
2987         previous module call signaled an error or wants to throw.  See
2988         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html
2989         for the relevant discussions.
2991 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
2993         Add ':version' tag to 'checkdoc-package-keywords-flag'
2995         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
2996         Add a ':version' tag.
2998 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3000         Improve documentation of 'eval-buffer' and 'eval-region'
3002         * src/lread.c (Feval_buffer, Feval_region): Doc fixes.  (Bug#22023)
3004         * doc/lispref/eval.texi (Eval): Mention narrowing to clarify
3005         "accessible portion of buffer".
3007 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3009         Unbreak the Cygwin w32 build
3011         * src/emacs.c (main): Call w32_init_main_thread in the Cygwin w32
3012         build as well.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
3014 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
3016         Improve commentary in character-fold.el
3018         * lisp/character-fold.el (character-fold-to-regexp): Move detailed
3019         description from commit log message to comments.  (Bug#22019)
3021 2015-11-26  Alan Mackenzie  <acm@muc.de>
3023         Byte Compiler: generate code to adjust stack count after call to `signal'.
3025         Corrects change from earlier today.
3027         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
3028         `byte-compile--for-effect' as argument to `byte-compile-form'.
3030 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
3032         Improve commentary of prepare_to_modify_buffer_1
3034         * src/insdel.c (prepare_to_modify_buffer_1): Mention in commentary
3035         that this function runs Lisp.  Suggested by Richard Stallman
3036         <rms@gnu.org>.
3038 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
3040         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
3042 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
3044         Fix regression after merge.
3046          * undo.c (prepare_record): Remove call to run_undoable_change.
3048 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
3050         After delete, record point location in undo.
3052         Addresses Bug #21968.
3054                 * lisp/simple.el (undo-auto--add-boundary): Clean up code to
3055                 better support intercalating calls.
3056                 * src/keyboard.c,src/keyboard.h (command_loop_1): Store value of
3057                 point and current buffer before each command.
3058                 * src/undo.c (record_point): Now only record the point.
3059                 * src/undo.c (prepare_record): Functionality removed form
3060                 record_point.
3061                 * src/undo.c (record_delete): Check if point needs recording.
3062                 * src/undo.c (undo-boundary): Record value of point before each
3063                 boundary.
3064                 * test/automated/simple-test.el: New tests.
3066         Conflicts:
3067                 src/undo.c
3069 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
3071         Fix compiler warnings in w32.c
3073         * src/w32.c (sys_socket): In case of error, use -1 as return
3074         value, not INVALID_SOCKET, which causes compiler warnings.
3075         (maybe_load_unicows_dll): Cast the return value of GetProcAddress
3076         to the appropriate function signature, to avoid compiler errors.
3077         Reported by Andy Moreton <andrewjmoreton@gmail.com>.  (Bug#21953)
3079 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
3081         Check if the file exists on disk before producing the revert diff
3083         * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file
3084         exists on disk (bug#20558).
3086 2015-11-26  Alan Mackenzie  <acm@muc.de>
3088         Byte compiler: on setq with an odd number of arguments, generate a `signal'
3090         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
3091         it has an odd number of arguments, to allow bytecomp to handle the error.
3093         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
3094         odd number of arguments, generate a `signal' instead of the normal code.
3096 2015-11-25  Dmitry Gutov  <dgutov@yandex.ru>
3098         Use find-tag-default for xref-backend-identifier-at-point
3100         * lisp/progmodes/etags.el (find-tag-tag)
3101         (tags-completion-at-point-function): Extract common code as
3102         find-tag--default.
3103         (xref-backend-identifier-at-point): Define in terms of the new
3104         function.
3106 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
3108         * src/undo.c (record_property_change): Remove now-unused local.
3110 2015-11-25  Phillip Lord  <phillip.lord@russet.org.uk>
3112         run_undoable_changes now called from insdel.
3114         The original calls from inside undo.c are not always at a safe position
3115         to call lisp, as they originate in varied positions within insdel.c.
3116         Calling them directly from prepare_to_modify_buffer_1 ensures that they
3117         are always run at the same point.
3119          * undo.c (run_undoable_changes,syms_of_undo): Remove function
3120          and symbol used.
3121          * insdel.c (run_undoable_changes): Add function and symbol.
3123 2015-11-25  Eli Zaretskii  <eliz@gnu.org>
3125         Improve and update documentation of search commands
3127         * doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
3128         all references changed.  Move the description of lax-whitespace
3129         here.  Add description of the new character folding features and
3130         additional customizable options.
3131         (Isearch Yank): Move before "Error in Search".
3132         (Basic Isearch): Improve wording.  Add index entries.  Add short
3133         description of how to abandon search, making this subsection a
3134         complete introduction to search basics.
3135         (Repeat Isearch): Add index entries.  Describe additional
3136         customizable options.  Describe mouse clicks.
3137         (Isearch Yank): Add index entries.  Describe mouse-2 click in echo
3138         area.  Describe more customizable options.
3139         (Error in Isearch): Add index entries.
3140         (Special Isearch): Move actual description of some isearch
3141         commands to other sections, leaving here just the summary of the
3142         commands.  Add command that toggles character folding.  Describe
3143         commands, like "C-h C-h", that were previously omitted for some
3144         reason.
3145         (Not Exiting Isearch): Describe search-exit-option.  Add index
3146         entries.
3147         (Word Search): Describe eww-search-word and eww-search-prefix.
3148         (Symbol Search): Add index entries.
3149         (Regexp Search): Describe regexp-search-ring-max.
3150         (Replacement and Lax Matches): Renamed from "Replacement and
3151         Case"; all references changed.  Describe lax-whitespace matching
3152         in replace commands and related options.  Describe character
3153         folding in replace commands and related options.
3154         (Query Replace): Describe query-replace-from-to-separator and the
3155         new history features.  Add index entries for highlighted text.
3156         Describe query-replace-skip-read-only.  Describe more keys
3157         accepted by query-replace.
3158         (Other Repeating Search): More index entries for Occur.  Describe
3159         list-matching-lines-default-context-lines.
3160         (Search Customizations): New section, documents customizable
3161         options that were not documented until now.
3162         * doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
3163         "Character Folding".
3165         * etc/NEWS: Move search- and replace-related entries to a single
3166         parent section.
3168         * lisp/replace.el (query-replace-show-replacement): Doc fix.
3169         * lisp/isearch.el (search-nonincremental-instead)
3170         (isearch-hide-immediately): Doc fixes.
3172 2015-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
3174         Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
3176         * lisp/gnus/nnml.el (nnml-retrieve-groups): Remove.  See:
3177         <http://thread.gmane.org/gmane.emacs.gnus.general/86308> and
3178         <http://thread.gmane.org/gmane.emacs.gnus.general/86321>
3180 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
3182         Fix module_format_fun_env when dynlib_addr fails
3184         * src/emacs-module.c (module_format_fun_env):
3185         exprintf doesn’t support %p, so use %x.  Reported by Eli Zaretskii in:
3186         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html
3188 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
3190         Disambiguate variable help a bit better
3192         * lisp/help-fns.el (describe-variable): Quote the
3193         variable’s value if it is a symbol other than t or nil.
3194         See: T.V Raman in:
3195         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
3197 2015-11-24  Dmitry Gutov  <dgutov@yandex.ru>
3199         Pass SVN commit message through log-edit-extract-headers
3201         * lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through
3202         log-edit-extract-headers (bug#18954).
3204 2015-11-24  Alan Mackenzie  <acm@muc.de>
3206         CC Mode: Eliminate compiler warning messages.
3208         * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
3209         `font-lock-syntactic-keywords' (which CC Mode doesn't use).
3210         * lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
3211         (c-awk-set-syntax-table-properties): Clarify comments about
3212         `font-lock-syntactic-keywords'.
3214         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
3215         of this before the real (interpreted) one, to satisfy the byte compiler.
3217 2015-11-24  Simen Heggestøyl  <simenheg@gmail.com>
3219         Extend the test suite for json.el
3221         * lisp/json.el (json-plist-p): Clarify docstring.
3223         * test/automated/json-tests.el (json-tests--with-temp-buffer): New
3224         macro.
3225         (test-json-join, test-json-alist-p)
3226         (test-json-plist-p, test-json-advance, test-json-peek)
3227         (test-json-pop, test-json-skip-whitespace)
3228         (test-json-read-keyword, test-json-encode-keyword)
3229         (test-json-read-number, test-json-encode-number)
3230         (test-json-read-escaped-char, test-json-read-string)
3231         (test-json-encode-string, test-json-encode-key)
3232         (test-json-new-object, test-json-add-to-object)
3233         (test-json-read-object, test-json-encode-list)
3234         (test-json-read-array, test-json-encode-array)
3235         (test-json-read, test-json-read-from-string)
3236         (test-json-encode): New tests.
3237         (json-read-simple-alist): Merged into `test-json-read-object'.
3238         (json-encode-string-with-special-chars): Merged into
3239         `test-json-encode-string'.
3240         (json-read-string-with-special-chars): Split into
3241         `test-json-encode-string' and `test-json-read-from-string'.
3243 2015-11-24  Anders Lindgren  <andlind@gmail.com>
3245         Fixed bug#18283: Enable applescript in NextStep.
3247         * nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES.
3249 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3251         Allow completion on dynamic module files in load-library
3253         * lisp/files.el (load-library): Bind completion-ignored-extensions
3254         to nil, to allow completion on dynamic modules typed as file
3255         names.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
3257 2015-11-24  Alan Mackenzie  <acm@muc.de>
3259         CC Mode: eliminate almost all byte compilation warnings
3261         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
3262         (cc-require): Remove the crude hack that saved and restored
3263         byte-compile-noruntime-functions.
3264         (cc-conditional-require, cc-conditional-require-after-load): New macros.
3266         * lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
3267         cc-fix.el using the new macros in cc-bytecomp.el.
3269         * lisp/progmodes/cc-langs.el (c++-template-syntax-table)
3270         (c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
3271         forms to remove the superflous quotes.
3273 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3275         Add one more mod-test test
3277         * modules/mod-test/test.el (mod-test-sum-test): Test the error
3278         signaled when the function is invoked with a wrong number of
3279         arguments.
3281 2015-11-24  Philipp Stephani  <phst@google.com>
3283         * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args.
3285 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3287         Implement dynlib_addr for MS-Windows
3289         * src/dynlib.c [WINDOWSNT]: Include w32common.h.
3290         <g_b_init_get_module_handle_ex> [WINDOWSNT]: New static variable.
3291         (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
3292         (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define
3293         if undefined.
3294         (dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to
3295         zero.
3296         (dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report
3297         the full file name of the module for a given address.
3299 2015-11-24  Alan Mackenzie  <acm@muc.de>
3301         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
3303 2015-11-24  Alan Mackenzie  <acm@muc.de>
3305         Squashed commit of the following:
3307         commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
3308         Author: Alan Mackenzie <acm@muc.de>
3309         Date:   Tue Nov 24 16:50:09 2015 +0000
3311             Byte compile: minor amendments.
3313             * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
3314             add a comment to explain the binding of variables around a subsidiary
3315             compilation.
3316             (byte-compile-new-defuns): Amend the doc string.
3318         commit c537bfed1dda1593d218956ff00c6105a3ff0316
3319         Author: Alan Mackenzie <acm@muc.de>
3320         Date:   Sat Nov 21 18:43:57 2015 +0000
3322             Byte compiler: fix spurious warnings "might not be defined at runtime".
3324             Also initialize byte-compile-noruntime-functions between runs.
3326             * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
3327             (byte-compile-initial-macro-environment): For eval-when-compile: bind
3328             byte-compile-unresolved-functions and byte-compile-new-defuns around
3329             byte-compile-top-level, to prevent spurious entries being made.
3330             (byte-compile-warn-about-unresolved-functions): Check whether function is
3331             in byte-compile-new-defuns before emitting a warning about it.
3332             (byte-compile-from-buffer): Initialize new variable and
3333             byte-compile-noruntime-functions to nil.
3334             (byte-compile-file-form-require): record all new functions defined by a
3335             `require' in byte-compile-new-defuns.
3336             (byte-compile-file-form-defmumble): record the new alias in
3337             byte-compile-new-defuns.
3339 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
3341         Fix crash at startup related to GC of font entities
3343         * src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P)
3344         (GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY)
3345         (GC_XFONT_OBJECT): New macros, for use in garbage collector.
3346         * src/alloc.c (compact_font_cache_entry, compact_font_caches):
3347         Don't ifdef away font cache compaction on NT_GUI, as the problems
3348         which led to that seem to have been solved.
3349         (compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC,
3350         GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_
3351         cousins.  (Bug#21999)
3353 2015-11-24  Alan Mackenzie  <acm@muc.de>
3355         Byte compile: Output an error, not a warning, for odd number of args to setq
3357         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend.
3359 2015-11-24  Ken Raeburn  <raeburn@raeburn.org>
3361         Fix kbd_buffer iteration loop in readable_events
3363         * src/keyboard.c (readable_events): Wrap the event pointer back to the
3364         start of the kbd_buffer array inside the top of the loop instead of
3365         right before checking the loop condition, since kbd_fetch_ptr and
3366         kbd_store_ptr point past the end of the array to mean that element 0
3367         is next. (bug#21935)
3369 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
3371         Improve text-quoting-style doc again
3373         * doc/lispref/help.texi (Keys in Documentation):
3374         Omit overkill discussion of ‘setq’.  Mention Emacs versions
3375         where ‘grave’ style was standard.
3377 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3379         Improve text-quoting-style doc
3381 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3383         Simplify module_make_function
3385         * src/emacs-module.c (module_make_function):
3386         Simplify by calling build_unibyte_string.
3388 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3390         Port better to FreeBSD’s dlfunc vs dlsym
3392         This avoids warnings when converting between void * and
3393         function pointers, which strict C11 does not allow.
3394         * configure.ac (dlfunc): Check for existence.
3395         * src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
3396         (dynlib_func): New function.
3397         * src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
3398         * src/emacs-module.c (Fmodule_load): Use dynlib_func, not
3399         dynlib_sym, for function pointers.
3401 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3403         Simplify use of emacs_finalizer_function type
3405         * src/emacs-module.h (emacs_finalizer_function):
3406         Now EMACS_NOEXCEPT.  All users simplified to omit EMACS_NOEXCEPT.
3407         (struct emacs_env_25): Use emacs_finalizer_function where applicable.
3409 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3411         module_format_fun_env fixes
3413         * src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case.
3414         * src/emacs-module.c (module_format_fun_env):
3415         Convert path and sym to UTF-8.
3416         Don’t use VLAs, as the C11 standard says they’re optional,
3417         and anyway they can cause core dumps with large allocations.
3418         Use exprintf rather than snprintf, as exprintf handles arbitrarily
3419         long strings.  Simplify the code a bit.
3421 2015-11-23  Dmitry Gutov  <dgutov@yandex.ru>
3423         Don't use package-user-dir in elisp-library-roots if it's not bound
3425         * lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
3426         use package-user-dir if it's not bound (bug#19759).
3428 2015-11-23  Anders Lindgren  <andlind@gmail.com>
3430         New visible-bell for NextStep (OS X El Capitan compatible).
3432         Instead of inverting a rectangle in the middle of the frame, use
3433         the standard NextStep image "caution", represented using an
3434         warning sign with an exclamation mark.  (Bug#21662)
3436         Implemented based on a suggestion drafted by Mustafa Kocaturk.
3438         * src/nsterm.m (EmacsBell): New class for managing the caution
3439         image.  Support multiple active bells, the image is removed once
3440         all bells have timed out.
3441         (ns_timeout): Removed, no longer used.
3442         (ns_ring_bell): Reimplemented to use EmacsBell.
3444 2015-11-23  Johan Bockgård  <bojohan@gnu.org>
3446         * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec.
3448         (remove-function): Ditto. (Bug#20376)
3450 2015-11-23  Mark Oteiza  <mvoteiza@udel.edu>
3452         * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes.
3454 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
3456         Improve how non-ASCII strings are accepted from modules
3458         * src/emacs-module.c (module_make_function, module_make_string):
3459         Build a unibyte Lisp string and then decode it by UTF-8, instead
3460         of building a multibyte string without decoding.  This is more
3461         tolerant to deviations from UTF-8.
3463 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3465         Port recent module changes to pickier compilers
3467         * src/emacs-module.c (module_make_function)
3468         (module_make_string): Add casts to fix pointer signedness issues.
3470 2015-11-23  Philipp Stephani  <phst@google.com>
3472         Fix how strings are accepted from modules
3474         * emacs-module.c (module_make_function, module_make_string): Use
3475         make_multibyte_string.
3476         (module_copy_string_contents): Encode before reading the byte
3477         size.  Return false if and only if an error occurred.
3479 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
3481         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
3483 2015-11-23  Shakthi Kannan  <shakthimaan@gmail.com>
3485         Add the tamil-dvorak input method
3487         * lisp/leim/quail/tamil-dvorak.el: New file.  (Bug#21768)
3489         * etc/NEWS: Mention the new input method.
3491 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
3493         Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows.
3495         * src/frame.c (adjust_frame_size): Don't set
3496         FRAME_WINDOW_SIZES_CHANGED here ...
3497         * src/window.c (resize_frame_windows): ... but here, as suggested
3498         by Stefan Monnier.  Also remove some dead code along the way.
3500 2015-11-23  Alan Mackenzie  <acm@muc.de>
3502         * /etc/NEWS (Incompatible Lisp Changes): Also `setf' needs an even # of args.
3504 2015-11-23  Alan Mackenzie  <acm@muc.de>
3506         Signal an error when `setf' gets an odd number of arguments.
3508         * lisp/emacs-lisp/gv.el (setf): Amend.
3510 2015-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3512         * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
3514 2015-11-23  Alan Mackenzie  <acm@muc.de>
3516         * etc/NEWS (Incompatible Lisp Changes): Document new restriction on `setq'.
3518 2015-11-23  Alan Mackenzie  <acm@muc.de>
3520         Expunge occurrences of `setq' with an odd number of arguments.
3522         * lisp/apropos.el (apropos-documentation):
3523         * lisp/obsolete/complete.el (PC-include-file-all-completions):
3524         * lisp/progmodes/compile.el (compilation-goto-locus):
3525         * lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
3526         Insert missing nil at end of `setq' forms.
3528         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
3529         erroneous trailing variable name from a setq, thus allowing a compilation
3530         properly to track functions not defined at runtime.
3532 2015-11-23  John Wiegley  <johnw@newartisans.com>
3534         Add a note about a questionable use of bool in xdisp.c
3536 2015-11-23  Alan Mackenzie  <acm@muc.de>
3538         Issue a warning from the byte compiler on a malformed `setq' form.
3540         Partly fixes bug#20241.
3541         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
3542         `setq' form with an odd number of arguments is compiled.
3544 2015-11-23  Alan Mackenzie  <acm@muc.de>
3546         Don't let cconv_convert insert a nil argument into a `setq' form.
3548         Fixes bug#21983.
3549         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
3550         argument into a `setq' when there're an odd number of args.  This enables the
3551         byte compiler to issue a message in this case.
3553 2015-11-23  Alan Mackenzie  <acm@muc.de>
3555         Signal an error when `setq' has an odd number of arguments.  Fixes bug#20241.
3557         * src/eval.c (Fsetq): Signal an error on an odd number of arguments.
3558         (syms_of_eval): Add a DEFSYM for Qsetq.
3560 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
3562         * doc/lispref/windows.texi (Window Sizes): Fix indices and references.
3564         * src/frame.c (adjust_frame_size): Set FRAME_WINDOW_SIZES_CHANGED (Bug#21975).
3566 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3568         Add EUDC BBDB 3 entry in NEWS
3570         * NEWS: Mention EUDC BBDB backend support for BBDB 3.
3572 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3574         Improve EUDC to BBDB 3 export
3576         * eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
3577         entry to single item.  Add company conversion.
3578         * eudc-export.el (eudc-bbdbify-company): New function.
3579         (bbdb-parse-phone): Declare function.
3580         (eudc-bbdbify-phone): Add BBDB 3 support.
3581         (Bug#21971)
3583 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3585         Add BBDB 3 support for EUDC export
3587         * eudc.el: Add bbdb-version defvar.
3588         (eudc--using-bbdb-3-or-newer-p): New function.
3589         * eudc-export.el (eudc-create-bbdb-record): Add support for
3590         bbdb-create-internal argument list changes introduced in BBDB 3.
3591         * eudcb-bbdb.el: Remove bbdb-version defvar.
3592         (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
3593         (Bug#21971)
3595 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
3597         Allow loading modules by 'load-file'
3599         * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
3600         2nd arg, to avoid the "binding stack not balanced" error.
3601         (syms_of_lread) <module-file-suffix>: New Lisp variable.
3603         * lisp/files.el (module-file-suffix): Declare.
3604         (load-file): Remove 'module-file-suffix' from
3605         'completion-ignored-extensions', to allow completion on modules.
3607         * etc/NEWS: Mention 'module-file-suffix'.
3609 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
3611         Fix unoptimized builds
3613         * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized
3614         builds.
3616 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
3618         Work around the asynchronous-empty-diff problem
3620         * lisp/vc/vc-rcs.el (vc-rcs-diff):
3621         * lisp/vc/vc-mtn.el (vc-mtn-diff):
3622         * lisp/vc/vc-hg.el (vc-hg-diff):
3623         * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument,
3624         do a synchronous process call (bug#21969).
3626 2015-11-21  Karl Fogel  <kfogel@red-bean.com>
3628         Finish excising electric indent from `open-line'
3630         * lisp/simple.el (open-line): Remove INTERACTIVE argument.
3632         * test/automated/simple-test.el (open-line-indent, open-line-hook):
3633           Adjust accordingly.
3635         This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
3636         (git commit c59353896) started.  It turns out that having INTERACTIVE
3637         cause `post-self-insert-hook' to run (via `newline') meant `open-line'
3638         still had the electric indent behavior, as `post-self-insert-hook'
3639         normally contains `electric-indent-post-self-insert-function' ever
3640         since `electric-indent-mode' has been on by default.  Tracing the code
3641         change in `open-line' is mildly twisty, because Artur Malabarba's
3642         earliest two commits of 24 Oct 2015 first removed the `interactive'
3643         form entirely (git commit 6939896e2) and then restored it with the new
3644         extra "p" already added (git commit bd4f04f86), such that there is no
3645         single-commit diff in which one sees the second "p" appear.  Thus this
3646         change is effectively a reversion of parts of each of those commits.
3648         This could close bug#21884, at least until further discussion.
3650 2015-11-21  Dmitry Gutov  <dgutov@yandex.ru>
3652         Adhere closer to the "implicit tag name" definition
3654         * lisp/progmodes/etags.el (etags-tags-completion-table):
3655         Adhere closer to the "implicit tag name" definition.  Simplify
3656         the regexp.  Search for the explicit tag name first, and when
3657         not found, search locally for the implicit one.  (Bug#21934)
3659 2015-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3661         Unrevert most of regexp reentrancy abort patch
3663         The problem was in:
3664           * src/syntax.c (update_syntax_table_forward): Propertize even when truncated
3665         which is hence not unreverted.
3666         The rest is:
3667         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
3668         (UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
3669         All callers in regex.c changed back to the _FAST versions.
3671         * test/automated/message-mode-tests.el: Tweak the test to rely on auto
3672         propertization in backward-sexp.
3674 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
3676         Revert regexp reentrancy abort patch
3678         Although the patch does fix Bug#21688 and prevents a core dump,
3679         it also makes the message-mode-propertize test fail; see:
3680         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html
3681         Perhaps someone else can come up with a better fix some day.
3682         * src/syntax.c (update_syntax_table_forward):
3683         Propertize even when truncated.
3684         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
3685         (UPDATE_SYNTAX_TABLE_FAST): Remove.
3686         All callers changed back to the non-_FAST versions.
3688 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
3690         Add a few safety checks when ENABLE_CHECKING
3692         This was motivated by the recent addition of module code,
3693         which added some ENABLE_CHECKING-enabled checks that are
3694         useful elsewhere too.
3695         * src/alloc.c (compact_font_cache_entry):
3696         * src/fns.c (sweep_weak_table):
3697         * src/lread.c (oblookup):
3698         Use gc_asize rather than doing it by hand.
3699         * src/emacs-module.c (module_make_global_ref)
3700         (module_free_global_ref, module_vec_size):
3701         Omit assertions that lisp.h now checks.
3702         * src/lisp.h (XFASTINT, ASIZE): In functional implementations,
3703         check that the result is nonnegative.  Use eassume, as this
3704         info can help a bit when optimizing production code.
3705         (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
3706         to be consistent with the USE_LSB_TAG case.
3707         (gc_asize): New function, when ASIZE is needed in the gc.
3708         (gc_aset): Use it.
3709         (HASH_TABLE_P): Move definition up, so that it can be used ...
3710         (XHASH_TABLE): ... here, to assert that the arg is a hash table.
3712 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
3714         Simplify recording of main thread's ID on MS-Windows
3716         * src/w32term.c (w32_initialize):
3717         * src/w32console.c (initialize_w32_display):
3718         * src/w32fns.c (globals_of_w32fns): Don't record the main thread
3719         ID independently for each type of session (GUI, TTY, batch).
3720         * src/w32term.c (w32_init_main_thread): New function, records the
3721         main thread's thread ID.
3722         * src/w32term.h: Add prototype for w32_init_main_thread.
3723         * src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread.
3725         * src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to
3726         main_thread, for consistency with other threading libraries.  All
3727         users changed.  Include w32term.h.
3728         (check_main_thread) [WINDOWSNT]: Simplify the test: no need to
3729         make sure the main thread is alive, as we hold a handle on it
3730         opened by w32_init_main_thread.
3731         (module_init) [WINDOWSNT]: Reuse the thread ID recorded by
3732         w32_init_main_thread, instead of calling the requisite APIs once
3733         more.
3735 2015-11-21  Mark Oteiza  <mvoteiza@udel.edu>
3737         Backport: Fix issue where a new tempfile was created every refresh
3739         * lisp/mpc.el (mpc-format): Leave dir as relative path
3741 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
3743         Call 'window-size-change-functions' for mini-windows
3745         * src/window.c (grow_mini_window, shrink_mini_window): Set the
3746         frame's 'window_sizes_changed' flag.
3747         * src/xdisp.c (redisplay_internal): Call the hooks on
3748         'window-size-change-functions' if the call to 'echo_area_display'
3749         sets the frame's 'window_sizes_changed' flag.
3750         (syms_of_xdisp) <window-size-change-functions>:
3751         Update doc string to indicate the mini-window resizes trigger a
3752         call to the hooks, and don't promise that will happen "before
3753         redisplay".  (Bug#19576, Bug#21333)
3755         * doc/lispref/windows.texi (Window Hooks): Update the description
3756         of 'window-size-change-functions'.
3758 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
3760         Improve documentation of dynamic modules
3762         * src/fns.c (Frequire): Doc fix to include the dynamic module
3763         support.
3764         * src/lread.c (Fload, Vload_suffixes): Doc fixes to include the
3765         dynamic module support.
3766         (Fload): Treat the module suffix the same as '*.el' and '*.elc'
3767         wrt the MUST-SUFFIX argument.
3769         * etc/NEWS: Expand documentation of dynamically loaded modules.
3771 2015-11-21  Philipp Stephani  <phst@google.com>  (tiny change)
3773         Initial documentation for dynamic modules
3775         * etc/NEWS: Mention the new support for dynamically loaded modules.
3777 2015-11-20  Dmitry Gutov  <dgutov@yandex.ru>
3779         Add xref--etags-backend to xref-backing-functions using add-hook
3781         * lisp/progmodes/xref.el (xref-backend-functions): Move the
3782         default value into a separate `add-hook' call (bug#21964).
3784         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3785         Don't declare the xref-backend-functions variable.
3786         It doesn't make any difference.
3788 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3790         Fix double-decrement bug when freeing global refs
3792         * src/emacs-module.c (module_free_global_ref): Add a FIXME
3793         comment about error reporting.  Fix a recently-introduced typo
3794         that double-decremented the refcount.
3796 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3798         Declare emacs_module_init in the module API
3800         * src/emacs-module.h (emacs_module_init): New decl.
3801         Without it, GCC might complain about a module that defines
3802         emacs_module_init without using it.  This also checks the
3803         API better.
3805 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3807         Fix module test to use ptrdiff_t nargs too
3809         * modules/mod-test/mod-test.c (Fmod_test_return_t)
3810         (Fmod_test_sum, Fmod_test_signal, Fmod_test_throw)
3811         (Fmod_test_non_local_exit_funcall, Fmod_test_globref_make)
3812         (Fmod_test_string_a_to_b, Fmod_test_userptr_make)
3813         (Fmod_test_userptr_get, Fmod_test_vector_fill)
3814         (Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int.
3815         (finalizer): Remove; no longer used.
3817 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3819         Fix reindent-introduced typo in module code
3821         * src/emacs-module.c (MODULE_SETJMP_1): Fix typo that I
3822         introduced while reindenting the code earlier, and add a
3823         comment explaining the unusual use of do-while here.
3825 2015-11-20  Anders Lindgren  <andlind@gmail.com>
3827         Fixed bug#19576: `write-file' saves wrong buffer.
3829         If a function on the hook `window-size-change-functions' doesn't
3830         restore the current buffer, functions that save and restore the
3831         current window configuration (like `y-or-no-p') could silently
3832         change the current buffer.  When `write-file' asked the user
3833         confirmation to overwrite a file, `y-or-no-p' changed the current
3834         buffer, and the wrong buffer was saved to the file.
3836         * lisp/follow.el (follow-windows-start-end): Call `select-frame'
3837         using the `norecord' parameter.
3838         (follow-window-size-change): Restore current buffer. Call
3839         `select-frame' using the `norecord' parameter. Cleanup.
3841 2015-11-20  John Wiegley  <johnw@newartisans.com>
3843         Correct a documentation error in frames.texi
3845 2015-11-20  Stephen Leake  <stephen_leake@stephe-leake.org>
3847         * lisp/cedet/mode-local.el: Delete obsolete comment
3849 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3851         Module function arg counts are ptrdiff_t, not int
3853         * src/emacs-module.c (struct module_fun_env)
3854         (module_make_function, module_funcall, Fmodule_call):
3855         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
3856         Use ptrdiff_t, not int, for arg counts.
3857         * src/emacs-module.c (module_make_function): Don’t bother
3858         checking arity against MOST_POSITIVE_FIXNUM, as that’s
3859         unnecessary here.  Make the checking clearer by negating it.
3860         (module_make_function, Fmodule_call): No need to use xzalloc
3861         since the storage doesn’t need to be cleared.
3862         (module_funcall): Don’t use VLA, since C11 doesn’t guarantee support
3863         for it, and many implementations are buggy with large VLAs anyway.
3864         Use SAFE_ALLOCA_LISP instead.
3865         (module_vec_set): Don’t crash if i < 0.
3866         (module_vec_get): Don’t crash if i < MOST_NEGATIVE_FIXNUM.
3867         (module_vec_set, module_vec_get): Do fixnum checks only when
3868         i is out of array bounds, for efficiency in the usual case.
3869         (Fmodule_load): Simplify fixnum range check.
3870         (Fmodule_call): Simplify arity check.  Use xnmalloc to detect
3871         integer overflow in array allocation size.
3873 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
3875         Minor improvements in module test
3877         * modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings
3878         about missing prototype of malloc.
3879         * modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid
3880         compiler warnings.
3882 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
3884         Improve MS-Windows implementation in dynlib.c
3886         * src/dynlib.c [WINDOWSNT]: Include errno.h, lisp.h, and w32.h.
3887         No need to include windows.h, as w32.h already does that.
3888         <dynlib_last_err>: New static variable.
3889         (dynlib_reset_last_error): New function.
3890         (dynlib_open): Convert forward slashes to backslashes.  Convert
3891         file names from UTF-8 to either UTF-16 or the current ANSI
3892         codepage, and call either LoadLibraryW or LoadLibraryA.  If the
3893         argument is NULL, return a handle to the main module, like
3894         'dlopen' does.  Record the error, if any, for use by dynlib_error.
3895         (dynlib_sym): Check the handle for validity. Record the error, if
3896         any, for use by dynlib_error.
3897         (dynlib_error): Call w32_strerror to produce the error string, and
3898         zero out the last error code, like dlerror does.
3899         (dynlib_close): Check the handle for validity.  Record the error,
3900         if any, for use by dynlib_error.  Don't call FreeLibrary with a
3901         handle for the main module.
3902         * src/w32.c (globals_of_w32): Call dynlib_reset_last_error.
3904 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3906         Include-file tweaks for modules
3908         * src/dynlib.c, src/emacs-module.c: Include <config.h> first.
3909         * src/dynlib.h: Do not include config.h.
3910         It’s every .c file’s responsibility to include config.h first.
3911         * src/emacs-module.c: Include emacs-module.h immediately after
3912         config.h, to test that emacs-module.h doesn’t depend on
3913         include files other than config.h.
3915 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3917         Simplify push_handler and profile its malloc
3919         * src/lisp.h (PUSH_HANDLER): Remove.
3920         All callers changed to use push_handler directly.
3921         * src/eval.c (internal_condition_case)
3922         (internal_condition_case_1, internal_condition_case_2)
3923         (internal_condition_case_n):
3924         Use same pattern as for other invokers of push_handler.
3925         (push_handler, push_handler_nosignal): Use call-by-value
3926         instead of call-by-reference.  All uses changed.
3927         (push_handler): Simplify by rewriting in terms of
3928         push_handler_nosignal.
3929         (push_handler_nosignal): Profile any newly allocated memory.
3931 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3933         * src/emacs-module.h: Include stddef.h, not stdlib.h.
3935 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
3937         Discover repository version in linked worktrees (bug#21930)
3939         * lisp/version.el (emacs-repository--version-git-1): Do not assume
3940         HEAD is at .git/HEAD, it can also be at .git/worktrees/<branch>/HEAD.
3941         (emacs-repository-get-version): Grok linked worktrees when EXTERNAL
3942         is nil too.
3944 2015-11-19  Juri Linkov  <juri@linkov.net>
3946         * lisp/replace.el (occur-regexp-descr): New function.
3947         (occur-1, occur-engine): Use it.
3949         * lisp/isearch.el (isearch-occur): Propertize regexp with
3950         isearch-string and isearch-regexp-function-descr for
3951         occur-regexp-descr to display the correct description
3952         message in the header (bug#21176, bug#21180).
3954 2015-11-19  Karl Fogel  <kfogel@red-bean.com>
3956         Revert `open-line' electric-indent sensitivity
3958         * lisp/simple.el (open-line): Remove electric indent code.
3959           (electric-indent-just-newline): Don't declare.
3961         * test/automated/simple-test.el (open-line-indent): Adjust test.
3963         This partly reverts Artur Malabarba's change that added electric
3964         indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git
3965         commit bd4f04f86), and adjusts a new test he added right afterwards
3966         (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly.
3967         However, the new INTERACTIVE argument to `open-line', which he also
3968         added in the first commit, is not reverted here.
3970         See the thread "Questioning the new behavior of `open-line'." on the
3971         Emacs Devel mailing list, and in particular this message:
3973           From: Artur Malabarba
3974           Subject: Re: Questioning the new behavior of `open-line'.
3975           To: Karl Fogel
3976           Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel
3977           Date: Wed, 18 Nov 2015 21:03:58 +0000
3978           Message-ID: \
3979             <CAAdUY-KN06pvCMy5bt3+Buk3yeKjf6n9iB2FaSTTOPpCqPwyhA@mail.gmail.com>
3981           https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html
3983 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3985         Omit unnecessary clear in Fmodule_load
3987         * src/emacs-module.c (Fmodule_load):
3988         Simplify and avoid unnecessary initialization of priv member to 0.
3990         * src/emacs-module.c: (module_vec_set, module_vec_get, module_vec_size)
3992 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
3994         Prefer signed integer types in module code
3996         Generally speaking, at the C level the Emacs source code prefers
3997         signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’,
3998         partly to avoid the usual signedness confusion when comparing values.
3999         Change the module API to follow this convention.
4000         Use ‘int’ for small values that can’t exceed INT_MAX.
4001         * modules/mod-test/mod-test.c (Fmod_test_globref_make)
4002         (Fmod_test_string_a_to_b, Fmod_test_vector_fill)
4003         (Fmod_test_vector_eq):
4004         * src/emacs-module.c (struct emacs_value_frame)
4005         (module_make_global_ref, module_free_global_ref)
4006         (module_copy_string_contents, module_make_string)
4007         (module_vec_set, module_vec_get, module_vec_size):
4008         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
4009         * src/lread.c (suffix_p):
4010         Prefer signed to unsigned integer types.
4012 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4014         Omit ‘const’ on locals
4016         Remove ‘const’ qualifier from locals that were newly added.
4017         We don’t normally bother declaring locals with ‘const’ even
4018         though they are not modified, for the same reason we don’t
4019         bother declaring them with ‘register’ even though their
4020         addresses are not taken; the advantage in compile-time
4021         checking isn’t worth the loss of readability.
4022         * modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall)
4023         (Fmod_test_vector_fill, Fmod_test_vector_eq):
4024         * src/emacs-module.c (MODULE_SETJMP_1)
4025         (module_make_global_ref, module_free_global_ref)
4026         (module_non_local_exit_get, module_make_function)
4027         (module_extract_integer, module_extract_float)
4028         (module_get_user_ptr, module_set_user_ptr)
4029         (module_get_user_finalizer, module_set_user_finalizer)
4030         (module_vec_get, Fmodule_call)
4031         (module_non_local_exit_signal_1)
4032         (module_non_local_exit_throw_1, lisp_to_value)
4033         (finalize_storage, allocate_emacs_value, mark_modules)
4034         (module_handle_signal, module_handle_throw)
4035         (module_format_fun_env):
4036         * src/eval.c (push_handler, push_handler_nosignal)
4037         (init_handler):
4038         * src/lread.c (suffix_p):
4039         Omit unnecessary ‘const’.
4041 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4043         Prefer intmax_t to int64_t in module code
4045         * modules/mod-test/mod-test.c (sum, Fmod_test_sum):
4046         * src/emacs-module.c (module_extract_integer)
4047         (module_make_integer):
4048         * src/emacs-module.h (struct emacs_env_25):
4049         Prefer intmax_t to int64_t.  This doesn’t change the generated
4050         code on any of the machines Emacs currently ports to, but it’s
4051         at least in theory more future-proof as C99 doesn’t guarantee
4052         that int64_t exists.
4054 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4056         Rename module.c to emacs-module.c, etc.
4058         * src/emacs-module.c: Rename from src/module.c.
4059         * src/emacs-module.h: Rename from src/module.h.
4060         All uses changed.
4062 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4064         Fix minor module problems found by static checking
4066         * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used.
4067         * src/eval.c, src/lisp.h (lisp_eval_depth): Now static.
4068         * src/module.c (Fmodule_load): Fix pointer signedness bug.
4069         (Fmodule_call): Tell GCC that the default case is unreachable.
4071 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4073         Style fixes for indenting etc. in module code
4075         This is mostly indenting and spacing changes.  Also, remove
4076         some unnecessary static decls instead of bothering to reindent them.
4077         * src/module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
4078         as most other Emacs files do for this sort of thing.
4080 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
4082         Minor improvements in modules testing Makefile
4084         * modules/mod-test/Makefile (EMACS, SO): New variables.
4085         (CFLAGS): When SO = dll, don't use -fPIC.
4086         (check): New target, runs the test.
4088 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
4090         * .gitignore: Add "*.dll".
4092 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4094         Migrate modules/.gitignore into .gitignore
4096         * .gitignore: Add former contents of modules/.gitignore.
4097         * modules/.gitignore: Remove.
4099 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4101         Add copyright notices to module code
4103         Put them in the usual format for GNU Emacs copyright notices.
4105 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4107         Rename emacs_module.h to module.h
4109         * src/module.h: Rename from src/emacs_module.h.
4110         All uses changed.
4112 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
4114         * src/module.c (Fmodule_load): Remove unused vars `doc_name', `args'
4116         * src/lread.c (Fload): Remove unused variable `size'
4118 2015-11-19  Alan Mackenzie  <acm@muc.de>
4120         src/keyboard.c (pre-command-hook): Fix typo in doc string: "pre" -> "post".
4122 2015-11-18  Dmitry Gutov  <dgutov@yandex.ru>
4124         Prioritize looking inside vc-parent-buffer over log-view-mode fallback
4126         * lisp/vc/vc.el (vc-deduce-fileset): Prioritize looking inside
4127         vc-parent-buffer over log-view-mode fallback (bug#21955).
4129 2015-11-18  Alan Mackenzie  <acm@muc.de>
4131         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
4133 2015-11-18  Ken Brown  <kbrown@cornell.edu>
4135         * configure.ac (LIBMODULES): Don’t define on Cygwin
4137 2015-11-18  Eli Zaretskii  <eliz@gnu.org>
4139         Fix MS-Windows build --with-modules
4141         * src/module.c: Reformat copyright commentary.
4142         (module_vec_get): Use explicit cast to size_t to avoid compiler
4143         warning in 32-bit builds.
4144         (check_main_thread) [WINDOWSNT]: Fix letter-case in Windows APIs.
4145         Compare thread IDs directly, as GetThreadId is not available
4146         before Windows Vista.
4147         (check_main_thread) [WINDOWSNT]: Duplicate the thread handle
4148         without using APIs and constants not available on XP and older
4149         systems.  Obtain and store the thread ID as well.
4151 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4152             Philipp Stephani  <phst@google.com>
4154         Add dynamic module test and helper script
4156         Add 'modhelp.py' script (python2) to automate module testing and
4157         module generation.
4159         To build and test all modules in the modules/ dir
4160           $ ./modhelp.py test
4162         To generate a module from template code (good starting point)
4163           $ ./modhelp init mynewtestmodule
4165         See the script -h option for more documentation.
4167         * modules/modhelp.py: New module helper script.
4168         * modules/mod-test/Makefile: New file. Makefile for the test module.
4169         * modules/mod-test/mod-test.c: New file. Test module source file.
4170         * modules/mod-test/test.el: New file. ert test suite for the test module.
4171         * modules/.gitignore: New file. Local .gitignore file.
4173 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4175         Make 'Fload' look for modules
4177         'Fload' can now load dynamic modules. This also makes 'require' work.
4179         * src/lread.c:
4180           (suffix_p): New function.
4181           (Fload): Use 'suffix_p'.  Call 'Fmodule_load' when we try to load a file
4182           with a module suffix.
4183           (syms_of_lread): Append module suffix to 'Vload_suffixes'.
4185 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4186             Philipp Stephani  <phst@google.com>
4188         Add dynamic module module support
4190         * configure.ac: Add '--with-modules' option.  Conditionally add
4191           dynlib.o and module.o to the list of objects.  Add any system
4192           specific flags to the linker flags to support dynamic libraries.
4193         * m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
4194           attributes.
4195         * src/Makefile.in: Conditionally add module objects and linker flags.
4196         * src/alloc.c (garbage_collect_1): protect module local values from
4197           GC.
4198         * src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
4199         * src/emacs_module.h: New header file included by modules.  Public
4200           module API.
4201         * src/module.c: New module implementation file.
4203 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4205         Add new User Pointer (User_Ptr) type
4207         * src/lisp.h: Add new Lisp_Misc_User_Ptr type.
4208         (XUSER_PTR): New User_Ptr accessor.
4209         * src/alloc.c (make_user_ptr): New function.
4210         (mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr.
4211         * src/data.c (Ftype_of): Return 'user-ptr' for user pointer.
4212         (Fuser-ptrp): New user pointer type predicate function.
4213         (syms_of_data): New 'user-ptrp', 'user-ptr' symbol.  New 'user-ptrp'
4214         subr.
4215         * src/print.c (print_object): Add printer for User_Ptr type.
4217 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
4218             Philipp Stephani  <phst@google.com>
4220         Add portable layer for dynamic loading
4222         * src/dynlib.h: New file.
4223         * src/dynlib.c: New file.
4225 2015-11-18  Philipp Stephani  <phst@google.com>
4227         Add catch-all & no-signal version of PUSH_HANDLER
4229         Ground work for modules. Add a non-signaling version of PUSH_HANDLER and
4230         a new "catch-all" handler type.
4232         * src/eval.c (init_handler, push_handler, push_handler_nosignal): New
4233           functions.
4234         * src/fns.c (hash_remove_from_table): Expose function public.
4235         * src/lisp.h: New handler type, define macro to push_handler call.
4237 2015-11-18  Ken Brown  <kbrown@cornell.edu>
4239         Silence byte-compiler warning
4241         * lisp/server.el (server-process-filter): Silence byte-compiler
4242         warning.
4244 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4246         Quote symbols in docstrings using `'
4248         Be more systematic about quoting symbols `like-this' rather than
4249         `like-this or 'like-this' in docstrings.  This follows up Artur
4250         Malabarba's email in:
4251         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html
4253 2015-11-18  Peder O. Klingenberg  <peder@klingenberg.no>
4255         Fix savegames in dunnet
4257         * lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead
4258           of separate implementation.
4260 2015-11-18  Artur Malabarba  <bruce.connor.am@gmail.com>
4262         * lisp/emacs-lisp/package.el (package--with-response-buffer):
4264         Ensure we're at the start of the buffer before searching for
4265         the end of headers.
4267 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4269         * admin/release-process: Improve wording.
4271 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4273         Backport: * CONTRIBUTE: Remove information about feature freeze.
4275         (cherry picked from commit ae0653b5ab9ee223751ec389b87011963e1cbbef)
4277 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4279         Backport: Document the release process
4281         * admin/notes/versioning: Add information about RC releases.
4282         * admin/release-process: Document the release process.
4283         * admin/authors.el (authors-ignored-files):
4284         * admin/README: Change FOR-RELEASE to release-process.
4285         * CONTRIBUTE:
4286         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
4288         (cherry picked from commit 9a4aa0f5945a03611ae29c516025dbd353bd26ab)
4290 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4292         Backport: * admin/release-process: Rename from admin/FOR-RELEASE.
4294         (cherry picked from commit f8cc14b59700e51a4e31139c0a65c8154995e055)
4296 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
4298         Backport: Mention CONTRIBUTE in README
4300         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
4301         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
4302         * README: Mention CONTRIBUTE.
4304         (cherry picked from commit ed2e7e20ae0945288c98091f308f5460c3453873)
4306 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4308         Fix docstring quoting problems with ‘ '’
4310         Problem reported by Artur Malabarba in:
4311         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
4312         Most of these fixes are to documentation; many involve fixing
4313         longstanding quoting glitches that are independent of the
4314         recent substitute-command-keys changes.  The changes to code are:
4315         * lisp/cedet/mode-local.el (mode-local-augment-function-help)
4316         (describe-mode-local-overload):
4317         Substitute docstrings before displaying them.
4318         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4319         Quote the generated docstring for later substitution.
4321 2015-11-17  Eli Zaretskii  <eliz@gnu.org>
4323         Improve configure --help text for wide ints
4325         * configure.ac (wide-int): Clarify user-level advantages and
4326         disadvantages.
4328 2015-11-17  Stephen Leake  <stephen_leake@stephe-leake.org>
4330         Improve doc string
4332         * lisp/progmodes/xref.el (xref-backend-references): Improve doc string.
4334 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4336         eval_sub followed dangling pointer when debugging
4338         Problem reported by Pip Cet (Bug#21245).
4339         This bug could occur in eval_sub if the C compiler reused
4340         storage associated with the ‘argvals’ local after ‘argvals’
4341         went out of scope, and if the Elisp debugger stopped on Elisp
4342         function exit and accessed ‘argvals’.  It could also occur if
4343         a variadic function was called with so many arguments (over
4344         2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then
4345         SAFE_FREE freed the arguments, then the memory manager used
4346         the storage for other purposes, then the debugger accessed the
4347         arguments.
4348         * src/eval.c (eval_sub): Declare ‘argvals’ at top level of
4349         function body.  Simplify local decls.
4350         When allocating args via SAFE_ALLOCA, call
4351         debugger before invoking SAFE_FREE, as the debugger needs
4352         access to the args.
4353         (eval_sub, apply_lambda): Rework to avoid need for
4354         set_backtrace_debug_on_exit hack.  This is cleaner,
4355         and should work better with buggy custom debuggers.
4357 2015-11-16  Daiki Ueno  <ueno@gnu.org>
4359         * lisp/image-mode.el: Support encrypted file
4361         (image-toggle-display-image): Read content from the buffer instead
4362         of the file, if the buffer holds a decrypted data.  (Bug#21870)
4364 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
4366         ELF unexec: align section header
4368         This ports the recent unexelf.c changes to Fedora x86-64
4369         when configured with GCC’s -fsanitize=undefined option.
4370         * src/unexelf.c (unexec): Align new_data2_size to a multiple
4371         of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a
4372         pointer aligned appropriately for its type.
4374 2015-11-16  Andreas Schwab  <schwab@linux-m68k.org>
4376         Do more checks on bytecode objects (Bug#21929)
4378         * src/eval.c (funcall_lambda): Check size of compiled function
4379         object.
4380         (Ffetch_bytecode): Likewise.
4382 2015-11-16  Johan Bockgård  <bojohan@gnu.org>
4384         pcase.el: Fix edebugging of backquoted cons patterns
4386         * lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
4387         cons patterns. (Bug#21920)
4389 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
4391         Improve fix for regex reentrancy abort
4393         Suggested by Stefan Monnier (Bug#21688).
4394         * src/syntax.c (update_syntax_table_forward):
4395         Remove recently-added PROPERTIZE arg, and assume it is true.
4396         All callers changed.
4397         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
4398         Invoke update_syntax_table directly.
4400 2015-11-16  Artur Malabarba  <bruce.connor.am@gmail.com>
4402         * lisp/faces.el (faces--attribute-at-point): Use `face-list-p'
4404         * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require
4406         * lisp/emacs-lisp/nadvice.el (add-function): Escape quote
4408 2015-11-15  Vasily Korytov  <vasily.korytov@yahoo.com>
4410         Recognize .rbw and .pyw files (bug#18753)
4412         * lisp/progmodes/python.el (auto-mode-alist):
4413         Recognize .pyw files.
4415         * lisp/progmodes/ruby-mode.el (auto-mode-alist):
4416         Recognize .rbw files.
4418 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4420         Fix ruby-mode auto-mode-alist entry
4422         * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
4423         around the extensions (bug#21257).
4425 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4427         Fix etags completion near eob
4429         * lisp/progmodes/etags.el (tags-completion-at-point-function):
4430         Use `goto-char', to avoid the end-of-buffer error (bug#20061).
4432 2015-11-15  Alan Mackenzie  <acm@muc.de>
4434         De-pessimize detection of C++ member initialization lists.
4436         list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
4437         (c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
4438         is only called when a construct "looks right" rather than continually.
4439         (c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
4441 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4443         Backport: * lisp/emacs-lisp/package.el: Fix a decoding issue.
4445         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
4446         `url-insert-buffer-contents'.
4447         (url-insert-buffer-contents): New function
4449         (package--with-response-buffer): Use `url-insert-buffer-contents'.
4450         The previous code had some issues with decoding. Refactoring that
4451         function allows us to use the decoding from url-handlers while still
4452         treating both sync and async requests the same.
4454 2015-11-15  Stephen Leake  <stephen_leake@stephe-leake.org>
4456         Improve a few doc strings, comments
4458         * lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
4459         * lisp/cedet/ede/locate.el (ede-locate-base):
4460         * lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
4461         * src/fns.c (Fdelq): Improve doc string.
4463         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
4465 2015-11-15  Anders Lindgren  <andlind@gmail.com>
4467         Enhance NSTRACE (trace output for NextStep).
4469         Trace can be disabled for groups of functions. By default, event
4470         functions and functions that generate lots of output are disabled.
4472         Trace output of Objective-C functions now use the "[ClassName
4473         parameter:]" form.
4475         * src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
4476         (NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
4477         (NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
4478         controlling in which function groups trace should be active.
4479         (NSTRACE_WHEN): Support for silencing a function, this also
4480         silencing all called functions.
4481         (NSTRACE_UNSILENCE): New macro, used to re-enable trace.
4482         (NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
4483         print the full screen state in NSTRACE functions.
4485         * src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
4486         can be accessed from multiple threads.
4487         (nstrace_enabled_global): New variable, when FALSE, trace is
4488         silenced.
4489         (nstrace_restore_global_trace_state): New function, used to
4490         restore `nstrace_enabled_global' at end of block.
4491         ([EmacsView setFrame:], [EmacsWindow setFrame:display:])
4492         ([EmacsWindow setFrame:display:animation:])
4493         ([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
4494         and call corresponding super function.
4495         (Many functions): Add or enhance trace output.
4497         * src/nsimage.m (ns_image_from_file): Enhanced trace output.
4499         * src/nsfns.m (x_set_tool_bar_lines): Add trace output.
4501         * src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
4502         and call corresponding super function.
4504 2015-11-15  Anders Lindgren  <andlind@gmail.com>
4506         Fixed a toolbar related issue on OS X.
4508         Earlier, when toggling the tool-bar in a maximized frame, the
4509         frame size didn't match the number of text lines, leaving an
4510         unused area at the bottom of the frame.
4512         * nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
4513         fullscreen modes when tool bar is disabled.
4515 2015-11-15  Anders Lindgren  <andlind@gmail.com>
4517         Fixed OS X 10.6.8 build issue (bug#21862).
4519         * src/nsterm.h (EmacsView): Add missing declarations.
4520         * src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
4521         the standard method but without the notification parameter.
4522         Intended to be used for direct calls.
4523         ([EmacsView windowDidEnterFullScreen]): Call the non-notification
4524         version of `windowDidBecomeKey'. Made the notification method call
4525         the non-notification method instead of the vice versa.
4526         (NSWindowDidEnterFullScreenNotification): Deleted, no longer
4527         needed.
4529 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4531         * lisp/faces.el (faces--attribute-at-point): Fix an issue
4533         Previous code would signal an error when the face at point was
4534         a manually built list of attributes such as '(:foregroud "white").
4536         * test/automated/faces-tests.el (faces--test-color-at-point): Add a test
4538 2015-11-15  Paul Eggert  <eggert@cs.ucla.edu>
4540         Fix regex abort when it tries to reenter itself
4542         Problem reported by Ken Raeburn.
4543         Solution suggested by Stefan Monnier (Bug#21688).
4544         * src/regex.c (re_match_2_internal):
4545         Use new _FAST functions to avoid regex code reentering itself.
4546         * src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
4547         All callers changed.
4548         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
4549         (UPDATE_SYNTAX_TABLE_FAST): New inline functions.
4551 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4553         Improve Ruby 1.9-style keyword keys highlighting
4555         * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
4556         Handle required keyword arguments (bug#21367).
4557         And highlight the colon together with the name.
4559 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
4561         Unify the absolutely equal xref-backend-references implementations
4563         * lisp/progmodes/elisp-mode.el (xref-backend-references):
4564         Remove.
4566         * lisp/progmodes/etags.el (xref-backend-references):
4567         Remove.
4569         * lisp/progmodes/xref.el (xref-backend-references):
4570         Define the default implementation.
4572 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
4574         Update project-find-regexp for the new xref API
4576         * lisp/progmodes/project.el (project--read-regexp):
4577         Update to use the new xref API methods.
4579         * lisp/progmodes/xref.el (xref-find-backend): Autoload.
4581 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
4583         Fix replacing a match with a shorter string
4585         In effect, partially reverting fe973fc.
4587         * lisp/progmodes/xref.el (xref-query-replace): Store the end
4588         of each match as a marker again, instead of length.
4589         (xref--query-replace-1): Update accordingly.
4591 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
4593         * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
4595         Signal user-errors instead.
4597 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4599         Document 'describe-symbol'
4601         * doc/emacs/help.texi (Help Summary): Mention "C-h o".
4602         (Name Help): Document "C-h o" and describe-symbol.
4604         * lisp/help-fns.el (describe-symbol): Doc fix.
4606 2015-11-14  Paul Eggert  <eggert@cs.ucla.edu>
4608         Change test name to avoid spellcheck issue.
4610 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4612         Avoid signaling an error in 'describe-symbol'
4614         * lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
4615         exists as a function/variable/face/etc., but is undocumented.
4617         * test/automated/help-fns.el (help-fns-test-describe-symbol): New
4618         test.
4620 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4622         * INSTALL (--with-cairo): Document this new configure option.
4624 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4626         Document that GNU Make >= 3.81 is required to build Emacs
4628         * doc/lispref/internals.texi (Building Emacs): Document that GNU
4629         Make 3.81 or later is now required.
4631 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
4633         Backport: * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async.
4635         (package--with-work-buffer-async): Reimplement as
4636         `package--with-response-buffer'.
4637         (package--with-work-buffer): Mark obsolete.
4638         (package--with-response-buffer): New macro. This is a more self
4639         contained and less contrived version of
4640         `package--with-work-buffer-async'.  It uses keyword arguments,
4641         doesn't have async on the name, doesn't fallback on
4642         `package--with-work-buffer', and has _much_ simpler error
4643         handling.  On master, this macro will soon be part of another
4644         library (either standalone or inside url.el), which is why this
4645         commit is not to be merged back.
4647         (package--check-signature, package--download-one-archive)
4648         (package-install-from-archive, describe-package-1): Use it.
4650         (package--download-and-read-archives): Let
4651         `package--download-one-archive' take care of calling
4652         `package--update-downloads-in-progress'.
4654 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
4656         * CONTRIBUTE (Branches): Improve wording for back-ported commits.
4658 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
4660         Merge branch 'master' into emacs-25
4662 2015-11-13  John Wiegley  <johnw@newartisans.com>
4664         Merge remote-tracking branch 'origin/master' into emacs-25
4666 2015-11-13  l3thal  <kwhite@gnu.org>
4668         Merge branch 'erc-async-reconnect' into emacs-25
4670         Reconnect asynchronously.
4672 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4674         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
4676 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
4678         Port recent XCB changes to 64-bit ‘long int’
4680         For historical reasons, libX11 represents 32-bit values like Atoms as
4681         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
4682         do that, so adapt the recent XCB code to behave properly on 64-bit
4683         platforms.  Also, fix what appears to be a bug in the interpretation
4684         of xcb_get_property_value_length, at least on my Fedora platform
4685         which is running libxcb-1.11-5.fc21.
4686         * src/xfns.c (x_real_pos_and_offsets):
4687         * src/xterm.c (get_current_wm_state):
4688         xcb_get_property_value_length returns a byte count, not a word count.
4689         For 32-bit quantities, xcb_get_property_value returns a vector
4690         of 32-bit words, not of (possibly 64-bit) long int.
4692         Backport.
4694 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
4696         * src/undo.c (run_undoable_change): Now static.
4698         Backport.
4700 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4702         Remove support for ':timeout' from w32 tray notifications
4704         * src/w32fns.c (Fw32_notification_notify): Delete the code that
4705         supports ':timeout'.
4706         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
4707         with dbusbind.c when D-Bus is compiled in.
4709         * doc/lispref/os.texi (Desktop Notifications): Don't mention
4710         ':timeout'.
4712         Backport.
4714 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
4716         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
4718         (simple-test--transpositions): New macro.
4719         (simple-transpose-subr): New test.
4721         Backport.
4723 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
4725         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
4727         Backport.
4729 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
4731         * src/undo.c: Small fixes for previous change
4733         (run_undoable_change): Mark void argument list.
4734         (record_property_change): Remove unused variable `boundary'.
4736         Backport.
4738 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4740         Add a few more variables to redisplay--variables
4742         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
4743         and bidi-display-reordering to the list.
4745         Backport.
4747 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4749         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
4751         Backport.
4753 2015-11-13  Eli Barzilay  <eli@barzilay.org>
4755         Fix point positioning after transposing with negative arg
4757         * lisp/simple.el (transpose-subr): When invoked with a negative
4758         argument, move point to after the transposed text, like we do
4759         when invoked with a positive argument.  (Bug#21885)
4761         Backport.
4763 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4765         Fix last change in shr.el
4767         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
4768         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
4770         Backport.
4772 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4774         Fix last change
4776         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
4777         Don't DEFSYM tray notification symbols if D-Bus is being used.
4779         Backport.
4781 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
4783         Another fix for MinGW64 and Cygwin builds due to notifications
4785         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
4786         being compiled into Emacs.
4787         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
4788         Sw32_notification_notify and Sw32_notification_close if the code
4789         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
4791         Backport.
4793 2015-11-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4795         Remove intern calls and XXX comments from Fx_export_frames
4797         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
4798         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
4799         for consistency with image types.  Remove XXX comments.
4800         (syms_of_xfns) <Qpdf>: DEFSYM it.
4802         Backport.
4804 2015-11-13  Michael Albinus  <michael.albinus@gmx.de>
4806         Adapt Tramp version, do not merge with master
4808         * doc/misc/trampver.texi (trampver):
4809         * lisp/net/trampver.el (tramp-version): Set to "2.2.13-25.1".
4811 2015-11-11  Alan Mackenzie  <acm@muc.de>
4813         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
4815         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
4816         Windows" and new @defun selected-window-group.
4817         (Window Start and End): Describe new &optional parameter GROUP and
4818         ...-group-function for window-start, window-end, set-window-start, and
4819         pos-visible-in-window-p.
4820         (Textual Scrolling) Describe the same for recenter.
4821         doc/lispref/positions.texi (Screen Lines): Describe the same for
4822         move-to-window-line.
4824         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
4825         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
4826         new optional parameter "group".  At the beginning of each, check whether the
4827         corresponding ...-group-function is set to a function, and if so execute this
4828         function in place of the normal processing.
4829         (syms_of_window): Define symbols for the six new variables below.
4830         (window-start-group-function, window-end-group-function)
4831         (set-window-start-group-function, recenter-group-function)
4832         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
4833         New permanent local buffer local variables.
4834         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
4835         Fpos_visible_in_window_p.
4837         lisp/window.el (selected-window-group-function): New permanent local buffer
4838         local variable.
4839         (selected-window-group): New function.
4841         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
4842         enable, kill them at mode disable.  Add/remove follow-after-change to/from
4843         after-change-functions.
4844         (follow-start-end-invalid): New variable.
4845         (follow-redisplay): Manipulate follow-start-end-invalid.
4846         (follow-after-change, follow-window-start, follow-window-end)
4847         (follow-set-window-start, follow-pos-visible-in-window-p)
4848         (follow-move-to-window-line, follow-sit-for): New functions.
4850         lisp/isearch.el (isearch-call-message): New macro.
4851         (isearch-update, with-isearch-suspended, isearch-del-char)
4852         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
4853         (with-isearch-suspended): Rearrange code such that isearch-call-message is
4854         invoked before point is moved.
4855         (isearch-message): Add comment about where point must be at function call.
4856         (isearch-search): Remove call to isearch-message.
4857         (isearch-lazy-highlight-window-group): New variable.
4858         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
4859         the battery of tests to ...
4860         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
4861         Note: (sit-for 0) is still called.
4862         (isearch-lazy-highlight-update): Check membership of
4863         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
4864         property.
4865         (isearch-update, isearch-done, isearch-string-out-of-window)
4866         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
4867         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
4868         (isearch-lazy-highlight-update): Call the six amended primitives (see
4869         src/window.c above) with the new `group' argument set to t, to cooperate
4870         with Follow Mode.
4872 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
4874         * shr.el (shr-descend): Allow using lambdas in external functions.
4876 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4878         * admin/gitmerge.el: Tweaks that seemed necessary
4880         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
4881         (gitmerge-maybe-resume): Provide explicit empty commit message.
4883 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
4885         Use a different port for TLS erc
4887         * lisp/erc/erc.el (erc-default-port-tls): New variable
4888         (bug#19497).
4889         * lisp/erc/erc.el (erc-tls): Use it.
4891 2015-12-25  Alain Schneble  <a.s@realize.ch>
4893         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
4895         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
4896         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
4897         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
4898         information in URL-struct.
4899         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
4900         path and query into nil path and query, respectively.
4901         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
4902         empty path into an absolute ("/") path.
4903         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
4904         fragment-only URIs. Do not just return them unchanged.
4905         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
4906         reference URI should not drop the last segment.
4908 2015-12-25  Alain Schneble  <a.s@realize.ch>
4910         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
4912         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
4913         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
4914         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
4915         information in URL-struct.
4916         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
4917         path and query into nil path and query, respectively.
4918         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
4919         empty path into an absolute ("/") path.
4920         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
4921         fragment-only URIs. Do not just return them unchanged.
4922         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
4923         reference URI should not drop the last segment.
4925 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4927         Let url use default file modes when copying files
4929         * lisp/url/url-handlers.el (url-copy-file): Use default file
4930         modes when copying files (bug#11400).
4932 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
4934         Doc fix for url-http
4936         * lisp/url/url-http.el (url-http): Document better return values
4937           (bug#13187) (tiny change)
4939 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4941         * eww.el (eww-display-html): Support <button> tags (bug#20485).
4943 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4945         Made ffap-url-p a defun instead of a defsubst
4947         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
4948         since there doesn't seem to be much of a reason for it to be a
4949         defsubst (bug#18203).
4951 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4953         Add a command to view files in the browser to dired
4955         * lisp/dired.el (dired-mode-map): Add the `W' command
4956         (bug#18810).
4958 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4960         Allow http://user:pass@foo/ URLs again
4962         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
4963         user/passwords in URLs (bug#19046).
4965 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4967         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
4969 2015-12-25  Samer Masterson  <samer@samertm.com>
4971         Autoload url-insert-buffer-contents
4973         * lisp/url/url-handlers.el: Add autoload cookie so that
4974         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
4976 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4978         Allow toggling colors in eww
4980         * doc/misc/eww.texi (Basics): Mention "C".
4982         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
4984         * lisp/net/shr.el (shr-use-colors): New variable.
4985         (shr-colorize-region): Use it.
4987 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4989         Follow meta refresh tags in eww
4991         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
4993 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
4995         More eww file name coding fixes
4997         * eww.el (eww-decode-url-file-name): Use the base coding
4998         system to check for encodability.
5000 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5002         Always save eww history
5004         * eww.el (eww-setup-buffer): Always save history, even when
5005         called from outside the eww buffer (bug#19638).
5007 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5009         Default web pages to right-to-left
5011         * eww.el (eww-mode): Most web pages are left-to-right, so make
5012         that the default (bug#19801).
5014         * shr.el (shr-tag-html): Respect "dir" attributes
5015         (left-to-right, right-to-left).
5017 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5019         Make toggling checkboxes work again
5021         * eww.el (eww-update-field): Make toggling checkboxes work
5022         again (bug#21881).
5024 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5026         Don't store cookies with empty names
5028         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
5029         cookies with empty names (bug#21936).
5031 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5033         Stop rendering HTML before specdlr exhaustion
5035         Fixes: 22117
5037         * shr.el (shr-descend): Stop rendering before we run out of
5038         specpdl room (bug#22117).
5040 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5042         Use cl-reduce, not reduce.
5044 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5046         Allow several <tbody> tags in shr
5048         * shr.el (shr-table-body): New function to find the real body
5049         of a table.
5050         (shr-tag-table): Use it to render several <tbody> tags in a
5051         table (bug#22170).
5053 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5055         Make prettier unique file names in eww
5057         (eww-make-unique-file-name): Make unique file names by making
5058         files like foo(2).jpg instead of foo(1)(2).jpg.
5060 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5062         Decode hex-encoded URLs before using them as file names
5064         * eww.el (eww-decode-url-file-name): New function.
5065         (eww-download-callback): Use it to decode file names before
5066         saving them.
5068 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
5070         Add FreeBSD cert bundle
5072         * doc/misc/emacs-gnutls.texi (Help For Users): Document
5073         FreeBSD bundle.
5075         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
5077 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5079         Allow overriding shr functions from eww
5081         * eww.el (eww-display-html): Allow overriding elements in
5082         `shr-external-rendering-functions'.
5084 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5086         Ignore invalid SVG images
5088         * shr.el (shr-tag-svg): Ignore SVG images that have no width
5089         or height, because these can't be displayed by ImageMagick,
5090         anyway.
5092 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
5094         shr table rendering fix
5096         * shr.el (shr-tag-table): Allow rendering body-less tables
5097         that have headers.
5099 2015-12-22  Sam Steingold  <sds@gnu.org>
5101         clipboard should still work even if interprogram-* is disabled
5103         (clipboard-yank): When `interprogram-cut-function' is nil,
5104         bind it to `gui-selection-value' - the default value.
5105         (clipboard-kill-region, clipboard-kill-ring-save): When
5106         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
5107         the default value.
5109 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
5111         Fix bootstrap issue with dired-loaddefs
5113         * lisp/dired.el: Autoloads for secondary files loaded optionally.
5115 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5117         dired generate autoloads to non-versioned file.
5119         * lisp/dired.el: Remove autoloads.
5120         * lisp/Makefile.in: Add dired to autogenel.
5121         * lisp/dired-aux.el,lisp/dired-x.el: Update file local.
5122         * test/lisp/dired-tests.el: Add new test.
5124 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5126         eieio generate autoloads to non-versioned file.
5128         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
5129         * lisp/emacs-lisp/eieio.el,lisp/emacs-lisp/eieio-core.el:
5130           Remove autoloads.
5131         * lisp/emacs-lisp/eieio-compat.el,lisp/emacs-lisp/eieio-custom.el,
5132           lisp/emacs-lisp/eieio-opt.el: Update file local.
5133         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
5135 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5137         htmlfontify generate autoload to non-versioned file.
5139         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
5140         * lisp/hfy-cmap.el: Update file local.
5141         * lisp/htmlfontify.el: Remove autoloads, add require.
5142         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
5144 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5146         ibuffer generate autoloads to non-versioned file.
5148         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
5149         * lisp/ibuf-ext.el: Update file local.
5150         * lisp/ibuffer.el: Remove autoloads and add a require.
5151         * test/lisp/ibuffer-tests.el: Test that autoload is working.
5153 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5155         rmail generate autoloads to non-versioned file.
5157         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
5158         * lisp/mail/rmail.el: Remove autoloads, add require.
5159         * lisp/mail/rmailedit.el,lisp/mail/rmailkwd.el,
5160           lisp/mail/rmailmm.el,lisp/mail/rmailmsc.el,
5161           lisp/mail/rmailsort.el,lisp/mail/rmailsum.el,
5162           lisp/mail/undigest.el: Update file-local.
5163         * test/lisp/mail/rmail-tests.el:
5165 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5167         Add autoload-force target.
5169         * lisp/Makefile.in (autoload-force): New target.
5171 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5173         ps-print generate autoloads to non versioned file.
5175         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
5176         * lisp/ps-print.el: Remove autoloads.
5177         * lisp/ps-mule.el: Update file-local.
5178         * test/lisp/ps-print-tests.el: Test autoload functionality.
5180 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
5182         reftex generate autoloads to non versioned file.
5184         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
5185         * lisp/textmodes/reftex.el: Remove autoloads.
5186         * lisp/textmodes/reftex-auc.el,lisp/textmodes/reftex-cite.el,
5187           lisp/textmodes/reftex-dcr.el,lisp/textmodes/reftex-global.el,
5188           lisp/textmodes/reftex-index.el,lisp/textmodes/reftex-parse.el,
5189           lisp/textmodes/reftex-ref.el,lisp/textmodes/reftex-sel.el,
5190           lisp/textmodes/reftex-toc.el: Update autoload file-local.
5191         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
5192           function.
5194 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
5196         * lisp/calculator.el (calculator-define-key): Undo last change
5198         Make map argument mandatory instead (bug#22106).
5199         (calculator-add-operators): Pass the argument that's not optional any more.
5201 2015-12-03  Glenn Morris  <rgm@gnu.org>
5203         * Makefile.in: Avoid duplication.
5205         (have-tests): New rule.
5206         (check, check-maybe): Use it.
5208 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
5210         make check unconditional, check-maybe top-level.
5212          * Makefile.in: Add check-maybe target.
5213          * test/Makefile.in: Restore unconditional behaviour to make check.
5215 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
5217         Tests now support out-of-source-build.
5219          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
5220            about current working directory.
5222 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
5224         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
5226 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
5228         Improve documentation and clean up.
5230          * test/Makefile.in: Improve documentation, use EMACS variable
5231            correctly, and clean up makefile rules.
5233 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
5235         Update file headers for name change.
5237          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
5239 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
5241         Test files renamed to new scheme.
5243          * (finalizer-tests.el): Now renamed alloc-tests.el
5244          * (zlib-tests.el): Now renamed decompress-tests.el.
5246 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
5248         Tests now depend on source files
5250          * test/Makefile.in: Include dependences from tests to source files.
5251          * test/make-test-deps.emacs-lisp: New file
5252          * .gitignore: Ignore generated make include file
5254 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
5256         * lisp/progmodes/which-func.el: Improve disabling the mode
5258         Use lexical-binding.
5259         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
5260         (which-func, which-func-format): Remove redundant :group arg.
5261         (which-func-try-to-enable): New function.
5262         (which-func-ff-hook, which-function-mode): Use it.
5263         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
5264         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
5266 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
5268         * lisp/calculator.el (calculator-define-key): Silence warning
5270         ...about unknown calculator-mode-map.
5272 2015-11-29  Eli Barzilay  <eli@barzilay.org>
5274         * lisp/calculator.el: more improvements and bugfixes.
5276         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
5277           effect anyway.)
5279         - Simplify `calculator-number-to-string' by throwing most of the work
5280           onto `number-to-string', leaving just some tweaks for decimal inputs.
5281           This leads to some minor changes, for example, pasting "1x1" in hex
5282           mode would warn that "x" is ignored and result in "11" (and it wasn't
5283           done in decimal mode), whereas now it just ignores everything from the
5284           "x" and on and result in a "1" just like in decimal input mode.  Also,
5285           overflows are left for `number-to-string' to deal with.
5287         - `calculator-paste' is very simple as a result.
5289         - Extend the simplified `calculator-paste': with a prefix argument it
5290           pastes a string as if the characters were entered.  This can be used
5291           to reduce expressions, but note that it's a simple literal operation,
5292           so precedence can be messed, a number can be paster while entering a
5293           number, spaces and newlines matter, etc.
5295         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
5296           operator.
5298         - Fix a bug in `calculator-put-value': avoid grouping in the display
5299           that is used to construct `calculator-curnum'.  This would trigger
5300           when pasting or getting a value from a register in some radix mode
5301           with a large enough value.  Another fix: make the output radix equal
5302           the input one, otherwise numbers could be converted twice.
5304 2015-11-29  Eli Barzilay  <eli@barzilay.org>
5306         * lisp/calculator.el: Re-do key bindings.
5308         Use a helper function that arranges a parent keymap that binds alternate
5309         case keys so if some letter key is unbound and it's un/shifted version
5310         is, it will get used.  This makes the global-map trickery unnecessary.
5312         Also switch to passing strings that name keys through `kbd'.
5314 2015-11-29  Eli Barzilay  <eli@barzilay.org>
5316         * lisp/calculator.el: improve radix modes
5318         Fix prompt for some input radix with decimal output (eg, "BD" instead of
5319         the incorrect "B="); also, some minor docstring tweaks for these.
5321 2015-11-29  Eli Barzilay  <eli@barzilay.org>
5323         * lisp/calculator.el: better reading of register names
5325         Use `register-read-with-preview' with a dynamically bound
5326         `register-alist' and a proper preview function to read register names.
5328 2015-11-29  Eli Barzilay  <eli@barzilay.org>
5330         * lisp/calculator.el: General improvements
5332         Use things like `when', `unless', and `push'.
5334         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
5335         non-electric mode.
5337 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
5339         Fix a problem with gfilenotify in filenotify-tests.el
5341         * test/lisp/filenotify-tests.el
5342         (file-notify--test-expected-events): Remove.
5343         (file-notify--test-cleanup): Do not set that variable.
5344         (file-notify--test-with-events): EVENTS can also be a list of lists.
5345         (file-notify-test02-events, file-notify-test04-file-validity):
5346         Adapt expected result.
5348 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5350         * .gitignore: Adjust to changes in 'test' directory structure.
5352 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
5354         Fix test/manual/etags/Makefile
5356         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
5357         changes in 'test' directory structure.
5359 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
5361         Exclude resource dirs from search for tests.
5363         * test/Makefile.in: Test file locations are now found with find
5364           rather than using finds native functions.
5366 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
5368         Add test targets without directory names.
5370          * (test/Makefile.in): Extend test_template to add two targets for each
5371            file.
5373 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5375         * lisp/emacs-lisp/package.el: Require url-handlers
5377 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
5379         Move elisp-mode-tests to new function names.
5381          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
5382          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
5384 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
5386         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
5388 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
5390         Merge branch 'feature/standard-test-location'
5392 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
5394         * lisp/emacs-lisp/eieio.el: Add some default implementations
5396         (standard-class): Mark it obsolete.
5397         (slot-missing): Give it a default implementation.
5398         (destructor): Simplify and mark it obsolete.
5399         (object-print): Give it a default implementation.
5400         (eieio-change-class): Rename from change-class.
5401         (change-class): Redefine as obsolete alias.
5403 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5405         Some final fixes in file notification before merging with master
5407         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
5408         (file-notify-callback): Improve check for `stopped' event.  Call
5409         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
5410         (file-notify-add-watch): In case FILE is not a directory, call the
5411         file monitor for the kqueue backend.  Otherwise, call the
5412         directory monitor for the upper directory.
5414         * src/inotify.c (inotifyevent_to_event): Extract file name from
5415         watch_object if the event doesn't provide it.
5416         (Finotify_add_watch): Add file name to watch_object.
5418         * test/automated/file-notify-tests.el (file-notify--test-timeout):
5419         Use different timeouts for different libraries.
5420         (file-notify--test-with-events): Suppress lock files.  Flush
5421         outstanding events before running the body.
5422         (file-notify-test02-events, file-notify-test04-file-validity): Do
5423         not skip cygwin tests.  Add additional test for file creation.
5424         Adapt expected result for different backends.
5425         (file-notify-test03-autorevert): Some of the tests don't work for
5426         w32notify.
5427         (file-notify-test06-many-events): Rename into both directions.
5429 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5431         Rework file notifications, kqueue has problems with directory monitors
5433         * lisp/filenotify.el (file-notify-add-watch): Call the native
5434         add-watch function on the file, not on the dir.
5436         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
5437         about already deleted entries.
5439         * test/automated/auto-revert-tests.el
5440         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
5441         since this deletes the target file first.
5443         * test/automated/file-notify-tests.el (file-notify--test-event-test):
5444         Make stronger checks.
5445         (file-notify-test01-add-watch, file-notify-test02-events)
5446         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
5447         Rewrite in order to call file monitors but directory monitors.
5448         (file-notify-test06-many-events): Ler rename work in both directions.
5450 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5452         Continue with pending events
5454         * src/kqueue.c (pending_events): Remove global variable.
5455         (kqueue_compare_dir_list): Create `write' event for not used
5456         pending events.
5457         (globals_of_kqueue): Remove initialization of pending_events.
5459 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5461         Improve loops in file-notify-test06-many-events
5463         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
5464         Use `read-event' pauses for the `write-file' loops; otherwise
5465         events are lost in inotify and gfilenotify cases.
5467 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5469         Handle more complex rename operation in kqueue
5471         * src/kqueue.c (pending_events): New variable.
5472         (kqueue_compare_dir_list): Handle more complex rename operation.
5473         (globals_of_kqueue): Initialize pending_events.
5475         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
5476         Adapt expected events in the `rename-file' case.
5477         (file-notify-test06-many-events-remote): Declare.
5479 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
5481         New test with a larger number of events
5483         * test/automated/file-notify-tests.el (file-notify--test-with-events):
5484         Make timeout heuristically depend on the number of events.
5486         (file-notify-test06-many-events): Use it for new test.
5488 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5490         Further fixes for kqueue
5492         * lisp/filenotify.el (file-notify-callback): Raise also event if
5493         directory name matches.
5494         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
5496         * src/kqueue.c (kqueue_generate_event): Use watch_object as
5497         argument instead of ident.  Remove callback argument.  Adapt
5498         callees.  Check actions whether they are monitored flags.
5500         * test/automated/file-notify-tests.el (file-notify--test-library):
5501         New defun.
5502         (file-notify-test00-availability, file-notify-test02-events)
5503         (file-notify-test04-file-validity)
5504         (file-notify-test05-dir-validity): Use it.
5505         (file-notify-test02-events, file-notify-test04-file-validity): Add
5506         `read-event' calls between different file actions, in order to
5507         give the backends a chance to rais an event.  Needed especially
5508         for kqueue.  In case of deleting a directory, there are two
5509         `deleted' events.
5511 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5513         Code cleanup of kqueue.c
5515         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
5516         (kqueue_compare_dir_list): Do not loop when calling
5517         directory_files_internal.  Remove checks for "." and "..", this is
5518         done in kqueue_directory_listing now.
5519         (Fkqueue_add_watch): Check for proper emacs_open flags.
5521 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5523         Doc changes for kqueue
5525         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
5526         Fix some glitches in the example.
5528 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5530         Finish implementation in kqueue.c
5532         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
5533         Simplify access to list.
5534         (kqueue_compare_dir_list): Simplify access to list.  Raise
5535         `delete' event if directory does not exist any longer.  Otherwise,
5536         wait until directory contents has changed.  Fix error in check.
5538 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5540         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
5542 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5544         More work on kqueue
5546         * lisp/filenotify.el (file-notify-callback): Handle also the
5547         `rename' event from kqueue.
5548         (file-notify-add-watch): Do not register an entry twice.
5550         * src/kqueue.c (kqueue_directory_listing): New function.
5551         (kqueue_generate_event): New argument FILE1.  Adapt callees.
5552         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
5554 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5556         Implement directory events
5558         * lisp/filenotify.el (file-notify-handle-event)
5559         (file-notify-callback): Remove traces.
5561         * src/kqueue.c: Include <sys/time.h>.
5562         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
5563         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
5564         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
5565         Compute initial directory listing.  Close file descriptor in case
5566         of errors.
5567         (syms_of_kqueue): Declare Qcreate.
5569 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
5571         Build fixes for kqueue support
5573         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
5574         flag.
5576         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
5577         kqueue on *BSD.
5579 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5581         Continue kqueue implementation
5583         * lisp/filenotify.el (file-notify-handle-event)
5584         (file-notify-callback): Enable trace messages.
5586         * src/kqueue.c: Include also <sys/types.h>.
5587         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
5588         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
5589         (syms_of_kqueue): Add them.
5591 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5593         Work on kqueue
5595         * lisp/filenotify.el (file-notify--library)
5596         (file-notify-descriptors, file-notify-callback)
5597         (file-notify-add-watch, file-notify-rm-watch)
5598         (file-notify-valid-p): Add kqueue support.
5600         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
5602 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
5604         Add kqueue support
5606         * configure.ac (--with-file-notification): Add kqueue.
5607         (top): Remove special test for "${HAVE_NS}" and
5608         ${with_file_notification}, this is handled inside gfilenotify
5609         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
5610         instead of library specific variables.
5612         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
5614         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
5616         * src/kqueue.c: New file.
5618         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
5620 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5622         Update elisp-mode-tests for changed file location.
5624          * test/lisp/progmodes/elisp-mode-tests.el:
5626 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5628         Exclude manual tests from Makefile
5630          * test/Makefile.in:
5632 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5634         Move package test files to new directory.
5636          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
5637          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
5639 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5641         Restore delete Makefiles and fix .gitignore.
5643          * .gitignore: Update Makefiles to changed locations
5644          * test/lisp/progmodes/flymake-resources/Makefile,
5645            test/manual/etags/Makefile,
5646            test/manual/etags/make-src/Makefile,
5647            test/manual/indent/Makefile: Restored and moved to new location.
5649 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5651         Test infrastructure: updates after directory move
5653          * (test/Makefile.in): Support directories several levels deep.
5654          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
5655          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
5657 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
5659         Rename all test files to reflect source layout.
5661          * CONTRIBUTE,Makefile.in,configure.ac: Update to reflect
5662            test directory moves.
5663          * test/file-organisation.org: New file.
5664          * test/automated/Makefile.in
5665            test/automated/data/decompress/foo.gz
5666            test/automated/data/epg/pubkey.asc
5667            test/automated/data/epg/seckey.asc
5668            test/automated/data/files-bug18141.el.gz
5669            test/automated/data/flymake/test.c
5670            test/automated/data/flymake/test.pl
5671            test/automated/data/package/archive-contents
5672            test/automated/data/package/key.pub
5673            test/automated/data/package/key.sec
5674            test/automated/data/package/multi-file-0.2.3.tar
5675            test/automated/data/package/multi-file-readme.txt
5676            test/automated/data/package/newer-versions/archive-contents
5677            test/automated/data/package/newer-versions/new-pkg-1.0.el
5678            test/automated/data/package/newer-versions/simple-single-1.4.el
5679            test/automated/data/package/package-test-server.py
5680            test/automated/data/package/signed/archive-contents
5681            test/automated/data/package/signed/archive-contents.sig
5682            test/automated/data/package/signed/signed-bad-1.0.el
5683            test/automated/data/package/signed/signed-bad-1.0.el.sig
5684            test/automated/data/package/signed/signed-good-1.0.el
5685            test/automated/data/package/signed/signed-good-1.0.el.sig
5686            test/automated/data/package/simple-depend-1.0.el
5687            test/automated/data/package/simple-single-1.3.el
5688            test/automated/data/package/simple-single-readme.txt
5689            test/automated/data/package/simple-two-depend-1.1.el
5690            test/automated/abbrev-tests.el
5691            test/automated/auto-revert-tests.el
5692            test/automated/calc-tests.el
5693            test/automated/icalendar-tests.el
5694            test/automated/character-fold-tests.el
5695            test/automated/comint-testsuite.el
5696            test/automated/descr-text-test.el
5697            test/automated/electric-tests.el
5698            test/automated/cl-generic-tests.el
5699            test/automated/cl-lib-tests.el
5700            test/automated/eieio-test-methodinvoke.el
5701            test/automated/eieio-test-persist.el
5702            test/automated/eieio-tests.el
5703            test/automated/ert-tests.el
5704            test/automated/ert-x-tests.el
5705            test/automated/generator-tests.el
5706            test/automated/let-alist.el
5707            test/automated/map-tests.el
5708            test/automated/advice-tests.el
5709            test/automated/package-test.el
5710            test/automated/pcase-tests.el
5711            test/automated/regexp-tests.el
5712            test/automated/seq-tests.el
5713            test/automated/subr-x-tests.el
5714            test/automated/tabulated-list-test.el
5715            test/automated/thunk-tests.el
5716            test/automated/timer-tests.el
5717            test/automated/epg-tests.el
5718            test/automated/eshell.el
5719            test/automated/faces-tests.el
5720            test/automated/file-notify-tests.el
5721            test/automated/auth-source-tests.el
5722            test/automated/gnus-tests.el
5723            test/automated/message-mode-tests.el
5724            test/automated/help-fns.el
5725            test/automated/imenu-test.el
5726            test/automated/info-xref.el
5727            test/automated/mule-util.el
5728            test/automated/isearch-tests.el
5729            test/automated/json-tests.el
5730            test/automated/bytecomp-tests.el
5731            test/automated/coding-tests.el
5732            test/automated/core-elisp-tests.el
5733            test/automated/decoder-tests.el
5734            test/automated/files.el
5735            test/automated/font-parse-tests.el
5736            test/automated/lexbind-tests.el
5737            test/automated/occur-tests.el
5738            test/automated/process-tests.el
5739            test/automated/syntax-tests.el
5740            test/automated/textprop-tests.el
5741            test/automated/undo-tests.el
5742            test/automated/man-tests.el
5743            test/automated/completion-tests.el
5744            test/automated/dbus-tests.el
5745            test/automated/newsticker-tests.el
5746            test/automated/sasl-scram-rfc-tests.el
5747            test/automated/tramp-tests.el
5748            test/automated/obarray-tests.el
5749            test/automated/compile-tests.el
5750            test/automated/elisp-mode-tests.el
5751            test/automated/f90.el
5752            test/automated/flymake-tests.el
5753            test/automated/python-tests.el
5754            test/automated/ruby-mode-tests.el
5755            test/automated/subword-tests.el
5756            test/automated/replace-tests.el
5757            test/automated/simple-test.el
5758            test/automated/sort-tests.el
5759            test/automated/subr-tests.el
5760            test/automated/reftex-tests.el
5761            test/automated/sgml-mode-tests.el
5762            test/automated/tildify-tests.el
5763            test/automated/thingatpt.el
5764            test/automated/url-future-tests.el
5765            test/automated/url-util-tests.el
5766            test/automated/add-log-tests.el
5767            test/automated/vc-bzr.el
5768            test/automated/vc-tests.el
5769            test/automated/xml-parse-tests.el
5770            test/BidiCharacterTest.txt
5771            test/biditest.el
5772            test/cedet/cedet-utests.el
5773            test/cedet/ede-tests.el
5774            test/cedet/semantic-ia-utest.el
5775            test/cedet/semantic-tests.el
5776            test/cedet/semantic-utest-c.el
5777            test/cedet/semantic-utest.el
5778            test/cedet/srecode-tests.el
5779            test/cedet/tests/test.c
5780            test/cedet/tests/test.el
5781            test/cedet/tests/test.make
5782            test/cedet/tests/testdoublens.cpp
5783            test/cedet/tests/testdoublens.hpp
5784            test/cedet/tests/testfriends.cpp
5785            test/cedet/tests/testjavacomp.java
5786            test/cedet/tests/testnsp.cpp
5787            test/cedet/tests/testpolymorph.cpp
5788            test/cedet/tests/testspp.c
5789            test/cedet/tests/testsppcomplete.c
5790            test/cedet/tests/testsppreplace.c
5791            test/cedet/tests/testsppreplaced.c
5792            test/cedet/tests/testsubclass.cpp
5793            test/cedet/tests/testsubclass.hh
5794            test/cedet/tests/testtypedefs.cpp
5795            test/cedet/tests/testvarnames.c
5796            test/etags/CTAGS.good
5797            test/etags/ETAGS.good_1
5798            test/etags/ETAGS.good_2
5799            test/etags/ETAGS.good_3
5800            test/etags/ETAGS.good_4
5801            test/etags/ETAGS.good_5
5802            test/etags/ETAGS.good_6
5803            test/etags/a-src/empty.zz
5804            test/etags/a-src/empty.zz.gz
5805            test/etags/ada-src/2ataspri.adb
5806            test/etags/ada-src/2ataspri.ads
5807            test/etags/ada-src/etags-test-for.ada
5808            test/etags/ada-src/waroquiers.ada
5809            test/etags/c-src/a/b/b.c
5810            test/etags/c-src/abbrev.c
5811            test/etags/c-src/c.c
5812            test/etags/c-src/dostorture.c
5813            test/etags/c-src/emacs/src/gmalloc.c
5814            test/etags/c-src/emacs/src/keyboard.c
5815            test/etags/c-src/emacs/src/lisp.h
5816            test/etags/c-src/emacs/src/regex.h
5817            test/etags/c-src/etags.c
5818            test/etags/c-src/exit.c
5819            test/etags/c-src/exit.strange_suffix
5820            test/etags/c-src/fail.c
5821            test/etags/c-src/getopt.h
5822            test/etags/c-src/h.h
5823            test/etags/c-src/machsyscalls.c
5824            test/etags/c-src/machsyscalls.h
5825            test/etags/c-src/sysdep.h
5826            test/etags/c-src/tab.c
5827            test/etags/c-src/torture.c
5828            test/etags/cp-src/MDiagArray2.h
5829            test/etags/cp-src/Range.h
5830            test/etags/cp-src/burton.cpp
5831            test/etags/cp-src/c.C
5832            test/etags/cp-src/clheir.cpp.gz
5833            test/etags/cp-src/clheir.hpp
5834            test/etags/cp-src/conway.cpp
5835            test/etags/cp-src/conway.hpp
5836            test/etags/cp-src/fail.C
5837            test/etags/cp-src/functions.cpp
5838            test/etags/cp-src/screen.cpp
5839            test/etags/cp-src/screen.hpp
5840            test/etags/cp-src/x.cc
5841            test/etags/el-src/TAGTEST.EL
5842            test/etags/el-src/emacs/lisp/progmodes/etags.el
5843            test/etags/erl-src/gs_dialog.erl
5844            test/etags/f-src/entry.for
5845            test/etags/f-src/entry.strange.gz
5846            test/etags/f-src/entry.strange_suffix
5847            test/etags/forth-src/test-forth.fth
5848            test/etags/html-src/algrthms.html
5849            test/etags/html-src/index.shtml
5850            test/etags/html-src/software.html
5851            test/etags/html-src/softwarelibero.html
5852            test/etags/lua-src/allegro.lua
5853            test/etags/objc-src/PackInsp.h
5854            test/etags/objc-src/PackInsp.m
5855            test/etags/objc-src/Subprocess.h
5856            test/etags/objc-src/Subprocess.m
5857            test/etags/objcpp-src/SimpleCalc.H
5858            test/etags/objcpp-src/SimpleCalc.M
5859            test/etags/pas-src/common.pas
5860            test/etags/perl-src/htlmify-cystic
5861            test/etags/perl-src/kai-test.pl
5862            test/etags/perl-src/yagrip.pl
5863            test/etags/php-src/lce_functions.php
5864            test/etags/php-src/ptest.php
5865            test/etags/php-src/sendmail.php
5866            test/etags/prol-src/natded.prolog
5867            test/etags/prol-src/ordsets.prolog
5868            test/etags/ps-src/rfc1245.ps
5869            test/etags/pyt-src/server.py
5870            test/etags/tex-src/gzip.texi
5871            test/etags/tex-src/nonewline.tex
5872            test/etags/tex-src/testenv.tex
5873            test/etags/tex-src/texinfo.tex
5874            test/etags/y-src/atest.y
5875            test/etags/y-src/cccp.c
5876            test/etags/y-src/cccp.y
5877            test/etags/y-src/parse.c
5878            test/etags/y-src/parse.y
5879            test/indent/css-mode.css
5880            test/indent/js-indent-init-dynamic.js
5881            test/indent/js-indent-init-t.js
5882            test/indent/js-jsx.js
5883            test/indent/js.js
5884            test/indent/latex-mode.tex
5885            test/indent/modula2.mod
5886            test/indent/nxml.xml
5887            test/indent/octave.m
5888            test/indent/pascal.pas
5889            test/indent/perl.perl
5890            test/indent/prolog.prolog
5891            test/indent/ps-mode.ps
5892            test/indent/ruby.rb
5893            test/indent/scheme.scm
5894            test/indent/scss-mode.scss
5895            test/indent/sgml-mode-attribute.html
5896            test/indent/shell.rc
5897            test/indent/shell.sh
5898            test/redisplay-testsuite.el
5899            test/rmailmm.el
5900            test/automated/buffer-tests.el
5901            test/automated/cmds-tests.el
5902            test/automated/data-tests.el
5903            test/automated/finalizer-tests.el
5904            test/automated/fns-tests.el
5905            test/automated/inotify-test.el
5906            test/automated/keymap-tests.el
5907            test/automated/print-tests.el
5908            test/automated/libxml-tests.el
5909            test/automated/zlib-tests.el: Files Moved.
5911 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
5913         Rework file notifications, kqueue has problems with directory monitors
5915         * lisp/filenotify.el (file-notify-add-watch): Call the native
5916         add-watch function on the file, not on the dir.
5918         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
5919         about already deleted entries.
5921         * test/automated/auto-revert-tests.el
5922         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
5923         since this deletes the target file first.
5925         * test/automated/file-notify-tests.el (file-notify--test-event-test):
5926         Make stronger checks.
5927         (file-notify-test01-add-watch, file-notify-test02-events)
5928         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
5929         Rewrite in order to call file monitors but directory monitors.
5930         (file-notify-test06-many-events): Ler rename work in both directions.
5932 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
5934         Continie with pending events
5936         * src/kqueue.c (pending_events): Remove global variable.
5937         (kqueue_compare_dir_list): Create `write' event for not used
5938         pending events.
5939         (globals_of_kqueue): Remove initialization of pending_events.
5941 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
5943         Improve loops in file-notify-test06-many-events
5945         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
5946         Use `read-event' pauses for the `write-file' loops; otherwise
5947         events are lost in inotify and gfilenotify cases.
5949 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
5951         Handle more complex rename operation in kqueue
5953         * src/kqueue.c (pending_events): New variable.
5954         (kqueue_compare_dir_list): Handle more complex rename operation.
5955         (globals_of_kqueue): Initialize pending_events.
5957         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
5958         Adapt expected events in the `rename-file' case.
5959         (file-notify-test06-many-events-remote): Declare.
5961 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
5963         New test with a larger number of events.
5965         * test/automated/file-notify-tests.el (file-notify--test-with-events):
5966         Make timeout heuristically depend on the number of events.
5968         (file-notify-test06-many-events): Use it for new test.
5970 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
5972         Further fixes for kqueue.
5974         * lisp/filenotify.el (file-notify-callback): Raise also event if
5975         directory name matches.
5976         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
5978         * src/kqueue.c (kqueue_generate_event): Use watch_object as
5979         argument instead of ident.  Remove callback argument.  Adapt
5980         callees.  Check actions whether they are monitored flags.
5982         * test/automated/file-notify-tests.el (file-notify--test-library):
5983         New defun.
5984         (file-notify-test00-availability, file-notify-test02-events)
5985         (file-notify-test04-file-validity)
5986         (file-notify-test05-dir-validity): Use it.
5987         (file-notify-test02-events, file-notify-test04-file-validity): Add
5988         `read-event' calls between different file actions, in order to
5989         give the backends a chance to rais an event.  Needed especially
5990         for kqueue.  In case of deleting a directory, there are two
5991         `deleted' events.
5993 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
5995         Code cleanup of kqueue.c
5997         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
5998         (kqueue_compare_dir_list): Do not loop when calling
5999         directory_files_internal.  Remove checks for "." and "..", this is
6000         done in kqueue_directory_listing now.
6001         (Fkqueue_add_watch): Check for proper emacs_open flags.
6003 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
6005         Doc changes for kqueue
6007         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
6008         Fix some glitches in the example.
6010 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
6012         Finish implementation in kqueue.c
6014         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
6015         Simplify access to list.
6016         (kqueue_compare_dir_list): Simplify access to list.  Raise
6017         `delete' event if directory does not exist any longer.  Otherwise,
6018         wait until directory contents has changed.  Fix error in check.
6020 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
6022         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
6024 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
6026         More work on kqueue
6028         * lisp/filenotify.el (file-notify-callback): Handle also the
6029         `rename' event from kqueue.
6030         (file-notify-add-watch): Do not register an entry twice.
6032         * src/kqueue.c (kqueue_directory_listing): New function.
6033         (kqueue_generate_event): New argument FILE1.  Adapt callees.
6034         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
6036 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
6038         Implement directory events
6040         * lisp/filenotify.el (file-notify-handle-event)
6041         (file-notify-callback): Remove traces.
6043         * src/kqueue.c: Include <sys/time.h>.
6044         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
6045         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
6046         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
6047         Compute initial directory listing.  Close file descriptor in case
6048         of errors.
6049         (syms_of_kqueue): Declare Qcreate.
6051 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
6053         Build fixes for kqueue support.
6055         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
6056         flag.
6058         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
6059         kqueue on *BSD.
6061 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
6063         Continue kqueue implementation
6065         * lisp/filenotify.el (file-notify-handle-event)
6066         (file-notify-callback): Enable trace messages.
6068         * src/kqueue.c: Include also <sys/types.h>.
6069         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
6070         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
6071         (syms_of_kqueue): Add them.
6073 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
6075         Work on kqueue
6077         * lisp/filenotify.el (file-notify--library)
6078         (file-notify-descriptors, file-notify-callback)
6079         (file-notify-add-watch, file-notify-rm-watch)
6080         (file-notify-valid-p): Add kqueue support.
6082         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
6084 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
6086         Add kqueue support
6088         * configure.ac (--with-file-notification): Add kqueue.
6089         (top): Remove special test for "${HAVE_NS}" and
6090         ${with_file_notification}, this is handled inside gfilenotify
6091         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
6092         instead of library specific variables.
6094         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
6096         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
6098         * src/kqueue.c: New file.
6100         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
6102 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
6104         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
6106         * verilog-mode.el (verilog-save-font-no-change-functions):
6107         Commentary and fix pre-Emacs 21 behavior.
6109 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
6111         Use obarray functions from obarray.
6113         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
6114           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
6115           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
6116           delegate to obarray.el functions.
6117         * lisp/loadup.el: load obarray before abbrev
6118         * test/automated/abbrev-tests.el: new tests
6120 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
6122         epa.el: Add option to replace original text
6124         * lisp/epa.el (epa-replace-original-text): New user option.
6125         (Bug#21947)
6127 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
6129         Add interactive seek command.
6131         * lisp/mpc.el (mpc-cmd-seekcur): New function.
6132         (mpc-seek-current): New command.
6133         (mpc-mode-menu): Add entry for mpc-seek-current
6134         (mpc-mode-map): Bind mpc-seek-current to "g"
6136 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
6138         Fix issue where a new tempfile was created every refresh
6140         * lisp/mpc.el (mpc-format): Leave dir as relative path
6142 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
6144         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
6146         (c-save-buffer-state): Use with-silent-modifications when available.
6147         (c--macroexpand-all): Check macroexpand-all directly rather than
6148         c--mapcan-status.
6150 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
6152         * lisp/loadup.el: Set max-lisp-eval-depth here
6154         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
6155         (BYTE_COMPILE_FLAGS): Adjust accordingly.
6157 2015-11-17  João Távora  <joaotavora@gmail.com>
6159         Minor fix to comment indentation and typo in last commit
6161         * linum.el (linum-update-window): Fix comment indentation and a
6162         typo.
6164 2015-11-17  João Távora  <joaotavora@gmail.com>
6166         linum-mode plays more nicely with other margin-setting extensions
6168         linum.el will only modify the left margin if it needs to, and will
6169         only reset the it back to 0 if it guesses that no-one has touched that
6170         margin in the meantime.
6172         As such, this is a more of a workaround than an actual fix, but fixes
6173         the problems described in bug#20674 regarding the interaction with
6174         modes such as darkroom-mode and olivetti-mode.
6176         A similar fix was commited to nlinum.el in ELPA.git's
6177         e7f5f549fbfb740b911fb7f33b42381ecece56d8
6179         * linum.el (linum-delete-overlays): Restore margins more
6180         criteriously.
6181         (linum-update-window): Set margins more criteriously.
6183 2015-11-16  Daiki Ueno  <ueno@gnu.org>
6185         * lisp/image-mode.el: Support encrypted file
6187         (image-toggle-display-image): Read content from the buffer instead
6188         of the file, if the buffer holds a decrypted data.  (Bug#21870)
6190 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
6192         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
6194 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6196         * lisp/emacs-lisp/package.el: Fix a decoding issue
6198         (package--with-response-buffer): Use `url-insert-buffer-contents'.
6199         The previous code had some issues with decoding. Refactoring that
6200         function allows us to use the decoding from url-handlers while still
6201         treating both sync and async requests the same.
6203         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
6204         `url-insert-buffer-contents'.
6205         (url-insert-buffer-contents): New function
6207 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
6209         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
6211         (package--with-work-buffer-async): Reimplement as
6212         `package--with-response-buffer'.
6213         (package--with-work-buffer): Mark obsolete.
6214         (package--with-response-buffer): New macro. This is a more self
6215         contained and less contrived version of
6216         `package--with-work-buffer-async'.  It uses keyword arguments,
6217         doesn't have async on the name, doesn't fallback on
6218         `package--with-work-buffer', and has _much_ simpler error
6219         handling.
6221         (package--check-signature, package--download-one-archive)
6222         (package-install-from-archive, describe-package-1): Use it.
6224         (package--download-and-read-archives): Let
6225         `package--download-one-archive' take care of calling
6226         `package--update-downloads-in-progress'.
6228 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6230         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
6232         (verilog-save-buffer-state): Use with-silent-modifications when available.
6233         (verilog-save-font-no-change-functions): Don't bind
6234         before/after-change-functions if it's not needed.
6236 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
6238         * CONTRIBUTE: Remove information about feature freeze.
6240         Merge branch 'release-process-lowercase'
6242 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
6244         Document the release process
6246         * admin/notes/versioning: Add information about RC releases.
6247         * admin/release-process: Document the release process.
6248         * admin/authors.el (authors-ignored-files):
6249         * admin/README: Change FOR-RELEASE to release-process.
6250         * CONTRIBUTE:
6251         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
6253 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
6255         * admin/release-process: Rename from admin/FOR-RELEASE.
6257 2015-11-14  David Engster  <deng@randomsample.de>
6259         gitmerge: Fix git log command
6261         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
6262         only want commits from the branch that is to be merged.
6263         (gitmerge-setup-log-buffer): Use the same symmetric range as in
6264         `gitmerge-missing'.
6266 2015-11-14  David Engster  <deng@randomsample.de>
6268         gitmerge: Try to detect cherry-picks
6270         * admin/gitmerge.el (gitmerge-default-branch): Change to
6271         origin/emacs-25.
6272         (gitmerge-missing): Use symmetric difference ('...') between
6273         branch and master so that cherry-picks can be detected.
6275 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
6277         Increment Emacs version on master branch
6279         * lisp/cus-edit.el (customize-changed-options-previous-release):
6280         Increase previous version to 24.5.
6282         * configure.ac:
6283         * msdos/sed2v2.inp: Bump version to 25.1.50.
6285 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
6287         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
6288         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
6289         * README: Mention CONTRIBUTE.
6291 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
6293         Update verilog-mode.el to 2015-11-09-b121d60-vpo
6295         * verilog-mode.el (verilog-auto, verilog-delete-auto)
6296         (verilog-modi-cache-results, verilog-save-buffer-state)
6297         (verilog-save-font-no-change-functions): When internally suppressing
6298         change functions, use `inhibit-modification-hooks' and call
6299         `after-change-funtions' to more nicely work with user hooks.
6300         Reported by Stefan Monnier.
6301         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
6302         Create `verilog-delete-auto-buffer' to avoid double-calling
6303         fontification hooks.
6304         (verilog-restore-buffer-modified-p, verilog-auto)
6305         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
6306         set-buffer-modified-p.  Reported by Stefan Monnier.
6307         (verilog-diff-auto, verilog-diff-buffers-p)
6308         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
6309         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
6310         AUTOINST with unpacked dimensional parameters, bug981.  Reported by
6311         by Amol Nagapurkar.
6312         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
6313         properties inside internal structures.  No functional change
6314         intended.
6316 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
6318         Use generic dispatch for xref backends
6320         * lisp/progmodes/xref.el (xref-backend-functions):
6321         New variable.
6322         (xref-find-function): Remove.
6323         (xref-find-backend)
6324         (xref--etags-backend): New functions.
6325         (xref-identifier-at-point-function)
6326         (xref-identifier-completion-table-function): Remove.
6327         (xref-backend-definitions, xref-backend-references)
6328         (xref-backend-apropos, xref-backend-identifier-at-point)
6329         (xref-backend-identifier-completion-table):
6330         New generic functions.
6332         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
6333         Add `elisp--xref-backend' to the beginning of
6334         `xref-backend-functions', locally.  Delete references to
6335         removed functions and vars.
6336         (elisp-xref-find): Remove.
6337         (elisp--xref-backend): New function.
6338         (elisp--xref-find-references, elisp--xref-find-apropos)
6339         (elisp--xref-identifier-completion-table):
6340         Turn into appropriately named generic methods.
6342         * lisp/progmodes/etags.el (etags-xref-find): Remove.
6343         (xref-backend-identifier-completion-table)
6344         (xref-backend-references, xref-backend-definitions)
6345         (xref-backend-apropos): New generic methods.
6347 2015-11-13  Juri Linkov  <juri@linkov.net>
6349         Support rectangular regions for more commands
6351         * lisp/simple.el (region-extract-function): Handle the arg
6352         value ‘bounds’.
6353         (region-insert-function): New function.
6354         (shell-command-on-region): Add arg ‘region-noncontiguous-p’.
6355         If non-nil, operate on multiple chunks.
6356         (region-noncontiguous-p): New function.
6358         * lisp/rect.el: Add function rectangle--insert-region
6359         around region-insert-function.
6360         (extract-rectangle-bounds): New function.
6361         (rectangle--extract-region): Handle the arg value ‘bounds’.
6362         (rectangle--insert-region): New function.
6364         * lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
6365         around region-insert-function.
6366         (cua--extract-rectangle-bounds): New function.
6367         (cua--rectangle-region-extract): Handle the arg value ‘bounds’.
6369         * lisp/replace.el (query-replace, query-replace-regexp): Add arg
6370         ‘region-noncontiguous-p’.  Use ‘use-region-p’.
6371         (query-replace-regexp-eval, map-query-replace-regexp)
6372         (replace-string, replace-regexp): Use ‘use-region-p’.
6373         (keep-lines, flush-lines, how-many): Use ‘use-region-p’.
6374         (perform-replace): Add arg ‘region-noncontiguous-p’.
6375         If non-nil, operate on multiple chunks.
6377         * src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
6378         If non-nil, operate on multiple chunks.  (Bug#19829)
6380 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
6382         Handle multiple matches on the same line; add highlighting
6384         * lisp/progmodes/xref.el (xref-location-marker): Interpret the
6385         column value in characters.
6386         (xref--collect-matches): Rename from `xref--collect-match'.
6387         Search for all matches in the hit line.  Add `highlight' face to
6388         the matched region in the summary.  Update both callers.
6390 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
6392         Replace xref-match-bounds with xref-match-length
6394         Relying on xref-location-marker to point to the beginning of the match
6396         * lisp/progmodes/xref.el (xref-match-bounds): Remove.
6397         (xref-match-length): Add.
6398         (xref-make-match): Change the arguments.
6399         (xref--match-buffer-bounds): Remove.
6400         (xref-match-item): Store length, instead of end-column.
6401         (xref-pulse-momentarily)
6402         (xref--collect-match)
6403         (xref--query-replace-1): Update accordingly.
6404         (xref-query-replace): Ditto.  And check that the search results
6405         are up-to-date.
6407 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6409         Merge from gnulib
6411         This incorporates:
6412         2015-11-13 xalloc-oversized: improve performance with GCC 5
6413         * lib/xalloc-oversized.h: Copy from gnulib.
6415 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6417         Spruce up ftfont.c memory allocation
6419         * src/ftfont.c (setup_otf_gstring):
6420         Avoid O(N**2) behavior when reallocating.
6421         (ftfont_shape_by_flt): Prefer xpalloc to xrealloc when
6422         reallocating buffers; this simplifies the code.  Do not trust
6423         mflt_run to leave the output areas unchanged on failure, as
6424         this isn’t part of its interface spec.
6426 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6428         Port recent XCB changes to 64-bit ‘long int’
6430         For historical reasons, libX11 represents 32-bit values like Atoms as
6431         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
6432         do that, so adapt the recent XCB code to behave properly on 64-bit
6433         platforms.  Also, fix what appears to be a bug in the interpretation
6434         of xcb_get_property_value_length, at least on my Fedora platform
6435         which is running libxcb-1.11-5.fc21.
6436         * src/xfns.c (x_real_pos_and_offsets):
6437         * src/xterm.c (get_current_wm_state):
6438         xcb_get_property_value_length returns a byte count, not a word count.
6439         For 32-bit quantities, xcb_get_property_value returns a vector
6440         of 32-bit words, not of (possibly 64-bit) long int.
6442 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
6444         * src/undo.c (run_undoable_change): Now static.
6446 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6448         Remove support for ':timeout' from w32 tray notifications
6450         * src/w32fns.c (Fw32_notification_notify): Delete the code that
6451         supports ':timeout'.
6452         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
6453         with dbusbind.c when D-Bus is compiled in.
6455         * doc/lispref/os.texi (Desktop Notifications): Don't mention
6456         ':timeout'.
6458 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
6460         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
6461         (simple-test--transpositions): New macro.
6462         (simple-transpose-subr): New test.
6464 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
6466         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
6468 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
6470         * src/undo.c: Small fixes for previous change
6471         (run_undoable_change): Mark void argument list.
6472         (record_property_change): Remove unused variable `boundary'.
6474 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6476         Add a few more variables to redisplay--variables
6478         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
6479         and bidi-display-reordering to the list.
6481 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6483         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
6485 2015-11-13  Eli Barzilay  <eli@barzilay.org>
6487         Fix point positioning after transposing with negative arg
6489         * lisp/simple.el (transpose-subr): When invoked with a negative
6490         argument, move point to after the transposed text, like we do
6491         when invoked with a positive argument.  (Bug#21885)
6493 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6495         Fix last change in shr.el
6497         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
6498         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
6500 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6502         Fix last change
6504         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
6505         Don't DEFSYM tray notification symbols if D-Bus is being used.
6507 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
6509         Another fix for MinGW64 and Cygwin builds due to notifications
6511         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
6512         being compiled into Emacs.
6513         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
6514         Sw32_notification_notify and Sw32_notification_close if the code
6515         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
6517 2015-11-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6519         Remove intern calls and XXX comments from Fx_export_frames
6521         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
6522         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
6523         for consistency with image types.  Remove XXX comments.
6524         (syms_of_xfns) <Qpdf>: DEFSYM it.
6526 2015-11-12  Eric Hanchrow  <eric.hanchrow@gmail.com>
6528         shr: don't invoke unbound function (Bug#21895)
6530         * lisp/net/shr.el (have-fringes-p): New function.
6531         (shr-insert-document, shr-fill-text): Use it.
6533 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
6535         * test/automated/keymaps-test.el: Fix test to make it repeatable
6537         (keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map
6538         entry to its initial value to make the test repeatable in interactive
6539         sessions (assuming it doesn't fail and crashes Emacs, of course).
6541 2015-11-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6543         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
6544         Small fix.
6546 2015-11-12  Phillip Lord  <phillip.lord@newcastle.ac.uk>
6548         The heuristic that Emacs uses to add an `undo-boundary' has been
6549         reworked, as it interacts poorly with functions on `post-command-hook'
6550         or `after-change-functions'.
6552         * lisp/simple.el: New section added.
6553         * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
6554         (self_insert_command): Calls simple.el to amalgamate.
6555         (delete_char): Calls simple.el to amalgamate.
6556         * src/keyboard.c (last_undo_boundary): Removed.
6557         * src/undo.c (run_undoable_change): New function.
6559 2015-11-12  Juri Linkov  <juri@linkov.net>
6561         Bind [?\S-\ ] to previous line command in Dired-like modes
6563         * lisp/arc-mode.el (archive-mode-map):
6564         * lisp/dired.el (dired-mode-map):
6565         * lisp/proced.el (proced-mode-map):
6566         * lisp/vc/vc-dir.el (vc-dir-mode-map):
6567         Bind [?\S-\ ] to previous line command.
6568         (Bug#20790)
6570 2015-11-12  Eli Zaretskii  <eliz@gnu.org>
6572         Fix the MinGW64 and Cygwin-w32 builds
6574         * src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
6575         (MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
6576         use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
6577         which cause trouble with MinGW42 headers.  Ifdef away tray
6578         notifications code for Cygwin.  Reported by Andy Moreton
6579         <andrewjmoreton@gmail.com>.
6581 2015-11-12  Simen Heggestøyl  <simenheg@gmail.com>
6583         Enable sorting of JSON object keys when encoding
6585         * lisp/json.el (json-encoding-object-sort-predicate): New variable
6586         for specifying a sorting predicate for JSON objects during encoding.
6587         (json--plist-to-alist): New utility function.
6588         (json-encode-hash-table): Re-use `json-encode-alist' when object keys
6589         are to be sorted.
6590         (json-encode-alist): Sort output by
6591         `json-encoding-object-sort-predicate, when set.
6592         (json-encode-plist): Re-use `json-encode-alist' when object keys are
6593         to be sorted.
6594         (json-pretty-print-buffer-ordered): New command to pretty print the
6595         buffer with object keys sorted alphabetically.
6596         (json-pretty-print-ordered): New command to pretty print the region
6597         with object keys sorted alphabetically.
6599         * test/automated/json-tests.el (test-json-plist-to-alist)
6600         (test-json-encode-plist, test-json-encode-hash-table)
6601         (test-json-encode-alist-with-sort-predicate)
6602         (test-json-encode-plist-with-sort-predicate): New tests.
6604         * etc/NEWS: Add an entry for the new commands.
6606 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
6608         * test/automated/keymap-tests.el: New test file.
6610 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6612         Speed up x_real_pos_and_offsets using XCB
6614         * src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of
6615         all X calls, and pipeline requests when possible, collecting results
6616         later.  Eliminate use of x_catch_errors (and thus XSync) in XCB case.
6618 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6620         Enable use of XCB for checking window manager state
6622         * src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead
6623         of XGetWindowProperty plus error-catching, since we can explicitly
6624         check for errors in the XCB version.  This eliminates 3 XSync calls on
6625         top of the round-trip actually fetching the information.
6627 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6629         Detect XCB and save a connection handle
6631         * configure.ac: If using X11, check for XCB libraries and header.
6632         * src/Makefile.in (XCB_LIBS): Define.
6633         (LIBX_EXTRA): Include it.
6635         * src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
6636         (struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
6637         * src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
6639 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6641         Reduce some data dependencies between X calls
6643         Gains nothing in the traditional-Xlib code, but more closely aligns
6644         with how the XCB version will work.
6646         * src/xfns.c (x_real_pos_and_offsets): When translating coordinates,
6647         send coordinates (0,0) to the X server and add in the real coordinates
6648         after getting the response.  Move XGetGeometry for outer window inside
6649         error-trapping block.  Use DPY variable more, since it's available.
6651 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
6653         Use color cache for creating bitmap
6655         * src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]:
6656         Set attributes to use the caching color allocator.  Initialize and
6657         free the cache.
6659 2015-11-12  Eli Barzilay  <eli@barzilay.org>
6661         Add "^" to the interactive specs of `dired-next/previous-line'
6663         * lisp/dired.el (dired-next-line, dired-previous-line): It makes sense
6664         to bind these commands to the arrow keys, and that means that they work
6665         better with a "^" in the `interactive' declaration so selection works
6666         as expected.
6668 2015-11-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6670         Sync with soap-client repository, version 3.0.2
6672         * soap-client.el: Bump version to 3.0.2.
6674         * soap-client.el (soap-warning): Use format, not format-message.
6676         * soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
6677         (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.
6679         * soap-client.el: Support Emacs versions that do not have
6680         define-error.
6682         * soap-inspect.el: Remove version header.
6684         * soap-client.el, soap-inspect.el, jira2.el: Fix first line header
6685         format.
6687 2015-11-11  Alan Mackenzie  <acm@muc.de>
6689         CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start
6691         * lisp/progmodes/cc-engine.el (c-backward-single-comment)
6692         (c-backward-comments, c-invalidate-state-cache-1, c-parse-state-1)
6693         (c-guess-basic-syntax):
6694         Remove bindings of open-paren-in-column-0-is-defun-start to nil.
6695         (c-get-fallback-scan-pos): "New" function (existed several years ago).
6696         (c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using
6697         c-get-fallback-scan-pos.
6698         (c-parse-state-1): Handle 'BOD strategy.
6700         * lisp/progmodes/cc-mode.el (c-before-change, c-after-change)
6701         (c-font-lock-fontify-region): Remove bindings of
6702         open-paren-in-column-0-is-defun-start to nil.
6704         * doc/misc/cc-mode.texi (Performance Issues)
6705         (Limitations and Known Bugs): Fix mix up between @chapter and @appendix.
6707 2015-11-11  Artur Malabarba  <bruce.connor.am@gmail.com>
6709         * lisp/obarray.el: Fix shadowed variables.
6710         (obarray-map, obarray-remove, obarray-put, obarray-get):
6711         Change OBARRAY arg to OB to avoid shadowing ‘obarray’.
6713 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
6715         Avoid error in submitting a form with EWW
6717         * lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument
6718         CHUNK to be nil.  (Bug#21881)
6720 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
6722         Rename seq-p and map-p to seqp and mapp
6724         * lisp/emacs-lisp/seq.el (seqp): New name.
6725         * lisp/emacs-lisp/map.el (mapp): New name.
6726         * doc/lispref/sequences.texi: Update the documentation for seqp.
6727         * test/automated/map-tests.el: Update the tests for mapp.
6729 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
6731         Rename obarray-p to obarrayp
6733         * lisp/obarray.el (obarrayp): New name.
6734         * test/automated/obarray-tests.el: Update the tests.
6736 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
6738         Rename obarray-foreach to obarray-map
6740         * lisp/obarray.el (obarray-map): New name.
6741         * test/automated/obarray-tests.el: Update the corresponding tests.
6743 2015-11-11  Przemysław Wojnowski  <esperanto@cumego.com>
6745         New file with obarray functions
6747         * lisp/obarray.el: Basic obarray functions extracted from abbrev.el.
6748         * test/automated/obarray-tests.el: New file.
6750 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
6752         Implement tray notifications for MS-Windows
6754         * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef.
6755         (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE)
6756         (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO)
6757         (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID)
6758         (EMACS_NOTIFICATION_MSG): New macros.
6759         (NI_Severity): New enumeration.
6760         (get_dll_version, utf8_mbslen_lim, add_tray_notification)
6761         (delete_tray_notification, Fw32_notification_notify)
6762         (Fw32_notification_close): New functions.
6763         (syms_of_w32fns): Defsubr functions exposed to Lisp.  DEFSYM
6764         keywords used by w32-notification-notify.
6766         * doc/lispref/os.texi (Desktop Notifications): Describe the native
6767         w32 tray notifications.
6769 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
6771         Optimize `file-equal-p' and `file-in-directory-p' in Tramp
6773         * lisp/net/tramp.el (tramp-handle-file-equal-p)
6774         (tramp-handle-file-in-directory-p): New defuns.  Suggested by
6775         Harvey Chapman <hchapman@3gfp.com>.
6777         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
6778         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
6779         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
6780         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
6782 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
6784         * CONTRIBUTE: Encourage adding tests.
6786         Based on this post from John Wiegley:
6788           From: "John Wiegley" <johnw@newartisans.com>
6789           Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test
6790           To: Juanma Barranquero <lekktu@gmail.com>
6791           Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com,
6792               emacs-devel <emacs-devel@gnu.org>
6793           Date: Wed, 28 Oct 2015 18:45:29 -0700
6794           Message-ID: <m2y4emqwg6.fsf@newartisans.com>
6796           https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
6798 2015-11-10  David Reitter  <david.reitter@gmail.com>
6800         Avoid creating notification objects when possible
6802         * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:)
6803         (windowDidEnterFullScreen, windowDidExitFullScreen): Provide convenience
6804         functions that do not require a notification object.  When needed,
6805         define NSWindowDidEnterFullScreenNotification to allow for compilation
6806         on OS X 10.6.8.
6808 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6810         Move INTEGER_TO_CONS body out of .h file
6812         * src/data.c (INTBIG_TO_LISP): New macro, with most
6813         of the contents of the old INTEGER_TO_CONS.
6814         (intbig_to_lisp, uintbig_to_lisp): New functions.
6815         * src/lisp.h (INTEGER_TO_CONS):
6816         Simplify by using EXPR_SIGNED and the new functions.
6817         This shrinks code size a bit, and makes it easier to
6818         put a breakpoint on handling of large integers.
6820 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6822         Merge from gnulib
6824         This incorporates:
6825         2015-11-10 intprops: new public macro EXPR_SIGNED
6826         2015-11-10 intprops: fix typo in clang port
6827         * lib/intprops.h: Copy from gnulib.
6829 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6831         Spelling fixes
6833         * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type):
6834         Fix misspelling in output.
6836 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6838         * doc/lispref/variables.texi (Directory Local Variables):
6839         Document dir-locals wildcards.
6841         * lisp/files.el (dir-locals-file): Point to Info node.
6843         * doc/emacs/custom.texi (Directory Variables):
6844         Document dir-locals wildcards.
6846         * etc/NEWS: Document new functionality.
6848 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6850         * lisp/files.el: Don't allow customization of dir-locals sorting.
6851         In retrospect, this is not a good idea for the same reason that
6852         `dir-locals-file' is a defconst, because it is important that this
6853         behaviour be "uniform across different environments and users".
6854         Sure, the user can still change the sorting with a hack, but we
6855         shouldn't encourage them to change it.
6856         (dir-locals--all-files): Return list in the order returned by
6857         `file-expand-wildcards'.
6858         (file-expand-wildcards): Document the sorting predicate used.
6859         (dir-locals-sort-predicate): Delete variable.
6861 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6863         * lisp/files.el (dir-locals-read-from-file): Better handle errors.
6865         * lisp/isearch.el (search-default-regexp-mode): Change default value.
6867 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6869         * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files.
6870         `locate-dominating-file' will now keep looking if the files it finds in
6871         a given directory are unreadable (or not files).
6873 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6875         * lisp/files.el (dir-locals-file): Allow wildcards.
6876         (dir-locals-find-file, dir-locals-collect-variables)
6877         (dir-locals-read-from-file): Update accordingly.
6878         (hack-dir-local-variables): Rename a local variable.
6880         * lisp/files-x.el (modify-dir-local-variable): Update accordingly.
6882         * lisp/help-fns.el (describe-variable): Update accordingly.
6884         * .gitignore: Add .dir-locals?.el.
6886 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
6888         * lisp/emacs-lisp/map.el (map-merge-with): New function.
6890         * test/automated/map-tests.el (test-map-merge-with): New test.
6892 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
6894         Fix some recently-perturbed bookmark autoloads
6896         * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload.
6897         (bookmark-set): Restore autoload.
6898         (bookmark-set-no-overwrite): Add autoload.
6900         Thanks to Juanma Barranquero for noticing the autoload problems
6901         introduced by my recent commit adding/changing the above functions
6902         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
6904 2015-11-09  Noah Friedman  <friedman@splode.com>
6906         * etc/emacs-buffer.gdb (ydump-buffer): Handle case where gap is at
6907         the start of buffer.  I don't recall if older versions of gdb were
6908         less strict but you cannot dump a 0-length range in gdb 7.9.1.
6910 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
6912         * lisp/progmodes/project.el: Update Commentary.
6914         Merge branch 'project-next'
6916 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
6918         Fold `project-ask-user' into `project-current'
6920         * lisp/progmodes/project.el (project-find-functions):
6921         Remove `project-ask-user'.
6922         (project-ask-user): Remove function and the corresponding
6923         `project-roots' implementation.
6924         (project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
6925         user in case there's no project in the current directory.  Update
6926         all callers.
6928 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
6930         When VC detects a conflict, specify which file
6932         * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function.
6933         * lisp/vc/vc-svn.el (vc-svn-find-file-hook):
6934         * lisp/vc/vc-hg.el (vc-hg-find-file-hook):
6935         * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook):
6936         * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function
6937           to display a standard message that specifies the conflicted file.
6939         Before this change, the message VC used for indicating a conflicted
6940         file was just "There are unresolved conflicts in this file" without
6941         naming the file (and this language was duplicated in several places).
6942         After this change, it's "There are unresolved conflicts in file FOO"
6943         (and this language is now centralized in one function in vc.el).
6945         Justification: It's important for the message to name the conflicted
6946         file because the moment when VC realizes a file is conflicted does not
6947         always come interactively.  For example, some people automatically
6948         find a set of Org Mode files on startup, and may keep those .org files
6949         under version control.  If any of the files are conflicted, the user
6950         just sees some messages fly by, and might later check the "*Messages*"
6951         buffer to find out what files were conflicted.  I'm not saying this
6952         happened to me or anything; it's a purely hypothetical example.
6954 2015-11-09  Eli Zaretskii  <eliz@gnu.org>
6956         Fix assertion violation in define-key
6958         * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character
6959         objects.  Reported by Drew Adams <drew.adams@oracle.com>
6960         and Juanma Barranquero <lekktu@gmail.com>.
6962 2015-11-09  Dima Kogan  <dima@secretsauce.net>
6964         Fix a memory leak in GC of font cache
6966         * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font
6967         entities if some of the fonts it references are marked.  This
6968         plugs a memory leak.  (Bug#21556)
6970 2015-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6972         Use INT_ADD_WRAPV etc. to check integer overflow
6974         * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string):
6975         * src/buffer.c (record_overlay_string, overlay_strings):
6976         * src/casefiddle.c (casify_object):
6977         * src/ccl.c (Fccl_execute_on_string):
6978         * src/character.c (char_width, c_string_width, lisp_string_width)
6979         (count_size_as_multibyte, string_escape_byte8):
6980         * src/coding.c (coding_alloc_by_realloc, produce_chars):
6981         * src/data.c (arith_driver):
6982         * src/dispnew.c (realloc_glyph_pool, init_display):
6983         * src/editfns.c (styled_format):
6984         * src/fns.c (Ffillarray):
6985         * src/ftfont.c (ftfont_shape_by_flt):
6986         * src/gnutls.c (gnutls_hex_string):
6987         * src/gtkutil.c (get_utf8_string):
6988         * src/image.c (x_to_xcolors, x_detect_edges, png_load_body):
6989         * src/keymap.c (Fkey_description):
6990         * src/lisp.h (SAFE_ALLOCA_LISP):
6991         * src/term.c (encode_terminal_code):
6992         * src/tparam.c (tparam1):
6993         * src/xselect.c (x_property_data_to_lisp):
6994         * src/xsmfns.c (smc_save_yourself_CB):
6995         * src/xterm.c (x_term_init):
6996         When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to
6997         more-complicated code involving division and/or
6998         INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and
6999         subtraction and/or INT_ADD_OVERFLOW.
7000         * src/casefiddle.c (casify_object): Simplify multibyte size check.
7001         * src/character.c: Remove some obsolete ‘#ifdef emacs’s.
7002         * src/data.c (arith_driver): Also check for division overflow,
7003         as that’s now possible given that the accumulator can now contain
7004         any Emacs integer.
7005         * src/lisp.h (lisp_word_count): Remove; no longer used.
7007 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
7009         Make sure that the ignore file exists
7011         * lisp/vc/vc.el (vc-default-ignore-completion-table):
7012         Make sure that the ignore file exists.
7014 2015-11-08  Michael Sperber  <mike@xemacs.org>
7016         * gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
7017         `gnus-summary-delete-article` in a way that also works on XEmacs.
7019 2015-11-08  Simen Heggestøyl  <simenheg@gmail.com>
7021         Add support for retrieving paths to JSON elements
7023         Add support for retrieving the path to a JSON element. This can for
7024         instance be useful to retrieve paths in deeply nested JSON
7025         structures.
7027         * lisp/json.el (json-pre-element-read-function)
7028         (json-post-element-read-function): New variables to hold pre- and post
7029         read callback functions for `json-read-array' and `json-read-object'.
7030         (json--path): New variable used internally by `json-path-to-position'.
7031         (json--record-path, json--check-position): New functions used
7032         internally by `json-path-to-position'.
7033         (json-path-to-position): New function for retrieving the path to a
7034         JSON element at a given position.
7035         (json-read-object, json-read-array): Call
7036         `json-pre-element-read-function' and `json-post-element-read-function'
7037         when set.
7039         * test/automated/json-tests.el (test-json-path-to-position-with-objects)
7040         (test-json-path-to-position-with-arrays)
7041         (test-json-path-to-position-no-match): New tests for
7042         `json-path-to-position'.
7044 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
7046         * etc/NEWS: Mention new `bookmark-set-no-overwrite'.
7048         This really should been part of my previous commit
7049         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
7051 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
7053         Offer non-overwrite bookmark setter (Bug#15746)
7055         * lisp/bookmark.el (bookmark-set-internal): New helper function to do
7056         what `bookmark-set' used to do, but with more choices for overwrite
7057         vs push, and with minor changes to the interactive prompt format.
7058         (bookmark-set): Rewrite as wrapper around above.
7059         If overwriting, inform the user of that in the prompt.
7060         (bookmark-set-no-overwrite): New function, also done as wrapper.
7061         Bind to "M" in `ctl-x-r-map' autoloads.
7062         (bookmark-map): Similarly bind "M" here.
7064 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
7066         * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614).
7068 2015-11-08  Alan Modra  <amodra@gmail.com>
7070         ELF unexec: Don't insert a new section
7072         Reuse the .bss section instead, making it SHT_PROGBITS.  This way we
7073         don't need to mess with symbol st_shndx, or section sh_link and
7074         sh_info.
7076         This does lead to eu-elflint complaints about symbols defined in .bss
7077         with a needed version, because normally it is undefined symbols that
7078         have needed versions;  Defined symbols have version definitions.
7079         The exception is symbols defined by the linker in .dynbss for
7080         variables copied from a shared library in order to avoid text
7081         relocations, with copy relocs to copy their initial values from the
7082         shared library.  These symbols are both defined and have needed
7083         versions, and eu-elflink only expects to see them in SHT_NOBITS
7084         sections.  Of course there is no real problem with having such symbols
7085         in SHT_PROGBITS sections.  glibc ld.so handles them fine.
7087         * src/unexelf.c: Delete outdated comments.
7088         (PATCH_INDEX): Delete.
7089         (find_section): Delete.
7090         (unexec): Don't add a new section.  Instead reuse the last bss
7091         section, extending it to cover dumped data.  Make bss sections
7092         SHT_PROGBITS.  Remove all patching of sh_link, sh_info and
7093         st_shndx.  Rename bss sections.
7095 2015-11-08  Alan Modra  <amodra@gmail.com>
7097         ELF unexec: Drive from PT_LOAD header rather than sections
7099         This rewrites bss handling in the ELF unexec code.  Finding bss
7100         sections by name results in complicated code that
7101         - does not account for all names of possible bss sections,
7102         - assumes specific ordering of bss sections,
7103         - can wrongly choose a SHT_NOBITS section not in the bss segment,
7104         - incorrectly calculates bss size (no accounting for alignment gaps),
7105         - assumes .data and .bss are in the same segment.
7107         All of these problems and more are solved by finding the bss segment
7108         in PT_LOAD headers, ie. the address range included in p_memsz but not
7109         p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections
7110         in that address range.
7112         * src/unexelf.c: Delete old ppc comment.
7113         (OLD_PROGRAM_H): Define.
7114         (round_up): Delete.
7115         (unexec): Don't search for bss style sections by name.  Instead,
7116         use the last PT_LOAD header address range covered by p_memsz
7117         but not p_filesz and match any SHT_NOBITS section in that
7118         address range.  Simplify initialisation of section header vars.
7119         Don't assume that section headers are above bss segment.  Move
7120         copying of bss area out of section loop.  Align .data2 section
7121         to 1, since it now covers the entire bss area.  For SHT_NOBITS
7122         sections in the bss segment, leave sh_addr and sh_addralign
7123         unchanged, but correct sh_offset.  Clear memory corresponding
7124         to SHT_NOBITS .plt section.  Delete comment and hacks for
7125         sections partly overlapping bss range now that the full range
7126         is properly calculated.  Delete now dead .sbss code.
7127         (Bug#20614)
7129 2015-11-08  Alan Modra  <amodra@gmail.com>
7131         ELF unexec: R_*_NONE relocs
7133         These should be ignored on all targets.
7135         * src/unexelf.c (unexec): Ignore R_*_NONE relocs for any target,
7136         not just Alpha.  Comment on reloc size assumption.
7138 2015-11-08  Alan Modra  <amodra@gmail.com>
7140         ELF unexec: _OBJC_ symbols in bss sections
7142         This code assumed that there was only one bss section.  Rather than
7143         checking for a particular index, check the section type.  Also, handle
7144         the possibility that the section was SHT_NOBITS originally and is
7145         unchanged, in which case no clearing is needed (and sh_offset isn't
7146         necessarily valid, which can lead to a wild memset).
7148         * src/unexelf.c (unexec): Properly handle _OBJC_ symbols in
7149         bss sections.
7151 2015-11-08  Alan Modra  <amodra@gmail.com>
7153         ELF unexec: Symbol table patching
7155         No st_shndx value larger than SHN_LORESERVE should be changed.
7156         * src/unexelf.c (unexec): Don't adjust any st_shndx larger than
7157         SHN_LORESERVE.  Error on SHN_XINDEX.
7159 2015-11-08  Alan Modra  <amodra@gmail.com>
7161         ELF unexec: Merge Alpha and MIPS COFF debug handling
7163         * src/unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling.
7164         Don't find .mdebug section index, find the section in the loop.
7165         Allow for unlikely possibility that .mdebug is located at sh_offset
7166         before bss segment, by calculating move from difference in
7167         sh_offset rather than just assuming new_data2_size.  Simplify
7168         cbLineOffset handling.
7170 2015-11-08  Alan Modra  <amodra@gmail.com>
7172         ELF unexec: Tidy code
7174         Separate out some of the more mechanical changes so following patches
7175         are smaller.
7177         * src/unexelf.c (unexec): Rearrange initialisation of program
7178         header vars.  Use pointer vars in loops rather than indexing
7179         section header array via macros.  Simplify _OBJC_ sym code
7180         and reloc handling code.
7182 2015-11-08  Alan Modra  <amodra@gmail.com>
7184         ELF unexec: Correct section header index
7186         First a small fix.  The code incorrectly uses "NEW_SECTION_H (n)" when
7187         it should have been using "NEW_SECTION_H (nn)" to find the name of the
7188         section currently being processed.  Of course, before the bss
7189         sections, n and nn have the same value, so this doesn't matter except
7190         in the case of .sbss.  For .sbss this probably meant .bss (most likely
7191         the next section) was copied from memory.  A later patch removes the
7192         bogus .sbss handling anyway.
7194         * src/unexelf.c (unexec): Use correct index to look up names.
7196 2015-11-08  Michael Albinus  <michael.albinus@gmx.de>
7198         Fix Bug#21841
7200         * lisp/filenotify.el (file-notify--rm-descriptor):
7201         Use `descriptor' instead of computing its value.
7202         (file-notify--descriptor): Additional argument FILE.  Adapt all callees.
7203         (file-notify-rm-watch): Use `descriptor' when calling file name handler.
7204         (Bug#21841)
7206 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
7208         Remove dirs in vc project roots from the the vc project library roots
7210         * lisp/progmodes/project.el (project-library-roots):
7211         Remove directories inside the project roots from the result.
7212         (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
7214 2015-11-07  Dmitry Gutov  <dgutov@yandex.ru>
7216         Move and rename xref-find-regexp to the project package
7218         * lisp/progmodes/project.el (project-find-regexp)
7219         (project--read-regexp)
7220         (project--find-regexp-in): New functions.
7222         * lisp/progmodes/xref.el (xref--find-xrefs): Extract from
7223         xref--show-xrefs.  Use in existing callers in place of that
7224         function.
7225         (xref--show-xrefs): Only do the "show" part.
7226         (xref-find-regexp): Rename, more or less, to
7227         project-or-libraries-find-regexp.
7229 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
7231         Abolish temporary buffer management for xref
7233         * lisp/progmodes/xref.el (xref--temporary-buffers)
7234         (xref--current)
7235         (xref--inhibit-mark-current)
7236         (xref--mark-selected): Remove.  Remove all references.
7237         (xref--show-xrefs): Do not construct the
7238         list of the temporary buffers, nor pass it along.
7240 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
7242         Rename "search path" to "library roots"
7244         * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
7245         of the elements from CL-LIST1.
7247         * test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
7248         Update WRT to the above change.
7250         * lisp/progmodes/project.el (project-search-path-function): Rename
7251         to project-library-roots-function, update the documentation and
7252         references.
7253         (project-search-path): Likewise, to project-library-roots.
7254         (project-roots): Clarify documentation.
7255         (project-vc-search-path): Likewise, to project-vc-library-roots.
7256         (project-library-roots): In addition to the renames, thread the
7257         results through file-name-as-directory.
7258         (project-prune-directories): Accept a variable number of
7259         arguments.  Rename to project-combine-directories.
7260         (project-subtract-directories): New function.
7262         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
7263         Append project-roots and project-library-roots together.
7265         * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
7267 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
7269         Prefer xpalloc to doubling buffers by hand
7271         * src/lread.c (grow_read_buffer): New function, which uses xpalloc.
7272         (read1): Use it for simplicity.
7273         * src/macros.c (store_kbd_macro_char):
7274         * src/minibuf.c (read_minibuf_noninteractive):
7275         * src/term.c (encode_terminal_code):
7276         * src/xrdb.c (magic_db):
7277         Prefer xpalloc to growing buffers by hand.
7278         This doesn’t fix any bugs, but simplifies the code a bit.
7280 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
7282         Merge from gnulib
7284         This incorporates:
7285         2015-11-05 timespec-sub: fix overflow bug; add tests
7286         2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW
7287         2015-11-03 intprops: add parentheses
7288         * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c:
7289         Copy from gnulib.
7291 2015-11-07  David Reitter  <david.reitter@gmail.com>
7293         Provide NS notification objects where required to eliminate warnings
7295         * nsterm.m (windowDidResize:, toggleFullScreen:):
7296         Call notification functions with notification objects
7297         as per delegate APIs.
7299 2015-11-07  Noam Postavsky  <npostavs@users.sourceforge.net>
7301         Add test for bug #21824
7303         * test/automated/buffer-tests.el: New file.
7304         (overlay-modification-hooks-message-other-buf): New test.
7306 2015-11-07  Kelvin White  <kwhite@gnu.org>
7308         * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771.
7310 2015-11-07  David Reitter  <david.reitter@gmail.com>
7312         Ignore fullscreen exit notifications on NS when frame is dead
7314         * nsterm.m (windowDidResize:, windowWillExitFullScreen:)
7315         (windowDidExitFullScreen:): Return if frame is dead.
7316         These functions may be called when a fullscreen frame
7317         is closed; they are called before, not after.
7319         May address Bug#21428.
7321 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
7323         Speed up lookup in redisplay--variables
7325         * lisp/frame.el (redisplay--variables): Make it a hash-table.
7327         * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
7328         as a hash-table.  This speeds up this function by an order of
7329         magnitude: where previously a setq was slowed down by 100% by
7330         introducing the maybe_set_redisplay test, it is now only 5%
7331         slower.
7332         (syms_of_xdisp) <redisplay--variables>: Doc fix.
7334 2015-11-07  Artur Malabarba  <bruce.connor.am@gmail.com>
7336         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug.
7338         The defsubst was being created as:
7339             (cl-defsubst name (args) ("DOC") ...)
7341         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
7342         Add test.
7344 2015-11-07  Mihai Olteanu  <mihai_olteanu@fastmail.fm>  (tiny change)
7346         Update doc string of hexl-mode
7348         * lisp/hexl.el (hexl-mode): Doc fix.  (Bug#21800)
7350 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
7352         Fix error in copy-abbrev-table
7354         * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff
7355         property of the abbrev-table.  (Bug#21828)
7357         * test/automated/abbrev-tests.el: New file.
7359 2015-11-07  Michael Albinus  <michael.albinus@gmx.de>
7361         Add test to auto-revert-tests.el for Bug#21841
7363         * test/automated/auto-revert-tests.el
7364         (auto-revert-test01-auto-revert-several-files): New test.
7365         (auto-revert-test02-auto-revert-tail-mode)
7366         (auto-revert-test03-auto-revert-mode-dired): Rename them.
7368 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
7370         * doc/lispref/windows.texi (Coordinates and Windows): Fix typo.
7372 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
7374         In x_consider_frame_title don't set title of tooltip frames
7376         * src/xdisp.c (x_consider_frame_title): Return immediately for
7377         tooltip frames to avoid displaying empty tooltips.
7379 2015-11-06  Anders Lindgren  <andlind@gmail.com>
7381         Fixed NextStep fullscreen problem (bug#21770).
7383         * src/nsterm.m (ns_constrain_all_frames): Don't constrain
7384         fullscreen frames.
7386 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
7388         Ensure redisplay after evaluation
7390         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
7391         Revert last change.
7392         * lisp/frame.el (redisplay--variables): Populate the
7393         redisplay--variables list.
7394         * src/xdisp.c (maybe_set_redisplay): New function.
7395         (syms_of_xdisp) <redisplay--variables>: New variable.
7396         * src/window.h (maybe_set_redisplay): Declare prototype.
7397         * src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
7399 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
7401         * test/automated/subr-tests.el (subr-test-when): Fix again.
7403 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
7405         Don't invoke overlay modification hooks in wrong buffer
7407         * src/buffer.c (report_overlay_modification): When called with
7408         AFTER non-zero, don't invoke overlay modification hooks if the
7409         buffer recorded in last_overlay_modification_hooks is different
7410         from the current buffer.  (Bug#21824)
7412 2015-11-06  Juanma Barranquero  <lekktu@gmail.com>
7414         * admin/notes/repo: Fix a few obsolete references to Bazaar.
7416 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
7418         * test/automated/subr-tests.el (subr-test-when): Fix test.
7420 2015-11-06  Martin Rudalics  <rudalics@gmx.at>
7422         Avoid division by zero crash observed by Yuan MEI
7424         See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html.
7426         * src/dispnew.c (required_matrix_height, required_matrix_width):
7427         Avoid division by zero.
7428         * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and
7429         dpyinfo->smallest_char_width to 1.
7431 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
7433         Ensure redisplay after "C-x C-e"
7435         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure
7436         redisplay happens to account for any side effects of the evaluated
7437         sexp.  (Bug#21835)
7439 2015-11-06  Michael Albinus  <michael.albinus@gmx.de>
7441         Skip some file notification tests for cygwin
7443         * test/automated/file-notify-tests.el (file-notify--test-with-events):
7444         Remove argument TIMEOUT.  Adapt all callees.
7445         (file-notify-test02-events, file-notify-test04-file-validity):
7446         Skip for cygwin.  (Bug#21804)
7448 2015-11-05  Stephen Leake  <stephen_leake@stephe-leake.org>
7450         * lisp/progmodes/xref.el: Require semantic/symref during compilation.
7452 2015-11-05  Daiki Ueno  <ueno@gnu.org>
7454         Suppress redundant Pinentry startup messages
7456         * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument.
7457         * lisp/epg.el: Declare `pinentry-start'.
7458         (epg--start): Call `pinentry-start' with QUIET argument set.
7460 2015-11-05  Xue Fuqiao  <xfq.free@gmail.com>
7462         * doc/emacs/ack.texi (Acknowledgments): Updates.
7464 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
7466         * test/automated/elisp-mode-test.el: Silence some run-time warnings.
7467         (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
7469 2015-11-05  Tassilo Horn  <tsdh@gnu.org>
7471         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
7472         Add prettification support for \times.
7474 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
7476         * test/automated/process-tests.el: Skip tests when bash is unavailable.
7477         (process-test-sentinel-accept-process-output)
7478         (process-test-sentinel-sit-for): skip-unless bash executable found.
7480 2015-11-05  Eli Zaretskii  <eliz@gnu.org>
7482         Add test for bug #21831
7484         * test/automated/process-tests.el
7485         (start-process-should-not-modify-arguments): New test.  (Bug#21831)
7486         Suggested by Nicolas Richard <youngfrog@members.fsf.org>
7488 2015-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
7490         * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests.
7492         (eieio--generic-static-object-generalizer): Fix typo.
7493         * test/automated/eieio-tests.el: Byte-compile it again.  It looks
7494         like the underlying cause of bug#17852 was fixed in the mean time.
7496 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7498         Revert "* lisp/subr.el (when): Use `macroexp-progn'"
7500         This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8.
7501         It breaks bootstrapping (duh).
7503 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7505         * lisp/files.el (report-errors): Obsolete.
7507         (normal-mode, hack-local-variables, dir-locals-find-file):
7508         Use `with-demoted-errors' instead.
7510 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7512         * lisp/subr.el (when): Use `macroexp-progn'.
7514         * test/automated/subr-tests.el (subr-test-when): New test.
7516 2015-11-04  Juanma Barranquero  <lekktu@gmail.com>
7518         * lisp/progmodes/xref.el: Doc fixes.
7519         (xref-make-file-location, xref-make-buffer-location, xref-make)
7520         (xref-make-bogus-location, xref-make-match): Add cross-references.
7521         (xref--insert-xrefs): Fix typo in docstring.
7523 2015-11-04  Anders Lindgren  <andlind@gmail.com>
7525         Render fringe bitmaps correctly on NextStep (bug#21301)
7527         The fringe bitmaps were inverted, the background was not transparent,
7528         the image data was horizontally mirrored, and periodic fringe bitmaps
7529         were not supported.
7531         * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]):
7532         When both background and foreground colors are 0, set the background
7533         alpha channel to 0 (making the background transparent).  When
7534         copying the image data, do this from the most significant bit
7535         (leftmost) to the least (rightmost), to avoid mirroring.
7536         * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits.
7537         Add support for periodic images (e.g. the empty line indicator).
7539 2015-11-03  Michael Heerdegen  <michael_heerdegen@web.de>
7541         * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring.
7543 2015-11-03  Nicolas Petton  <nicolas@petton.fr>
7545         * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el.
7547         * admin/MAINTAINERS: Add thunk.el.
7549 2015-11-03  Jay Belanger  <jay.p.belanger@gmail.com>
7551         * lisp/calc/calc (calc-bug-address): Change maintainer address.
7553 2015-11-03  Michael Albinus  <michael.albinus@gmx.de>
7555         Fix a stupid error in gfilenotify.c
7557         * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only,
7558         if we've got a `deleted' signal AND the file name is the watched one.
7560 2015-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
7562         Fix Bug#21816; case insensitive file system in elisp-mode-tests.el
7564         * test/automated/elisp-mode-tests.el (xref-elisp-test-run):
7565         Use case-insensitive string compare for file names.
7566         (emacs-test-dir): Add 'downcase' to cause case differences (at
7567         least on my system).
7569 2015-11-02  Juanma Barranquero  <lekktu@gmail.com>
7571         flymake-tests.el (warning-predicate-rx-gcc): Fix check
7573         * test/automated/flymake-tests.el (warning-predicate-rx-gcc):
7574         Also check that "make" is available, not just "gcc".
7576 2015-11-02  Ken Brown  <kbrown@cornell.edu>
7578         Document behavior of collation on Cygwin
7580         * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as
7581         expected failure on Cygwin.
7582         * doc/lispref/strings.texi (Text Comparison): Document that
7583         punctuation and whitespace are not ignored for sorting on Cygwin.
7585 2015-11-02  Dani Moncayo  <dmoncayo@gmail.com>
7587         * build-aux/msys-to-w32: Prevent double slashes in w32 path list.
7589 2015-11-01  Glenn Morris  <rgm@gnu.org>
7591         * lisp/progmodes/f90.el (f90-no-block-limit): Add associate.
7592         (Bug#21794)
7593         * test/automated/f90.el (f90-test-bug21794): New test.
7595 2015-11-01  Juanma Barranquero  <lekktu@gmail.com>
7597         Fix incompatibility with TCC in test for bug#18745
7599         * test/automated/process-tests.el (process-test-quoted-batfile):
7600         Remove spaces unrelated to the bug being tested.
7602 2015-11-01  Michael Albinus  <michael.albinus@gmx.de>
7604         Improve completion in tramp-gvfs.el
7606         * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names):
7607         Rename from `tramp-zeroconf-parse-service-device-names'.
7608         (tramp-zeroconf-parse-webdav-device-names): Remove.  Code merged
7609         with `tramp-zeroconf-parse-device-names'.
7610         (tramp-gvfs-parse-device-names): New defun.
7611         (top): Use it when `tramp-zeroconf-parse-device-names' is not
7612         applicable.
7614         * lisp/net/tramp.el (tramp-set-completion-function): The argument
7615         could also be a zeroconf service type.
7617 2015-10-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7619         * lisp/net/ntlm.el: Change version to 2.0.0.
7621 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
7623         Fix bug#21762
7624         * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
7625         `eql' instead of `=' to accommodate the case that (syntax-after (point))
7626         returns nil.
7627         * test/automated/python-tests.el (python-indent-inside-paren-7):
7628         New test.
7630 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
7632         * test/automated/python-tests.el: Avoid warnings.
7633         (python-tests-with-temp-buffer, python-tests-with-temp-file):
7634         Bind `python-indent-guess-indent-offset' to nil.
7636 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
7638         * src/alloc.c: Silence compiler warnings.
7639         (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC.
7641 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
7643         * etc/NEWS: Fix js-jsx-mode entry punctuation.
7645 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
7647         Add JSX indentation via js-jsx-mode  (Bug#21799)
7649         * progmodes/js.el: Add JSX indentation support.
7650         (js--jsx-end-tag-re)
7651         (js--jsx-after-tag-re): New variables.
7652         (js--jsx-find-before-tag)
7653         (js--jsx-indented-element-p)
7654         (js--as-sgml)
7655         (js--expression-in-sgml-indent-line)
7656         (js-jsx-indent-line)
7657         (js-jsx-mode): New functions.
7658         * test/indent/js-jsx.el: New file.
7659         * etc/NEWS: Add information about js-jsx-mode.
7661 2015-10-31  Michael Albinus  <michael.albinus@gmx.de>
7663         Minor fix in filenotify.el
7665         * lisp/filenotify.el (file-notify--event-file-name)
7666         (file-notify--event-file1-name): Normalize result with
7667         `directory-file-name'.
7669 2015-10-31  Eli Zaretskii  <eliz@gnu.org>
7671         Avoid errors in redisplay--pre-redisplay-functions
7673         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
7674         use 'bobp', instead compare window-point with 1.  (Bug#21730)
7676 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7678         Merge from gnulib
7680         This incorporates:
7681         2015-10-30 intprops: add WRAPV and const flavors for GCC 5
7682         2015-10-25 stdalign: port to Sun C 5.9
7683         * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h:
7684         Copy from gnulib.
7686 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
7688         * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro.
7689         (w32_compare_strings): Adjust for the correction.
7691 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
7693         * test/automated/vc-tests.el (vc-test--state)
7694         (vc-test--working-revision, vc-test--checkout-model):
7695         Add result messages.
7697 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7699         * test/automated/faces-tests.el: Add another test
7701 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7703         * lisp/faces.el (faces--attribute-at-point): Fix bug
7704         introduced by previous commit.
7706 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7708         * test/automated/faces-tests.el: New file.
7710 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7712         * lisp/faces.el: Refactor common code and fix a bug.
7713         (faces--attribute-at-point): New function.  Fix a bug when the
7714         face at point is a list of faces and the desired attribute is not
7715         on the first one.
7716         (foreground-color-at-point, background-color-at-point): Use it.
7718 2015-10-30  Przemysław Wojnowski  <esperanto@cumego.com>
7720         * etc/tutorials/TUTORIAL.translators: Fix PL names.
7722 2015-10-30  Juanma Barranquero  <lekktu@gmail.com>
7724         * lisp/character-fold.el: Provide `character-fold'.
7726 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
7728         * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces
7729         for Gnus and ivy.
7731 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
7733         Some minor fixes for tramp-gvfs.el
7735         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
7736         An attribute returned by gvfs-info might be empty.  In case of
7737         undetermined uid or gid, return "UNKNOWN" or -1, respectively.
7738         (tramp-zeroconf-parse-service-device-names): New defun.
7739         Derived from `tramp-zeroconf-parse-workstation-device-names'.
7740         (top): Add completion functions for "afp" and "smb" methods.
7742 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7744         * test/automated/character-fold-tests.el: New file
7746 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7748         * test/automated/sort-tests.el: New file.
7749         Tests in this file are randomly generated and then tested with
7750         regular, reverse, and case-fold sorting.
7752 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
7754         Describe known problems with pinning Emacs to taskbar
7756         * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar
7757         on Windows 10.  For the details, see the discussion starting at
7758         http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html.
7760 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7762         * lisp/isearch.el: Avoid an error that blocks isearch.
7763         (isearch-update): Don't error if `isearch--current-buffer' has
7764         been killed.
7766         * test/automated/isearch-tests.el (isearch--test-update):
7767         New file.
7769 2015-10-30  Phil Sainty  <psainty@orcon.net.nz>
7771         Fix documentation of 'beginning/end-of-buffer'
7773         * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify
7774         conditions under which the mark will be pushed at the previous
7775         position.  (Bug#21748)
7777 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
7779         Add RefTeX feature idea: editing RefTeX TOC buffers
7781         More face defs for ivy, swiper, ace-window, eshell
7783 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7785         * lisp/gnus/auth-source.el: Silence lexical-binding warnings.
7786         (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to
7787         just VAR.
7788         (auth-source-backend-parse): Use make-instance.
7789         (auth-source-search): Remove unused key args.
7790         Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
7791         (auth-source-search-backends): Use slot names rather than their initarg.
7792         (auth-source-netrc-create):
7793         (auth-source-delete):
7794         (auth-source-secrets-create, auth-source-plstore-search)
7795         (auth-source-macos-keychain-create, auth-source-macos-keychain-search)
7796         (auth-source-plstore-create, auth-source-netrc-search)
7797         (auth-source-netrc-parse): Remove unused key args.
7798         (auth-source-forget+): Simplify the arglist.
7799         (auth-source-macos-keychain-search-items)
7800         (auth-source-token-passphrase-callback-function): Mark unused args.
7801         (auth-source-epa-extract-gpg-token): Remove unused var `plain'.
7802         (pp-escape-newlines): Declare.
7803         (auto-source--symbol-keyword): New function.
7804         (auth-source-plstore-create, auth-source-netrc-create)
7805         (auth-source-netrc-normalize): Use it.
7806         (auth-source-netrc-search): Don't pass :delete to
7807         auth-source-netrc-parse since it doesn't use it.
7808         (auth-source-plstore-create, auth-source-netrc-create): Use plist-get
7809         symbol-value to index in keyword args.
7810         (auth-source-macos-keychain-result-append): Avoid setq.
7811         (auth-source-netrc-create): Remove unused vars `file' and `add'.
7812         (auth-source-user-or-password): Remove unused var `cname'.
7814 2015-10-29  Juri Linkov  <juri@linkov.net>
7816         * lisp/dired.el (dired-unmark-all-files-query): Declare.
7817         (dired-unmark-all-files): Let-bind it and use instead of ‘query’.
7818         (Bug#21746)
7820 2015-10-29  Juri Linkov  <juri@linkov.net>
7822         * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol
7823         to go to the beginning of text line instead of command line.
7824         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html
7826 2015-10-29  Eli Zaretskii  <eliz@gnu.org>
7828         Fix encoding of saving *Help* buffers
7830         * lisp/help-fns.el (describe-function-1): If we use curved quotes,
7831         set help buffer's buffer-file-coding-system to UTF-8.  (Bug#21780)
7833 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7835         * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context.
7836         (cl--generic-derived-specializers): New function.
7837         (cl--generic-derived-generalizer): New generalizer.
7838         (cl-generic-generalizers): New specializer (derived-mode MODE).
7839         (cl--generic-split-args): Apply the rewriter, if any.
7840         (cl-generic-define-context-rewriter): New macro.
7841         (major-mode): Use it to define a new context-rewriter, so we can write
7842         `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
7844         * lisp/frame.el (window-system): New context-rewriter so we can write
7845         `(window-system VAL)' instead of (window-system (eql VAL)).
7846         (cl--generic-split-args): Apply the rewriter, if any.
7847         (frame-creation-function): Use the new syntax.
7849         * lisp/term/x-win.el (window-system-initialization)
7850         (handle-args-function, frame-creation-function)
7851         (gui-backend-set-selection, gui-backend-selection-owner-p)
7852         (gui-backend-selection-exists-p, gui-backend-get-selection):
7853         * lisp/term/w32-win.el (window-system-initialization)
7854         (handle-args-function, frame-creation-function)
7855         (gui-backend-set-selection, gui-backend-get-selection)
7856         (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
7857         * lisp/term/pc-win.el (gui-backend-get-selection)
7858         (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
7859         (gui-backend-set-selection, window-system-initialization)
7860         (frame-creation-function, handle-args-function):
7861         * lisp/term/ns-win.el (window-system-initialization)
7862         (handle-args-function, frame-creation-function)
7863         (gui-backend-set-selection, gui-backend-selection-exists-p)
7864         (gui-backend-get-selection):
7865         * lisp/startup.el (handle-args-function):
7866         * lisp/term/xterm.el (gui-backend-get-selection)
7867         (gui-backend-set-selection): Use the new syntax.
7869 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7871         * test/indent/css-mode.css: Add tests for url(...) syntax.
7873 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7875         * lisp/emacs-lisp/smie.el: Use `declare' for `pure'.
7876         (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2)
7877         (smie-prec2->grammar): Use `declare'.
7879 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7881         * lisp/emacs-lisp/cl-generic.el: Accommodate future changes.
7882         (cl--generic-generalizer): Add `name' field.
7883         (cl-generic-make-generalizer): Add corresponding `name' argument.
7884         (cl-generic-define-generalizer): New macro.
7885         (cl--generic-head-generalizer, cl--generic-eql-generalizer)
7886         (cl--generic-struct-generalizer, cl--generic-typeof-generalizer)
7887         (cl--generic-t-generalizer): Use it.
7888         (cl-generic-ensure-function): Add `noerror' argument.
7889         (cl-generic-define): Use it so we don't follow aliases.
7890         (cl-generic-define-method): Preserve pre-existing ordering of methods.
7891         (cl--generic-arg-specializer): New function.
7892         (cl--generic-cache-miss): Use it.
7893         (cl-generic-generalizers): Only fset a temporary definition
7894         during bootstrap.
7895         (cl--generic-struct-tag, cl--generic-struct-specializers):
7896         Allow extra arguments.
7898         * lisp/emacs-lisp/eieio-compat.el
7899         (eieio--generic-static-symbol-generalizer)
7900         (eieio--generic-static-object-generalizer):
7901         Use cl-generic-define-generalizer.
7902         (eieio--generic-static-symbol-specializers): Allow extra arguments.
7904         * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
7905         (eieio--generic-subclass-generalizer):
7906         Use cl-generic-define-generalizer.
7907         (eieio--generic-subclass-specializers): Allow extra arguments.
7909 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7911         * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope.
7913 2015-10-29  Michael Albinus  <michael.albinus@gmx.de>
7915         Add "afp" method to Tramp
7917         * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
7919         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
7920         (tramp-gvfs-handle-expand-file-name)
7921         (tramp-gvfs-handler-mounted-unmounted)
7922         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
7923         (tramp-gvfs-maybe-open-connection): Support also "afp".
7924         (tramp-gvfs-handle-file-attributes): Handle the case of empty
7925         "owner::user" and "owner::group" entries.
7927 2015-10-29  Andy Moreton  <andrewjmoreton@gmail.com>
7929         Handle negative coordinates in ‘x_calc_absolute_position’
7931         * src/w32term.c (x_calc_absolute_position): Find display origin to
7932         allow for negative coordinates.
7934 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
7936         (internal--syntax-propertize): Save match-data here (bug#21766)
7938         * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data.
7939         * lisp/simple.el (delete-trailing-whitespace): Undo last change.
7941 2015-10-28  Dmitry Gutov  <dgutov@yandex.ru>
7943         Don't require default-directory to end with a slash
7945         * doc/lispref/files.texi (Magic File Names): Document the change
7946         in unhandled-file-name-directory.
7948         * lisp/url/url-handlers.el
7949         (url-handler-unhandled-file-name-directory): Update accordingly.
7951         * src/buffer.c (default-directory): Update the docsting.
7953         * src/fileio.c (unhandled-file-name-directory): Default to calling
7954         `file-name-as-directory'
7955         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
7957 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7959         * lisp/isearch.el: Delete some outdated comments.
7961 2015-10-28  Vibhav Pant  <vibhavp@gmail.com>
7963         Fix eshell/clear not working if the output has a small line count
7965         * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the
7966         number of newlines to be inserted. This fixes the issue where
7967         eshell/clear wouldn't work if the prompt was not at the bottom of the
7968         window, and the output wasn't too long.
7970 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
7972         * lisp/files.el (write-file): Use vc-refresh-state.
7974         * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state.
7976         * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state.
7978 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
7980         * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations.
7981         (macroexp-unprogn): Make sure we never return an empty list.
7982         (macroexp-if): Remove unused (and unsafe) optimization.
7983         Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does
7984         occur occasionally.
7986 2015-10-28  Juanma Barranquero  <lekktu@gmail.com>
7988         Fix bug#21766 and add test
7989         * lisp/simple.el (delete-trailing-whitespace): Save match data when
7990         calling `skip-syntax-backward'.
7991         * test/automated/simple-test.el (simple-delete-trailing-whitespace):
7992         New test.
7994 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7996         * doc/lispref/sequences.texi (Sequence Functions): Fix typo.
7998 2015-10-28  Paul Eggert  <eggert@cs.ucla.edu>
8000         * src/dispnew.c (init_display): Simplify overflow checking.
8002 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8004         * lisp/character-fold.el (character-fold-to-regexp): Fix case
8005         where string ends in space
8007 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8009         * lisp/emacs-lisp/seq.el (seq-mapn): New function.
8011         * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn.
8013 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8015         * lisp/character-fold.el: Make compatible with lax-whitespace.
8016         (character-fold-to-regexp): Rework internals to play nice with
8017         lax-whitespacing.
8019         When the user types a space, we want to match the table entry for
8020         ?\s, which is generally a regexp like "[ ...]".  However, the
8021         `search-spaces-regexp' variable doesn't "see" spaces inside these
8022         regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to
8023         manually expose a space).
8025         Furthermore, the lax search engine acts on a bunch of spaces, not
8026         on individual spaces, so if the string contains sequential spaces
8027         like "  ", we need to keep them grouped together like this:
8028         "\\(  \\|[ ...][ ...]\\)".
8030 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8032         * lisp/isearch.el: Refactor momentary messages.
8033         (isearch--momentary-message): New function.
8034         (isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
8035         (isearch-toggle-invisible): Use it.
8037 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8039         * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'.
8040         (isearch-define-mode-toggle): New macro.
8041         (isearch-toggle-invisible): Rename to
8042         `isearch-define-mode-toggle'.
8043         (isearch-toggle-case-fold, isearch-toggle-invisible)
8044         (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
8045         with `isearch-define-mode-toggle'.
8047 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
8049         Avoid using `add-to-list' on a let-local var in tramp-smb.el
8051         * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun.
8052         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
8054 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
8056         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
8057         Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups'
8058         does not exist in XEmacs 21.4.
8060 2015-10-28  Anders Lindgren  <andlind@gmail.com>
8062         Fixed OS X startup crash
8064         Input events started to arrive before ns_term_init() was finished.
8065         Solved by blocking input.  This also seems to correct the "You
8066         can't open the application "Emacs" because it may be damaged or
8067         incomplete" error issued when double-clicking on the Emacs
8068         application.
8070         * nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
8071         * nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
8073 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8075         * src/process.c (Fget_buffer_process): Improve docstring.
8076         Document the fact that it doesn't return dead processes.
8078 2015-10-28  Anders Lindgren  <andlind@gmail.com>
8080         Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
8082         * nsterm.h (struct ns_output): New flag, in_animation.
8083         * nsfns.m (Fx_create_frame): Initialize in_animation flag.
8084         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
8085         in_animation flag around call to "setVisible". Set new tool bar
8086         height before call to setVisible.
8087         * nsterm.m (x_set_window_size): Don't call [view setRow:
8088         andColumns:] as this fools the subsequent call to updateFrameSize
8089         from performing the real resize.
8090         (windowDidResize): Don't update anything when in_animation is
8091         non-zero.
8093         Trace output.
8095         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
8096         (EmacsToolbar):
8097         * nsterm.m (x_set_window_size, updateFrameSize)
8098         ([EmacsView setRows: andColumns:])
8100 2015-10-28  Nicolas Petton  <nicolas@petton.fr>
8102         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro.
8104 2015-10-28  Tassilo Horn  <tsdh@gnu.org>
8106         Prettify TeX macros not ending in a word char
8108         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
8109         Prettify macros which don't end in a word character.
8111 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
8113         Pipe Hg commit descriptions through 'tabindent'
8115         * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description
8116         through 'tabindent'.
8117         (vc-hg-log-view-mode): Set tab-width to 2 locally.
8118         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html)
8120 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8122         * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var.
8123         (tramp-smb-handle-directory-files): Use `delete-dups'.
8125         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
8127 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8129         * lisp/international/ccl.el: Use lexical-binding.
8130         (ccl-compile-if): Remove unused var `false-ic'.
8131         (ccl-compile-write-repeat): Remove unused var `i'.
8132         (ccl-compile-map-single): Remove unused var `id'.
8133         (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the
8134         dynamic var `ccl-code'.
8136 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8138         * lisp/json.el (json-new-object): Optimize trivial `list' call.
8140 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8142         * lisp/help.el: Fix bug with incorrect arglist string.
8143         (help-add-fundoc-usage): Don't mistake a mis-formatted string
8144         for a list.
8146 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
8148         * lisp/gnus/gnus-topic.el: Silence some warnings.
8149         (gnus-topic-prepare-topic): Remove unused var `topic'.
8150         (gnus-topic-remove-topic): Mark unused arg `hide'.
8151         (gnus-tmp-header): Declare.
8152         (gnus-topic-goto-missing-group): Remove unused var `entry'.
8153         (gnus-topic-unmark-topic): Mark unused arg `dummy'.
8154         (gnus-topic-copy-matching): Mark unused arg `copyp'.
8155         Move initialization of `topic' into its declaration.
8157 2015-10-27  Stephen Leake  <stephen_leake@stephe-leake.org>
8159         Minor CEDET fixes
8161         * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call):
8162         Handle warnings from gtags about invalid options.
8163         (cedet-gnu-global-create/update-database): Do incremental update
8164         properly.
8166         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
8167         Get monotone root right.
8169 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
8171         Fall back to polling in autorevert when needed
8173         * lisp/autorevert.el (auto-revert-notify-handler): When a
8174         `stopped' event arrives from file notification, fall back to polling.
8176         * test/automated/file-notify-tests.el
8177         (file-notify-test03-autorevert): Extend test for polling when file
8178         notification ceases to work.
8180 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
8182         Show full commit messages in 'hg log' when appropriate
8184         * lisp/vc/vc-hg.el (vc-hg-log-format): New variable.
8185         (vc-hg-print-log, vc-hg-expanded-log-entry): Use it.
8186         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html)
8188 2015-10-27  Nicolas Petton  <nicolas@petton.fr>
8190         Use a plain SVG file for the icon
8192         * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG
8193           format instead of the Inkscape SVG format.
8195 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
8197         Fix subtle bug in auto-revert-tests.el
8199         * test/automated/auto-revert-tests.el
8200         (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages*
8201         buffer where it belongs to.  (Bug#21668)
8203 2015-10-26  Nicolas Petton  <nicolas@petton.fr>
8205         * lisp/emacs-lisp/map.el: Better docstrings.
8207         * lisp/emacs-lisp/seq.el: Better docstrings.
8209         * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence.
8211 2015-10-26  Phillip Lord  <phillip.lord@russet.org.uk>
8213         * lisp/emacs-lisp/ert.el: Print results without newline escaping.
8215 2015-10-26  Stephen Leake  <stephen_leake@stephe-leake.org>
8217         Clarify that load-path contents should be directory file names
8219         * doc/lispref/files.texi (Directory Names): Define and use "directory
8220         file name".  Recommend `expand-file-name'.
8222         * src/lread.c (load-path): Fix doc string; elements are directory file
8223         names.
8225 2015-10-26  Eli Zaretskii  <eliz@gnu.org>
8227         Fix simple-test.el test
8229         * test/automated/simple-test.el (simple-test--dummy-buffer):
8230         Make sure indentation doesn't use TABs, otherwise the 6th test
8231         might fail.
8233 2015-10-26  Mark Oteiza  <mvoteiza@udel.edu>
8235         * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width.
8236         `substring' does not account for full width characters.
8238 2015-10-26  Michael Albinus  <michael.albinus@gmx.de>
8240         Further work on `stopped' events in filenotify.el
8242         * doc/lispref/os.texi (File Notifications): Rework examples.
8244         * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter.
8245         (file-notify--rm-descriptor, file-notify-callback): Improve check
8246         for sending `stopped' event.
8247         (file-notify-add-watch): Check for more events for `inotify'.
8249         * test/automated/file-notify-tests.el
8250         (file-notify--test-expected-events): New defvar.
8251         (file-notify--test-with-events): Use it.
8252         (file-notify--test-cleanup): Make it more robust when deleting
8253         directories.
8254         (file-notify--test-event-test): Check also for watched directories.
8255         (file-notify--test-event-handler): Suppress temporary .#files.
8256         (file-notify-test02-events, file-notify-test04-file-validity):
8257         Rework `stopped' events.
8258         (file-notify-test05-dir-validity): Wait for events when appropriate.
8260 2015-10-26  Artur Malabarba  <bruce.connor.am@gmail.com>
8262         * src/keyboard.c (post-command-hook): Shorten docstring.
8264 2015-10-26  Tassilo Horn  <tsdh@gnu.org>
8266         Fix infinite loop in sh-script's SMIE code
8268         * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite
8269         loop (bug#21747).
8271 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8273         * lisp/isearch.el (search-default-regexp-mode): Revert to nil.
8274         Character-fold search _still_ doesn't play well with
8275         lax-whitespace.  So disable it by default (again) for now.
8277 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8279         * lisp/isearch.el: No visual feedback for default search mode.
8280         During an isearch where character-folding is the default, we don't
8281         want to take up minibuffer space just to tell the user that
8282         "Char-fold " is on.  The same goes for other modes, if the user
8283         changes the default.  In contrast, if the user toggles OFF the
8284         default mode, they should see "Literal", to distinguish it from
8285         the default mode.
8286         (isearch--describe-regexp-mode): Return "" if describing the
8287         default mode, and return "literal " if describing a plain search
8288         and it is not default.
8290 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8292         * test/automated/simple-test.el: New file.
8293         Define tests for `newline' and `open-line'.
8295 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8297         * lisp/simple.el (open-line): Integrate with electric-indent-mode.
8298         Also run `post-self-insert-hook' when called interactively.
8300 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8302         * lisp/simple.el (open-line): Fix docstring.
8303         Also explain apparently redundant line.
8305 2015-10-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8306             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
8308         Sync with soap-client repository, version 3.0.1
8310         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
8311         Bump version to 3.0.1.
8313         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page.
8315 2015-10-25  Eli Zaretskii  <eliz@gnu.org>
8317         * lisp/progmodes/grep.el (grep): Doc fix.  (Bug#21754)
8319 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8321         * src/keyboard.c (post-command-hook): Extend the docstring.
8322         Mainly, explain how to use it without hanging Emacs, or giving the
8323         impression that it is hanging.  Also mention `pre-command-hook'.
8324         (pre-command-hook): Mention `post-command-hook'.
8326 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
8328         * lisp/custom.el (custom-declare-variable): Shorten code again.
8329         Without using pcase this time.  We can't use pcase because it is
8330         loaded after custom in loadup.el.  Also add a comment explaining
8331         this to future dummies like me.
8333 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
8335         * doc/lispref/os.texi (File Notifications): Document `stopped event'.
8337 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
8339         Introduce `stopped' event in file notification
8341         * lisp/filenotify.el (file-notify--rm-descriptor): New defun.
8342         (file-notify-rm-watch): Use it.
8343         (file-notify-callback): Implement `stopped' event.
8344         (file-notify-add-watch): Mention `stopped' in the docstring.
8345         Check, that upper directory exists.
8347         * test/automated/file-notify-tests.el (file-notify-test01-add-watch):
8348         Add two test cases.
8349         (file-notify-test02-events): Handle also `stopped' event.
8350         (file-notify-test04-file-validity): Add another test case.
8352 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
8354         Revert commit that broke 'make bootstrap'
8356         * lisp/custom.el (custom-declare-variable): Revert commit
8357         79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
8358         even when pcase has not been defined yet, when doing bootstrapping.
8360 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
8362         Port recent inline functions fix to Standard C
8364         * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove.
8365         All uses rewritten to define the function directly rather than to
8366         use a macro to define the function.  This conforms to Standard C,
8367         which does not allow stray semicolons at the top level.  I hope it
8368         also avoids the problems with TAGS.  Those macros, though clever,
8369         were pretty confusing anyway, and it wasn’t clear they were worth
8370         the aggravation even without the TAGS problem.
8372 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8374         * lisp/isearch.el: Make character-fold search the default again.
8376 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8378         * lisp/character-fold.el: Many improvements.
8379         (character-fold-search-forward, character-fold-search-backward):
8380         New command.
8381         (character-fold-to-regexp): Remove lax-whitespace hack.
8382         (character-fold-search): Remove variable.  Only isearch and
8383         query-replace use char-folding, and they both have their own
8384         variables to configure that.
8386 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8388         * lisp/isearch.el: Generalize definition of regexp-function toggles.
8389         (isearch-specify-regexp-function): New macro for specifying
8390         possible values of `isearch-regexp-function'.
8391         (isearch-toggle-character-fold, isearch-toggle-symbol)
8392         (isearch-toggle-word): Define with `isearch-specify-regexp-function'.
8394 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8396         * lisp/isearch.el (search-default-regexp-mode): New variable.
8397         (isearch-mode): Use it.
8399 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8401         * lisp/isearch.el (search-exit-option, search-slow-window-lines)
8402         (search-slow-speed, search-upper-case)
8403         (search-nonincremental-instead, search-whitespace-regexp)
8404         (search-invisible, isearch-hide-immediately)
8405         (isearch-resume-in-command-history, search-ring-max)
8406         (regexp-search-ring-max, search-ring-update, search-highlight)
8407         (isearch-fail): Delete :group entries.
8409 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
8411         * lisp/custom.el (custom-declare-variable): Shorten code a bit.
8413 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8415         addpm.c: Silence some warnings.
8417         * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction
8418         to LPBYTE.
8419         (add_registry): Pass NULL to optional lpClass argument of
8420         RegCreateKeyEx, not an empty string.
8422 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8424         addpm.c: Do not add obsolete GTK libraries to the path.
8426         * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete.
8427         (add_registry): Remove variables `size' and `gtk_key'.
8428         Do not add the GTK DLL directory to the library search path; it is
8429         confusing behavior (in particular, the same Emacs version with and
8430         without invoking addpm will use a different path), and the GTK image
8431         libraries are obsolete anyway.
8433 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8435         addpm.c: Replace existing registry entries, but do not create new ones
8437         * nt/addpm.c (add_registry): If the Emacs registry key exists, replace
8438         existing values from previous versions, but do not add new ones; the
8439         key could exist for other reasons unrelated to old Emacsen, like X-style
8440         resources, or to set some environment variables like HOME or LANG, and
8441         in that case we don't want to populate it with obsolete values.
8443 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8445         * nt/addpm.c (add_registry): Do not compute unused return value.
8447 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8449         addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx
8451         * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of
8452         RegOpenKeyEx, not REG_OPTION_NON_VOLATILE.  This doesn't change
8453         current behavior because REG_OPTION_NON_VOLATILE is defined to
8454         be 0L anyway, but that option is actually documented only for
8455         RegCreateKeyEx.
8457 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
8459         * src/w32notify.c (Fw32notify_add_watch): Fix version check.
8461 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8463         Update frame title when redisplay scrolls selected window
8465         * src/xdisp.c (redisplay_window): Reconsider the frame's title
8466         when the mode-line of the frame's selected window needs to be
8467         updated.
8469 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8471         Update frame title when scrolling the selected window
8473         * src/window.c (wset_update_mode_line): New function, sets either
8474         the window's update_mode_line flag or the global update_mode_lines
8475         variable.
8476         (Fset_window_start, set_window_buffer, window_scroll_pixel_based)
8477         (window_scroll_line_based): Call it instead of only setting the
8478         window's update_mode_line flag.
8480 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8482         An even better fix for bug#21739
8484         * src/window.c (set_window_buffer): If the window is the frame's
8485         selected window, set update_mode_lines, not the window's
8486         update_mode_line flag.
8487         * src/buffer.c (Fkill_buffer): Undo last change.
8488         (set_update_modelines_for_buf): Function deleted.
8490 2015-10-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8491             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
8493         Sync with soap-client repository, version 3.0.0
8495         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
8496         Bump version to 3.0.0.
8498         * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch.
8500         * lisp/net/soap-client.el: Merge in changes from Emacs master branch.
8502         * lisp/net/soap-inspect.el: Shorten first line description.
8504         * lisp/net/soap-client.el: Make a small whitespace fix.
8506         * lisp/net/soap-inspect.el: Update copyright years.
8508         * lisp/net/soap-client.el (soap-encoded-namespaces): Move above
8509         first use in soap-encode-xs-element.
8511         * lisp/net/soap-client.el (soap-type-is-array?): new defun
8512         (soap-encode-xs-element): handle array elements in this function
8513         (soap-encode-xs-complex-type): flag error if asked to encode an
8514         array type, this is handled in `soap-encode-xs-element'
8516         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group):
8517         Do not print type for attribute group.
8519         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group)
8520         New function.
8521         (soap-inspect-xs-attribute-group): Likewise.
8523         * lisp/net/soap-inspect.el
8524         (soap-resolve-references-for-xs-attribute-group): Resolve
8525         references of attributes in an attribute group.
8527         * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute
8528         type directly, not through soap-wsdl-get.
8530         * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference
8531         nil if reference attribute is nil.
8533         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
8534         Convert XML schema attributes to xsd:string.
8536         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute):
8537         New function.
8538         (soap-sample-value-for-xs-simple-type): Prepend attributes to result.
8539         (soap-sample-value-for-xs-complex-type): Likewise.
8540         (soap-inspect-xs-attribute): New function.
8541         (soap-inspect-xs-simple-type): Print attributes.
8542         (soap-inspect-xs-complex-type): Likewise.
8544         * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type):
8545         Resolve references for attributes.
8546         (soap-resolve-references-for-xs-complex-type): Likewise.
8548         * lisp/net/soap-client.el (soap-xml-node-find-matching-child):
8549         Rename from soap-xml-node-first-child.
8550         (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child.
8551         (soap-xs-parse-simple-type): Likewise.
8553         * lisp/net/soap-client.el (soap-invoke-async): Add error checking.
8555         * lisp/net/soap-client.el (soap-invoke-internal): New function.
8556         (soap-invoke-async): Call soap-invoke-internal.
8557         (soap-invoke): Likewise.
8559         * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to
8560         url-retrieve callback is killed.
8562         * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node):
8563         Rename function.
8564         (soap-parse-wsdl-phase-fetch-imports): Likewise.
8565         (soap-parse-wsdl-phase-parse-schema): Likewise.
8566         (soap-parse-wsdl-phase-fetch-schema): Likewise.
8567         (soap-parse-wsdl-phase-finish-parsing): Likewise.
8568         (soap-parse-wsdl): Update calls.
8570         * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation.
8572         * lisp/net/soap-client.el (soap-invoke-async): New function.
8573         (soap-invoke): Reimplement using soap-invoke-async.
8575         * lisp/net/soap-client.el (soap-parse-server-response):
8576         Improve docstring.
8577         (soap-invoke): Inline call to soap-parse-server-response.
8579         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8580         Prevent incorrect warning.
8582         * lisp/net/soap-client.el (soap-parse-server-response):
8583         Rename soap-process-url-response.  Destroy the mime part.
8584         (soap-invoke): Call soap-parse-server-response.
8586         * lisp/net/soap-client.el: Update copyright date.
8588         * lisp/net/soap-client.el: Fix checkdoc issues.
8590         * lisp/net/soap-client.el: Fix indentation and long lines.
8592         * lisp/net/soap-client.el (soap-time-format): Remove variable.
8593         (soap-encode-xs-basic-type): Simplify date-time format detection.
8594         (soap-decode-xs-basic-type): Remove soap-time-format support.
8596         * lisp/net/soap-client.el (soap-process-url-response): New function.
8597         (soap-fetch-xml-from-url): Call soap-process-url-response.
8598         (soap-parse-wsdl-phase-1): New function.
8599         (soap-parse-wsdl-phase-2): Likewise.
8600         (soap-parse-wsdl-phase-3): Likewise.
8601         (soap-parse-wsdl-phase-4): Likewise.
8602         (soap-parse-wsdl-phase-5): Likewise.
8603         (soap-parse-wsdl): Call phase functions.
8605         * lisp/net/soap-client.el (soap-decode-xs-basic-type):
8606         Remove one-argument and call.
8608         * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring.
8610         * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable.
8611         (soap-parse-schema): Add wsdl argument.  Look up XML schema
8612         imports from wsdl.
8613         (soap-load-wsdl): Do not set soap-xmlschema-imports.
8614         (soap-parse-wsdl): Get XML schema imports from wsdl.
8616         * lisp/net/soap-client.el (soap-current-file): Remove variable.
8617         (soap-wsdl): Add current-file slot.
8618         (soap-fetch-xml-from-url): Add wsdl argument.  Look up current
8619         file from wsdl.
8620         (soap-fetch-xml-from-file): Likewise.
8621         (soap-fetch-xml): Likewise.
8622         (soap-load-wsdl): Always create wsdl object first.
8623         (soap-parse-wsdl): Pass wsdl to soap-fetch-xml.
8625         * lisp/net/soap-client.el (soap-xs-element): Add is-group slot.
8626         (soap-xs-parse-element): Set is-group slot.
8627         (soap-resolve-references-for-xs-element): Skip is-group elements.
8628         (soap-xs-complex-type): Add is-group slot.
8629         (soap-xs-parse-complex-type): Set is-group slot.
8630         (soap-xs-parse-sequence): Parse xsd:group elements.
8631         (soap-resolve-references-for-xs-complex-type): Inline elements
8632         from referenced xsd:group nodes.
8633         (soap-parse-schema): Parse xsd:group nodes.
8635         * lisp/net/soap-client.el (soap-invoke):
8636         Don't set url-http-version to 1.0.
8638         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8639         Allow choice nodes to accept multiple values.
8641         * lisp/net/soap-client.el (soap-encode-body): Check parameters argument
8642         for extra header values.
8644         * lisp/net/soap-client.el (soap-well-known-xmlns):
8645         Add wsa and wsaw tags.
8646         (soap-operation): Add input-action and output-action slots.
8647         (soap-parse-operation): Parse wsaw:Action nodes.
8648         (soap-encode-body): Encode service-url for WS-Addressing.
8649         (soap-create-envelope): Likewise.
8650         (soap-invoke): Update soap-create-envelope call to provide
8651         service-url argument.
8653         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8654         Support xsi:type override attribute.
8655         (soap-decode-array): Likewise.
8657         * lisp/net/soap-client.el (soap-parse-schema):
8658         Handle location attribute.
8660         * lisp/net/soap-client.el (soap-decode-type): Check that multiRef
8661         matched validation regexp.
8663         * lisp/net/soap-client.el (soap-encode-xs-simple-type):
8664         Encode xsd:list nodes.
8665         (soap-decode-xs-simple-type): Decode xsd:list nodes.
8667         * lisp/net/soap-client.el (soap-get-candidate-elements):
8668         Fix reference handling.
8670         * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot.
8671         (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes.
8672         (soap-xs-add-list): New function.
8674         * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is
8675         expected, interpret nil as "false".
8677         * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth,
8678         gYear, gMonthDay, gDay and gMonth.
8680         * lisp/net/soap-client.el (soap-time-format): New variable.
8681         (soap-encode-xs-basic-type): Handle dateTime, time, date,
8682         gYearMonth, gYear, gMonthDay, gDay and gMonth.
8683         (soap-decode-date-time): New function.
8684         (soap-decode-xs-basic-type): Use soap-decode-date-time.
8686         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value
8687         after encoding.
8688         (soap-decode-xs-basic-type): Validate value before decoding.
8690         * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function.
8691         (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type.
8693         * lisp/net/soap-client.el (soap-xs-add-union): Append result to base
8694         instead of overwriting it.
8695         (soap-validate-xs-simple-type): Add union support.
8697         * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern
8698         to Emacs regexp using xsdre-translate.
8699         (soap-validate-xs-simple-type): Validate value against pattern.
8701         * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of
8702         inline simpleType nodes.
8703         (soap-decode-type): Handle union types.
8705         * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type
8706         attributes.
8708         * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename
8709         from soap-xs-attribute-group-consolidate, all callers updated
8710         (soap-get-xs-attributes): Rename from
8711         soap-xs-attributes-consolidate, all callers updated
8713         * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot.
8714         (soap-xs-attribute-group): New type.
8715         (soap-xs-parse-attribute-group): New function.
8716         (soap-resolve-references-for-xs-attribute-group): Likewise.
8717         (soap-xs-add-extension): Handle attribute groups.
8718         (soap-resolve-references-for-xs-simple-type): Likewise.
8719         (soap-xs-parse-complex-type): Likewise.
8720         (soap-xs-parse-extension-or-restriction): Likewise.
8721         (soap-resolve-references-for-xs-complex-type): Likewise.
8722         (soap-xs-attribute-group-consolidate): New function.
8723         (soap-xs-attributes-consolidate): Handle attribute groups.
8724         (soap-parse-schema): Likewise.
8726         * lisp/net/soap-client.el (soap-encode-xs-basic-type):
8727         Fix boolean encoding.
8729         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref
8730         element names in warnings.
8732         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing.
8734         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
8735         Eliminate invalid warnings for choice types.
8737         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
8738         Also encode base type attributes.
8740         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation
8741         warning.  Print e-name in warnings, or element if e-name is nil.
8743         * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot.
8744         (soap-xs-parse-element): Set substitution-group.
8745         (soap-resolve-references-for-xs-element): Populate alternatives slot.
8746         (soap-get-candidate-elements): New function.
8747         (soap-encode-xs-complex-type): Iterate through all candidate elements.
8748         Handle types with nil type indicator.  Fix warning logic.
8750         * lisp/net/soap-client.el (soap-current-wsdl): Move declaration
8751         earlier in the file to prevent compiler warning.
8753         * lisp/net/soap-client.el (soap-node-optional): New function.
8754         (soap-node-multiple): Likewise.
8755         (soap-xs-parse-element): Call soap-node-optional and
8756         soap-node-multiple.
8757         (soap-xs-complex-type): Add optional? and multiple? slots.
8758         (soap-xml-get-children-fq): New function.
8759         (soap-xs-element-get-fq-name): Likewise.
8760         (soap-xs-complex-type-optional-p): Likewise.
8761         (soap-xs-complex-type-multiple-p): Likewise.
8762         (soap-xs-attributes-consolidate): Likewise.
8763         (soap-decode-xs-attributes): Likewise.
8764         (soap-decode-xs-complex-type): Decode types with nil type indicator.
8765         Support children that use local namespaces.  Decode attributes.
8766         Add type considerations to optional? and multiple? warnings.
8768         * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction):
8769         Store parsed attributes.
8770         (soap-encode-xs-complex-type-attributes): Encode custom attributes.
8772         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
8773         Don't add the xsi:type attribute (Exchange refuses requests which have
8774         this attribute).
8776         * lisp/net/soap-client.el, soap-inspect.el: Convert to lexical binding,
8777         correct compiler warnings about unused function arguments and
8778         local variables.
8780         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil
8781         type indicator.
8782         (soap-parse-envelope): Handle response headers.
8783         (soap-parse-response): Likewise.  Only return non-nil decoded values.
8785         * lisp/net/soap-client.el (soap-validate-xs-simple-type):
8786         Return validated value.
8788         * lisp/net/soap-client.el (soap-xs-parse-element)
8789         (soap-xs-parse-simple-type)
8790         (soap-xs-parse-complex-type)
8791         (soap-parse-message)
8792         (soap-parse-operation): Add the current namespace to the element
8793         being created.
8794         (soap-resolve-references-for-xs-element)
8795         (soap-resolve-references-for-xs-simple-type)
8796         (soap-resolve-references-for-xs-complex-type)
8797         (soap-resolve-references-for-operation): Resolve the namespace to
8798         the namespace tag.
8799         (soap-make-wsdl): specify a namespace tag when creating the xsd
8800         and soapenc namespaces
8801         (soap-wsdl-resolve-references): don't update namespace tags in
8802         elements here
8803         (soap-parse-port-type): bind the urn: to soap-target-xmlns
8804         (soap-encode-body): don't add nil namespace tags to
8805         soap-encoded-namespaces
8807         * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object
8808         for registering the soap-inspect method.  Make debbugs tests pass.
8809         * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the
8810         type name, also skip string only nodes when decoding a structure.
8811         (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice
8812         types too.
8813         (soap-encode-body): Grab the header value from the param table.
8815         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
8816         New function.
8817         (soap-encode-xs-element): Don't encode nil value unless needed.
8819         * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`.
8820         (soap-parse-binding): Parse the message parts required in the body.
8821         (soap-encode-body): Encode only the parts that are declared to be
8822         part of the body.
8824         * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name
8825         when writing out the tag.
8826         (soap-encode-body): Remove hack that inserts the xmlns in the
8827         element attributes list.
8829         * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot.
8830         (soap-xs-parse-attribute): Default slot is set from the XML
8831         "fixed" attribute.
8832         (soap-encode-xs-complex-type-attributes): Encode any attributes
8833         that have a default value.  Also, don't put the xsi:nil attribute
8834         when the complex type has no content anyway.
8836         * lisp/net/soap-client.el (soap-well-known-xmlns):
8837         Add the xml namespace.
8838         (soap-local-xmlns): Start with the xml namespace.
8839         (soap-xml-node-first-child): Skip xsd:annotation nodes too.
8840         (soap-make-xs-basic-types): More xsd types added.
8841         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
8842         Handle "language", "time", "date", "nonNegativeInteger".
8843         (soap-resolve-references-for-xs-element): Don't signal an error if
8844         the element does not have a type.
8845         (soap-xs-parse-simple-type): Subtypes are handled with ecase,
8846         added stum for xsd:list.
8847         (soap-xs-add-union): Call soap-l2fq on all union members.
8848         (soap-xs-add-extension): Call soap-l2fq on the base member.
8849         (soap-resolve-references-for-xs-simple-type): Don't signal an
8850         error if the simple type has no base.
8851         (soap-resolve-references-for-xs-simple-type): Bugfix, call
8852         soap-wsdl-get on each type of the base.
8854         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
8855         Referenced type can be eiher a simple type or a basic type.
8856         (soap-xs-add-restriction)
8857         (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base.
8858         (soap-make-xs-basic-types)
8859         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
8860         Add support for more XMLSchema basic types.
8861         (soap-current-file, soap-xmlschema-imports): New defvars.
8862         (soap-parse-schema): Add locations from xsd:import tags to
8863         `soap-xmlschema-imports'.
8864         (soap-wsdl): Make destructor private.
8865         (soap-make-wsdl): New defun, SOAP-WSDL object constructor.
8866         (soap-wsdl-add-alias): Check if we try to replace aliases.
8867         (soap-fetch-xml-from-url, soap-fetch-xml-from-file)
8868         (soap-fetch-xml): New defuns.
8869         (soap-load-wsdl): Update to load the WSDL from either a file or
8870         an url.
8871         (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'.
8872         (soap-parse-wsdl): Process wsdl:import tags and imports from
8873         `soap-xmlschema-imports'.
8874         * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of
8875         symbol-name.
8876         (soap-l2fq): Make the name part always a string.
8877         (soap-name-p): New defun, used for name tests.
8879         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type):
8880         Supply sample values for choice types with a special tag.
8881         * lisp/net/soap-client.el (soap-encode-xs-complex-type):
8882         Handle anonymous elements correctly.
8883         (soap-encode-value): Accept nodes that have no namespace tag.
8885         * lisp/net/soap-client.el (soap-invoke): Encode the string for
8886         `url-request-data' as UTF-8.  Fixes issue 16.
8888 2015-10-24  Nicolas Petton  <nicolas@petton.fr>
8890         Update the new icon
8892         Move the E slightly to the right in the circle.
8894         * etc/images/icons/hicolor/128x128/apps/emacs.png:
8895         * etc/images/icons/hicolor/16x16/apps/emacs.png:
8896         * etc/images/icons/hicolor/24x24/apps/emacs.png:
8897         * etc/images/icons/hicolor/32x32/apps/emacs.png:
8898         * etc/images/icons/hicolor/48x48/apps/emacs.png:
8899         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
8900         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
8901         * nt/icons/emacs.ico: New icom update.
8903 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8905         Avoid missing inline functions from lisp.h in TAGS
8907         * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
8908         need to end each invocation with a semi-colon.
8909         Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
8910         and LISP_MACRO_DEFUN_VOID.  This is to avoid missing in TAGS
8911         inline functions defined immediately after each invocation, and
8912         also avoid tagging every invocation of these macros.
8914 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
8916         A better fix for bug#21739
8918         * src/buffer.c (set_update_modelines_for_buf): New function.
8919         (Fkill_buffer): Use it to set the global variable
8920         update_mode_lines if the killed buffer was displayed in some
8921         window.  Don't set windows_or_buffers_changed.  This is a better
8922         fix for bug#21739 than the previous fix, since it will cause only
8923         redisplay of mode lines, not of entire windows, but will still
8924         catch attention of x_consider_frame_title in xdisp.c, which
8925         redraws the frame title.
8927 2015-10-24  Tassilo Horn  <tsdh@gnu.org>
8929         * lisp/dired-aux.el (dired-compress-files-alist): Add support for
8930         tar.bz2 and tar.xz archives.
8932 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
8934         Fix infloop in redisplay introduced by a recent change
8936         * src/xdisp.c (redisplay_internal): Avoid inflooping when
8937         redisplaying the selected window sets the selected frame's
8938         redisplay flag.  (Bug#21745)
8940 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
8942         * lisp/emacs-lisp/thunk.el: Better documentation.
8944 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
8946         Replace the old icon for Windows and Mac OSX
8948         * nt/icons/emacs.ico:
8949         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
8950         Use the new icons.
8952 2015-10-23  Stephen Leake  <stephen_leake@stephe-leake.org>
8954         * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
8955         `load-path' should contain only directory names.
8957 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
8959         New library thunk.el
8961         thunk.el is extracted from stream.el in ELPA, with additional tests.
8963         * lisp/emacs-lisp/thunk.el: New file.
8964         * test/automated/thunk-tests.el: New file.
8965         * etc/NEWS: Add information about thunk.el
8967 2015-10-23  Michael Albinus  <michael.albinus@gmx.de>
8969         Fix bug#21669
8971         * lisp/filenotify.el (file-notify-rm-watch): Improve check for
8972         calling low-level functions.
8974         * test/automated/file-notify-tests.el (file-notify--test-timeout):
8975         Decrase to 6 seconds for remote directories.
8976         (file-notify-test02-events): Expect different number of
8977         `attribute-changed' events for the local and remote cases.  Apply
8978         short delays between the operations, in order to receive all
8979         events in the remote case.  Combine `attribute-change' tests.
8980         (Bug#21669)
8982 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
8984         Decode the HTML source when displaying it in EWW
8986         * lisp/net/eww.el (eww-view-source): Decode the HTML source
8987         according to its headers.
8989 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
8991         New default icon
8993         * etc/images/icons/hicolor/128x128/apps/emacs23.png:
8994         * etc/images/icons/hicolor/16x16/apps/emacs23.png:
8995         * etc/images/icons/hicolor/24x24/apps/emacs23.png:
8996         * etc/images/icons/hicolor/32x32/apps/emacs23.png:
8997         * etc/images/icons/hicolor/48x48/apps/emacs23.png:
8998         * etc/images/icons/hicolor/scalable/apps/emacs23.svg:
8999         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg:
9000         Move the old logo files to emacs23.*.
9001         * etc/images/icons/hicolor/128x128/apps/emacs.png:
9002         * etc/images/icons/hicolor/16x16/apps/emacs.png:
9003         * etc/images/icons/hicolor/24x24/apps/emacs.png:
9004         * etc/images/icons/hicolor/32x32/apps/emacs.png:
9005         * etc/images/icons/hicolor/48x48/apps/emacs.png:
9006         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
9007         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
9008         New files.
9009         * etc/images/icons/README: Update the copyright information.
9011 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
9013         Fix redisplay of frame title when current buffer is killed
9015         * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a
9016         non-zero value, to redisplay more than just the affected windows.
9017         (Bug#21739)
9019 2015-10-23  Anders Lindgren  <andlind@gmail.com>
9021         NextStep maximization and NSTRACE rewrite
9023         Full-height, full-width, and maximized windows now cover the
9024         entire screen (except the menu bar), including the part where the
9025         system dock is placed.  The system zoom animation is no longer
9026         used.
9028         Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
9029         original size.
9031         * src/nsterm.m (ns_menu_bar_height): New function, return height of
9032         the menu bar, or 0 when it's hidden.
9033         (constrain_frame_rect): New function for constraining a frame.
9034         (ns_constrain_all_frames): Set frame size explicitly rather than
9035         relying on the system doing it for us by writing back the current
9036         frame size.
9037         (windowWillUseStandardFrame): Register non-maximized width or
9038         height as new user size.  When entering full width or height,
9039         the other size component is taken from the user size.
9040         (fullscreenState): New method for accessing the fullscreen state.
9041         (constrainFrameRect): Restrict frame to be placed under the menu bar,
9042         if present.  The old version, sometimes, restricted the height of a
9043         frame to the screen, this version never does this.
9044         (zoom): Perform zoom by setting the frame to the full size of the
9045         screen (minus the menu bar).  The default system function, with the
9046         zoom animation, is no longer used, as the final frame size doesn't
9047         cover the entire screen.
9049         Rework how to constrain resizing to the character grid.  The old
9050         system used "resizeIncrements" in NSWindows.  However, once a frame
9051         was resized so that it was not aligned to the text grid, it
9052         remained unaligned even after a resize.  In addition, it conflicted
9053         when resizing a fullheight window.
9055         * src/nsterm.m (windowWillResize): Restrict frame size to text grid,
9056         unless when pixelwise frame resizing is enabled.
9057         (updateFrameSize, initFrameFromEmacs)
9058         (toggleFullScreen, handleFS): Don't set resizeIncrements.
9060         Redesign the NS trace system.  The call structure is represented
9061         using indentations and vertical lines.  The NSTRACE macro accepts
9062         printf-style arguments.  New macros for printing various
9063         information.
9065         * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
9066         (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new
9067         block (typically a function), accept printf-style arguments.
9068         (NSTRACE_MSG): Macro for extra information, accepts
9069         printf-style arguments.
9070         (NSTRACE_what): Macros for printing various types.
9071         (NSTRACE_FMT_what): Macro with printf format string snippets.
9072         (NSTRACE_ARG_what): Macros for passing printf-style arguments,
9073         corresponds to NSTRACE_FMT_what.
9074         (NSTRACE_RETURN): Macro to print return value, accept
9075         printf-style arguments.
9076         (NSTRACE_RETURN_what): Macros to print return value for
9077         various types.
9079         * nsterm.m: Remove old NSTRACE macro
9080         * src/nsterm.m (nstrace_num): Trace counter.
9081         (nstrace_depth): Current call depth.
9082         (nstrace_leave): NSTRACE support function, called when the
9083         local variable "nstrace_enabled" goes out of scope using the
9084         "cleanup" extension.
9085         (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function.
9086         (constrain_frame_rect, ns_constrain_all_frames)
9087         (ns_update_auto_hide_menu_bar, ns_update_begin)
9088         (ns_update_window_begin, update_window_end, ns_update_end)
9089         (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
9090         (ns_frame_rehighlight, x_make_frame_visible)
9091         (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
9092         (x_destroy_window, x_set_offset, x_set_window_size)
9093         (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
9094         (ns_defined_color, frame_set_mouse_pixel_position)
9095         (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
9096         (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
9097         (ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
9098         (ns_after_update_window_line, ns_shift_glyphs_for_insert)
9099         (dumpcursor, ns_draw_vertical_window_border)
9100         (ns_draw_window_divider, ns_draw_relief)
9101         (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
9102         (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
9103         (ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
9104         (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
9105         (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
9106         (ns_create_terminal, ns_term_init, sendEvent)
9107         (applicationDidFinishLaunching, applicationDidBecomeActive)
9108         (timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
9109         (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
9110         (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
9111         (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
9112         (mouse_autoselect_window, in_window, mouseDragged)
9113         (rightMouseDragged, otherMouseDragged, windowShouldClose)
9114         (updateFrameSize, windowWillResize, windowDidResize)
9115         (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
9116         (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
9117         (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
9118         (windowDidEnterFullScreen, windowWillExitFullScreen)
9119         (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
9120         (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
9121         (draggingEntered, performDragOperation, validRequestorForSendType)
9122         (setMiniwindowImage, constrainFrameRect, performZoom, zoom)
9123         (EmacsScroller_initFrame, EmacsScroller_setFrame)
9124         (EmacsScroller_dealloc, condemn, reprieve, judge)
9125         (resetCursorRects, setPosition, EmacsScroller_mouseDown)
9126         (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
9128         * nsfns.m: Remove old NSTRACE macro
9129         * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
9130         (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
9131         (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
9133         * nsimage.m: Remove old NSTRACE macro
9134         * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
9135         (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
9137         * nsmenu.m: Remove old NSTRACE macro
9138         * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
9139         Use new trace system.
9141 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
9143         No need to use eval-and-compile
9145         * lisp/gnus/auth-source.el: Do require epg (when compiling) before
9146         autoload epg functions.
9148 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
9150         Fix auth-source-epa-make-gpg-token compilation (bug#21724)
9152         * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for
9153         epg-context-set-passphrase-callback, epg-decrypt-string, and
9154         epg-encrypt-string; require epg when compiling for the setf-method
9155         for epg-context-armor. (bug#21724)
9157 2015-10-22  Eli Zaretskii  <eliz@gnu.org>
9159         Include file cleanup for w32 files in src directory
9161         * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h,
9162         fontset.h, blockinput.h.
9163         * src/w32uniscribe.c: Don't include dispextern.h, character.h,
9164         charset.h, fontset.h.
9165         * src/w32term.c: Don't include systty.h, systime.h, charset.h,
9166         character.h, ccl.h, dispextern.h, disptab.h, intervals.h,
9167         process.h, atimer.h, keymap.h, w32heap.h.  Include bitmap/gray.xbm
9168         in an ifdef-ed away block.
9169         Include fcntl.h for CYGWIN.
9170         (set_frame_param): Remove unused function.
9171         * src/w32select.c: Don't include charset.h and composite.h.
9172         (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings
9173         due to pointer signedness mismatches.
9174         * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings
9175         due to pointer signedness mismatches.
9176         * src/w32proc.c: Include unistd.h.  Don't include systime.h,
9177         process.h, dispextern.h.
9178         (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name)
9179         (Fw32_application_type): Avoid compiler warnings due to pointer
9180         signedness mismatches.
9181         * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h,
9182         character.h, charset.h, dispextern.h.
9183         (simple_dialog_show, add_menu_item): Avoid compiler warnings due
9184         to pointer signedness mismatches.
9185         * src/w32inevt.c: Don't include dispextern.h, window.h,
9186         termhooks.h, w32heap.h.
9187         * src/w32font.c: Don't include dispextern.h, character.h,
9188         charset.h, fontset.h, font.h.
9189         (intern_font_name, add_font_entity_to_list)
9190         (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont)
9191         (list_all_matching_fonts): Avoid compiler warnings due to pointer
9192         signedness mismatches.
9193         * src/w32fns.c: Don't include character.h, intervals.h,
9194         dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h,
9195         termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h.
9196         (w32_color_map_lookup, add_system_logical_colors_to_map)
9197         (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p)
9198         (Fxw_color_values, x_display_info_for_name, Fset_message_beep)
9199         (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash)
9200         (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid
9201         compiler warnings, mainly due to pointer signedness mismatches.
9202         (unwind_create_frame_1): Remove unused function.
9203         * src/w32console.c: Don't include character.h, disptab.h, frame.h,
9204         window.h, termhooks.h, dispextern.h.
9205         (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer
9206         signedness mismatch.
9207         * src/w32.c: Include c-strcase.h and systty.h.  Don't include
9208         w32heap.h.
9210 2015-10-22  Tassilo Horn  <tsdh@gnu.org>
9212         Improve doc-view wrt. auto-revert-mode
9214         * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file
9215         is corrupted (bug#21729).
9216         (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function.
9218 2015-10-22  Oleh Krehel  <ohwoeowho@gmail.com>
9220         Describe dired-do-compress-to in the manual
9222         * etc/NEWS: Update.
9224         * lisp/dired-aux.el: Fix typo.
9226         * doc/emacs/dired.texi: Add entry.
9228 2015-10-22  Jürgen Hötzel  <juergen@archlinux.org>
9230         Further fix for proper locale handling in tramp-gvfs.el
9232         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
9233         Just suppress LC_MESSAGES locale category settings.
9235 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9237         New lispref section “Security Considerations”
9239         This attempts to document some of the issues recently discussed
9240         on emacs-devel, and to indicate other such issues.  The section
9241         could be a lot longer.
9242         * doc/lispref/os.texi (Security Considerations):
9243         New node.
9244         * doc/lispref/elisp.texi (Top):
9245         * doc/lispref/processes.texi (Shell Arguments):
9246         * lisp/subr.el (shell-quote-argument):
9247         * src/callproc.c (syms_of_callproc):
9248         Reference it.
9250 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9252         Merge from gnulib
9254         This incorporates:
9255         2015-10-18 stdalign: work around pre-4.9 GCC x86 bug
9256         2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
9257         * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c:
9258         Copy from gnulib.
9260 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
9262         * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks.
9263         (mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.
9265 2015-10-21  Ken Brown  <kbrown@cornell.edu>
9267         Further include-file cleanup
9269         * src/sheap.c: Include stdlib.h.
9270         * src/unexcw.c: Include string.h.
9272 2015-10-21  Eli Zaretskii  <eliz@gnu.org>
9274         Fix logic in 'server-kill-emacs-query-function'
9276         * lisp/server.el (server-kill-emacs-query-function): Correct the
9277         logic that controls whether the user is asked for confirmation.
9278         (Bug#21723)
9280 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
9282         * lisp/isearch.el (isearch-search-fun-default): Simplify logic.
9283         (isearch--lax-regexp-function-p): New function.
9285 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
9287         * lisp/isearch.el: Support lax-whitespace in regexp-function searches.
9288         (isearch-search-fun-default): Let-bind `search-spaces-regexp'
9289         around `isearch-regexp-function'.
9291 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
9293         * lisp/isearch.el: Rename word search to regexp-function search.
9294         `isearch-word' went well beyond its original purpose, and the name
9295         no longer makes sense.  It is now called
9296         `isearch-regexp-function', and its value should always be a function
9297         that converts a string to a regexp (though setting it to t is still
9298         supported for now).
9299         (isearch-word): Make obsolete.
9300         (isearch-regexp-function): New variable.
9301         (isearch-mode, isearch-done, isearch--state, isearch--set-state)
9302         (with-isearch-suspended, isearch-toggle-regexp)
9303         (isearch-toggle-word, isearch-toggle-symbol)
9304         (isearch-toggle-character-fold, isearch-query-replace)
9305         (isearch-occur, isearch-highlight-regexp)
9306         (isearch-search-and-update, isearch-message-prefix)
9307         (isearch-search-fun-default, isearch-search)
9308         (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
9309         Use it.
9310         (isearch-lazy-highlight-regexp-function): New var.
9311         (isearch-lazy-highlight-word): Make obsolete.
9312         (isearch--describe-regexp-mode): New function.
9313         (isearch--describe-word-mode): Make obsolete.
9315         * lisp/info.el (Info-isearch-search):
9316         * lisp/replace.el (replace-search, replace-highlight):
9317         * lisp/obsolete/longlines.el (longlines-search-function):
9318         * lisp/hexl.el (hexl-isearch-search-function):
9319         * lisp/cedet/semantic/senator.el (senator-isearch-search-fun):
9320         Use the new var.
9322 2015-10-21  Oleh Krehel  <ohwoeowho@gmail.com>
9324         Add dired-do-compress-to command bound to "c"
9326         * lisp/dired-aux.el (dired-shell-command): Use the caller's
9327           `default-directory', return the result of `process-file'.
9328         (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
9329         used by default.
9330         (dired-compress-files-alist): New defvar.
9331         (dired-do-compress-to): New command.
9333         * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
9334         (dired-do-compress-to): Add an autoload entry.
9336         * etc/NEWS: Add two entries.
9338 2015-10-21  Tassilo Horn  <tsdh@gnu.org>
9340         Make RefTeX work with LaTeX subfiles package
9342         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles
9343         document class argument as master file for referencing purposes.
9345 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
9347         * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.
9349 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
9351         Include-file cleanup for src directory
9353         Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
9354         In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
9355         but does not include it directly.  As a general rule, a source
9356         file should include foo.h if it needs the interfaces that foo.h
9357         defines.
9358         * src/alloc.c: Don’t include process.h.  Include dispextern.h,
9359         systime.h.
9360         * src/atimer.c: Don’t include blockinput.h.
9361         * src/buffer.c: Include coding.h, systime.h.  Don’t include
9362         keyboard.h, coding.h.
9363         * src/callint.c: Don’t include commands.h, keymap.h.
9364         * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
9365         systty.h, termhooks.h.
9366         * src/casetab.c: Don’t include character.h.
9367         * src/category.c: Don’t include charset.h, keymap.h.
9368         * src/ccl.h: Don’t include character.h.
9369         * src/character.c: Don’t include charset.h.
9370         * src/charset.c: Don’t include disptab.h.
9371         * src/chartab.c: Don’t include ccl.h.
9372         * src/cm.c: Don’t include frame.h, termhooks.h.
9373         * src/cmds.c: Don’t include window.h, dispextern.h.
9374         * src/coding.c: Don’t include window.h, frame.h.
9375         * src/composite.c: Include composite.h.  Don’t include window.h,
9376         font.h.
9377         * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
9378         * src/dbusbind.c: Don’t include frame.h.
9379         * src/decompress.c: Don’t include character.h.
9380         * src/dired.c: Don’t include character.h, commands.h, charset.h.
9381         * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
9382         process.h, timespec.h.  Include systime.h.
9383         * src/doc.c: Include coding.h.  Don’t include keyboard.h.
9384         * src/editfns.c: Include composite.h.  Don’t include frame.h.
9385         * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
9386         commands.h, systty.h..
9387         * src/fileio.c: Don’t include intervals.h, dispextern.h.
9388         Include composite.h.
9389         * src/filelock.c: Don’t include character.h, systime.h.
9390         * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
9391         keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
9392         * src/font.c: Include termhooks.h.
9393         * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
9394         struct composition_it, struct face, struct glyph_string.
9395         * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
9396         intervals.h, window.h, termhooks.h.
9397         * src/frame.c: Don’t include character.h, commands.h, font.h.
9398         * src/frame.h: Don’t include dispextern.h.
9399         * src/fringe.c: Don’t include character.h.
9400         * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
9401         character.h, charset.h, fontset.h.
9402         * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
9403         fontset.h.
9404         * src/ftxfont.c: Don’t include dispextern.h, character.h,
9405         charset.h, fontset.h.
9406         * src/gfilenotify.c: Don’t include frame.h, process.h.
9407         * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
9408         Don’t include syssignal.h, buffer.h, charset.h, font.h.
9409         * src/gtkutil.h: Don’t include frame.h.
9410         * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
9411         Don’t include character.h.
9412         * src/indent.c: Don’t include keyboard.h, termchar.h.
9413         * src/inotify.c: Don’t include character.h, frame.h.
9414         * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
9415         * src/intervals.c: Don’t include character.h, keyboard.h.
9416         * src/intervals.h: Don’t include dispextern.h, composite.h.
9417         * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
9418         Include coding.h.
9419         * src/keyboard.h: Don’t incldue systime.h.
9420         * src/keymap.c: Don’t include charset.h, frame.h.
9421         * src/lread.c: Include dispextern.h and systime.h.
9422         Don’t include frame.h.  Include systime.h.
9423         * src/macros.c: Don’t include commands.h, character.h, buffer.h.
9424         * src/menu.c: Include character.h, coding.h.  Don’t include
9425         dispextern.h.
9426         * src/menu.h: Don’t include systime.h.
9427         * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
9428         intervals.h, termhooks.h.
9429         * src/print.c: Include coding.h.  Don’t include keyboard.h,
9430         window.h, dispextern.h, termchar.h, termhooks.h, font.h.
9431         Add forward decl of struct terminal.
9432         * src/process.c: Don’t include termhooks.h, commands.h,
9433         dispextern.h, composite.h.
9434         * src/region-cache.c: Don’t include character.h.
9435         * src/scroll.c: Don’t include keyboard.h, window.h.
9436         * src/search.c: Don’t include category.h, commands.h.
9437         * src/sound.c: Don’t include dispextern.h.
9438         * src/syntax.c: Don’t include command.h, keymap.h.
9439         * src/sysdep.c: Don’t include window.h, dispextern.h.
9440         * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
9441         * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
9442         * src/terminal.c: Include character.h.
9443         Don’t include charset.h, coding.h.
9444         * src/textprop.c: Don’t include character.h.
9445         * src/undo.c: Don’t include character.h, commands.h, window.h.
9446         * src/unexsol.c: Don’t include character.h, charset.h.
9447         * src/widget.c: Include widget.h.  Don’t include keyboard.h,
9448         window.h, dispextern.h, blockinput.h, character.h, font.h.
9449         * src/widgetprv.h: Don’t include widget.h.
9450         * src/window.c: Don’t include character.h, menu.h, intervals.h.
9451         * src/xdisp.c: Include composite.h, systime.h.  Don’t include
9452         macros.h, process.h.
9453         * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
9454         intervals.h.
9455         * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
9456         epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
9457         * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
9458         * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
9459         * src/xgselect.c: Don’t include timespec.h, frame.h.
9460         Include systime.h.
9461         * src/xgselect.h: Don’t include time.h.
9462         Use a forward decl to struct timespec instead.
9463         * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
9464         dispextern.h.  Include systime.h.
9465         * src/xml.c: Don’t include character.h.
9466         * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
9467         * src/xselect.c: Don’t include dispextern.h, character.h,
9468         buffer.h, process.h.
9469         * src/xsmfns.c: Don’t include systime.h, sysselect.h.
9470         * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
9471         intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
9473 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
9475         (/ N) now returns the reciprocal of N
9477         This is more compatible with Common Lisp and XEmacs (Bug#21690).  See:
9478         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
9479         * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
9480         (color-xyz-to-srgb, color-xyz-to-lab):
9481         * lisp/emacs-lisp/cl-extra.el (cl-float-limits):
9482         * lisp/net/shr-color.el (shr-color-hue-to-rgb)
9483         (shr-color-hsl-to-rgb-fractions):
9484         Exploit the change to simplify the code a bit.
9485         * lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
9486         Don’t complain about single-argument calls to ‘/’.
9487         * src/data.c (arith_driver, float_arith_driver):
9488         Implement the change.
9490 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
9492         Call vc-dir-refresh after stash operations
9494         * lisp/vc/vc-git.el (vc-git-stash-apply-at-point)
9495         (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960).
9497         * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well,
9498         since it can be abbreviated (as returned by vc-find-root).
9500 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
9502         * lisp/vc/vc-svn.el:
9503         * lisp/vc/vc-mtn.el:
9504         * lisp/vc/vc-hg.el:
9505         * lisp/vc/vc-cvs.el:
9506         * lisp/vc/vc-git.el:
9507         * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore.
9508         Its usages have been replaced with vc-run-delayed.
9510 2015-10-20  Dima Kogan  <dima@secretsauce.net>
9512         Fix memory leak in fontset handling
9514         * src/font.c (copy_font_spec): Make a deep copy of the input
9515         argument FONT.  (Bug#21651)
9517 2015-10-20  Michael Sperber  <mike@xemacs.org>
9519         * lisp/gnus/mailcap.el (mailcap-mime-data):
9520         Conditonalize `doc-view-mode', which does not exist on XEmacs.
9522 2015-10-20  Oleh Krehel  <ohwoeowho@gmail.com>
9524         Update the way directories are compressed
9526         * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
9527         for *.tar.gz decompression to use a pipe.
9528         Add an entry for the default directory compression (to *.tar.g).
9529         (dired-compress-file): Update.
9531         See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html.
9533 2015-10-20  Michael Sperber  <mike@xemacs.org>
9535         Unbreak `group' option for `mail-sources'
9537         * nnml.el (nnml-retrieve-groups, nnml-request-scan):
9538         * nnmail.el (nnmail-get-new-mail-per-group)
9539         (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
9541 2015-10-19  Nicolas Petton  <nicolas@petton.fr>
9543         New function seq-position
9545         * lisp/emacs-lisp/seq.el (seq-position): New function.
9546         * test/automated/seq-tests.el: New tests for seq-position.
9547         * doc/lispref/sequences.texi: Add documentation for `seq-position'.
9549 2015-10-19  Ken Brown  <kbrown@cornell.edu>
9551         Enable --with-wide-int build on 32-bit Cygwin
9553         * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86
9554         and x86_64 to enable --with-wide-int build on 32-bit Cygwin.
9556 2015-10-19  Glenn Morris  <rgm@gnu.org>
9558         * doc/emacs/ack.texi (Acknowledgments): Small, sad, update.
9560 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
9562         Resurrect image loading under auto-image-file-mode
9564         * src/image.c (x_find_image_fd): Handle the case of -2 returned by
9565         'openp' specially.  This special case was lost in the changes on
9566         2015-08-18.  (Bug#21685)
9568 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
9570         Fix return value of 'set-file-extended-attributes'
9572         * lisp/files.el (set-file-extended-attributes): Return non-nil
9573         when setting either ACLs or SELinux context succeeds.  Document
9574         the return value.  (Bug#21699)
9576         * doc/lispref/files.texi (Changing Files): Document the return
9577         value of set-file-extended-attributes.
9579 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
9581         Improve documentation of functions that change files
9583         * doc/lispref/files.texi (Changing Files): Document that these
9584         functions signal an error on failure.
9586 2015-10-18  Eli Zaretskii  <eliz@gnu.org>
9588         Fix doc string of 'shell-quote-argument'
9590         * lisp/subr.el (shell-quote-argument): Doc fix.  (Bug#21702)
9592 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
9594         Some minor Tramp changes
9596         * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning.
9598         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
9599         Expand `tramp-auto-save-directory'.
9601 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
9603         Minor edits in Tramp
9605         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp):
9606         Declare it.
9608         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
9609         Remove declaration.
9611 2015-10-17  Mark Oteiza  <mvoteiza@udel.edu>
9613         * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list.
9615 2015-10-17  Eli Zaretskii  <eliz@gnu.org>
9617         Avoid crashes when redisplayng a window changes faces or fonts
9619         * src/xdisp.c (redisplay_internal): If redisplaying the selected
9620         window or one of the frames turns on the frame's 'redisplay' flag,
9621         redisplay again.  (Bug#21428)
9623         * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag.
9625 2015-10-17  Michael Albinus  <michael.albinus@gmx.de>
9627         Solve timimg issues in file-notify-tests.el
9629         * test/automated/file-notify-tests.el (file-notify-test02-events):
9630         Rectify `attribute-change' tests.  There are timing issues with
9631         gfilenotify.  (Bug#21669)
9633 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
9635         Fix quoting of data within htmlfontify doc
9637         * doc/misc/htmlfontify.texi (Data Structures, Customization):
9638         Fix quoting of data structures.  A Lisp quote is needed only
9639         when data appears within Lisp code.
9641 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
9643         * lisp/emacs-lisp/package.el: Reload archive-contents if
9644         priorities change.
9645         (package--old-archive-priorities): New variable.
9646         (package-read-all-archive-contents, package-menu--refresh): Use it
9647         to decide when the `package-archive-contents' needs to be read
9648         again.
9650 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
9652         Make src headers idempotent and standalone
9654         Redo src/*.h so that each include file is idempotent (that is, can
9655         be included multiple times with the latter inclusions having no
9656         effect) and standalone (that is, can be included by itself,
9657         with no include file other than config.h needed as a prerequisite).
9658         This is standard practice in GNU programs nowadays.
9659         * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h:
9660         * src/charset.h, src/coding.h, src/commands.h, src/disptab.h:
9661         * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h:
9662         * src/regex.h [emacs]:
9663         * src/syntax.h, src/systty.h, src/termhooks.h:
9664         Include lisp.h, for Lisp_Object.
9665         * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h:
9666         * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h:
9667         * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h:
9668         * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h:
9669         * src/termopts.h, src/tparam.h, src/unexec.h:
9670         Protect against multiple inclusion.
9671         * src/buffer.h: Include character.h, for STRING_CHAR.
9672         * src/emacsgtkfixed.h (struct frame):
9673         * src/fontset.h (struct face):
9674         * src/region-cache.h (struct buffer):
9675         * src/termhooks.h (struct glyph):
9676         * src/xsettings.h (struct x_display_info):
9677         Add possibly-forward decl.
9678         * src/syntax.h: Include buffer.h, for BVAR.
9679         * src/sysselect.h: Include lisp.h, for eassume.
9680         * src/termchar.h: Include <stdio.h>, for FILE.
9681         * src/widget.h: Include <X11/IntrinsicP.h>, for Widget.
9682         * src/xsettings.h: Include <X11/Xlib.h>, for XEvent.
9684 2015-10-16  Jürgen Hötzel  <juergen@archlinux.org>
9686         Handle symlink targets containing spaces in tramp-gvfs.el
9688         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
9689         Handle symlink targets containing spaces.
9691 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
9693         * lisp/custom.el (custom-theme-load-path): Demote to defvar.
9695         `custom-theme-load-path' was a defcustom, but it shouldn't be for the
9696         same reason that `load-path' shouldn't.  Setting it via the customize
9697         interface is a trap for the user.
9699         Installed themes commonly add themselves to this variable, which means
9700         its value is not fit for being saved (it will permanently remember dirs
9701         that don't exist anymore).
9703         This is aggravated by the fact that Emacs always applies the `user'
9704         theme on top of any theme that's loaded, since this will apply the old
9705         variable value and remove any new directories that had been recently
9706         added by themes themselves.
9708         Not to mention, we already have `custom-theme-directory', which is safe
9709         to customize.
9711 2015-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
9713         * lisp/mpc.el: Rename the new toggling commands.
9714         (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single)
9715         (mpc-toggle-shuffle): Add "-toggle" in the name.
9717 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9719         Improve the doc string of 'completion-boundaries'
9721         * lisp/minibuffer.el (completion-boundaries): Rename the argument
9722         TABLE to COLLECTION, for consistency with other high-level
9723         completion functions.  Document how COLLECTION is called if it
9724         is a function.  (Bug#21644)
9726 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
9728         * lisp/dired-aux.el (dired-shell-command): Fix compile warning.
9730 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
9732         Make dired-do-compress work for *.zip files
9734         * lisp/dired-aux.el (dired-check-process): Transform the top-level
9735           comment into a docstring.
9736         (dired-shell-command): New command.  This mirrors
9737         `dired-check-process', but is more user-friendly for passing
9738         arguments.
9739         (dired-compress-file-suffixes): Allow to specify the command switches
9740         along with input (%i) and output (%o) inside the PROGRAM part.
9741         Add an entry for *.zip files, and update the entry for *.tar.gz files
9742         to the new style.  Update the docstring.
9743         (dired-compress-file): When PROGRAM matches %i or %o, use the new
9744         logic.
9745         (dired-update-file-line): Avoid an error when at end of buffer.
9747         Fixes bug#21637.
9749 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9751         Minor improvement in documentation of internals
9753         * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
9755 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9757         Improve documentation of COLLECTION in completion functions
9759         * doc/lispref/minibuf.texi (Minibuffer Completion): Add a
9760         cross-reference to "Programmed Completion".
9762         * src/minibuf.c (Fcompleting_read): Improve the doc string.
9763         (Bug#21644)
9765 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
9767         Add more release info to etc/HISTORY
9769         * etc/HISTORY: Add more release information about 19.x and 20.x
9770         versions.
9772 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
9774         New file etc/HISTORY
9776         * admin/FOR-RELEASE: Procedure for etc/HISTORY.
9777         * etc/HISTORY: New file.
9778         * etc/NEWS: Mention it.
9780 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
9782         js-mode: Don't misindent generator methods
9784         * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
9785         generator methods from multiplication operator
9786         (https://github.com/mooz/js2-mode/issues/275).
9788 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
9790         Fix animation timeout delay calculation
9792         * lisp/image.el (image-animate-timeout):
9793         Don’t assume speed is floating-point.
9795 2015-10-15  Mark Oteiza  <mvoteiza@udel.edu>
9797         Add commands for controlling MPD modes
9799         * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat)
9800         (mpc-cmd-single): New functions.
9801         (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands.
9802         (mpc-mode-menu): Add new commands as menu items.
9804 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
9806         Refer to `(elisp)Basic Completion' in completing-read docstring
9808         * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic
9809         Completion' in the docstring (bug#21644).
9811 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
9813         * lisp/mpc.el (mpc-format): Always push form to pred
9815 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9817         Spelling fixes
9819         * configure.ac (bitmapdir): Fix misspelling of bmd_acc.
9820         * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
9821         Fix misspelling of nonexistent file name.
9823 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
9825         * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings
9827 2015-10-14  Michael Albinus  <michael.albinus@gmx.de>
9829         Some editing fixes in Tramp
9831         * lisp/net/tramp-gvfs.el:
9832         * doc/misc/tramp.texi: "customer option" -> "custom option".
9834         * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring.
9836 2015-10-14  Jürgen Hötzel  <juergen@archlinux.org>
9838         Use proper localization in tramp-gvfs.el
9840         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
9841         Suppress localized settings in order to proper parse gfvs output.
9843 2015-10-14  Warren Lynn  <wrn.lynn@gmail.com>  (tiny change)
9845         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
9846         Quote argument in proper order.  (Bug#21562)
9848 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
9850         Fix typos in docstrings
9852         * lisp/emacs-lisp/map.el:
9853         * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
9854           macros.
9856 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
9858         * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live.
9860 2015-10-14  Oleh Krehel  <ohwoeowho@gmail.com>
9862         Make dired-jump work with tar-subfile-mode
9864         * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of
9865           emitting an error, switch to `tar-superior-buffer'.
9867 2015-10-14  Juanma Barranquero  <lekktu@gmail.com>
9869         * .gitignore: Add build-aux/ar-lib.
9871 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
9873         Better docstrings in seq.el and map.el
9875         * lisp/emacs-lisp/map.el:
9876         * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
9878 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9880         Merge from gnulib
9882         This incorporates:
9883         2015-10-13 binary-io, u64, unistd: port to strict C
9884         2015-09-26 c-ctype: do not worry about EBCDIC + char signed
9885         2015-09-25 c-ctype: port better to z/OS EBCDIC
9886         2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
9887         * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
9888         * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
9889         Copy from gnulib.
9891 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9893         Take XPNTR private
9895         * src/alloc.c (PURE_POINTER_P): Remove.
9896         All uses replaced with PURE_P.
9897         (XPNTR_OR_SYMBOL_OFFSET): New function.
9898         (XPNTR): Move here from lisp.h.
9899         Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET.
9900         (mark_maybe_object, valid_lisp_object_p, survives_gc_p):
9901         Remove unnecessary cast.
9902         (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR,
9903         to avoid an unnecessary runtime test for symbols.
9904         * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c.
9905         Only alloc.c needs XPNTR now.
9907 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
9909         Add MPC play/pause command
9911         * lisp/mpc.el (mpc-toggle-play): New command.
9912         (mpc-mode-map): Bind it to "s".
9913         (mpc-mode-menu): Add corresponding menu item.
9915 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
9917         Add bindings and menu items for prev and next tracks
9919         * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next,
9920         "<" to mpc-prev.
9921         (mpc-mode-menu): Add corresponding menu items
9923 2015-10-13  Ken Raeburn  <raeburn@raeburn.org>
9925         Reduce face-related consing during frame creation.
9927         * faces.el (face--attributes-unspecified): Compute the "unspecified"
9928         attribute list once.
9929         (face-spec-reset-face): Use it instead of building the list.
9931 2015-10-13  Ken Raeburn  <raeburn@permabit.com>
9933         Do process ConfigureNotify events indicating size changes.
9935         * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify
9936         events don't have the same size, process each one.
9938 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
9940         Derive mpc-mode from special-mode
9942         lisp/mpc.el (mpc-mode-map): Make from sparse keymap.  Unbind g.
9943         (mpc-mode): Derive from special mode.
9944         (mpc-songs-mode-map): Don't set parent keymap.
9946 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
9948         Fix error messages for when covers are not found.
9950         The last change to mpc-format let the binding to file call
9951         mpc-file-local-copy with nil argument.  Instead, employ if-let here
9952         so nil bindings don't result in needless computation and errors.
9953         * lisp/mpc.el: Require 'subr-x at compile time.
9954         * lisp/mpc.el (mpc-format): Use if-let.
9956 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
9958         Make dired-do-compress work for *.tar.gz files
9960         * lisp/dired-aux.el (dired-compress-file-suffixes): Associate
9961           "tar -zxvf" to *.tar.gz; update docstring.
9963         (dired-compress-file): Allow to specify switches after the command in
9964         `dired-compress-file-suffixes'.
9966 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
9968         Make dired-do-compress work for directories
9970         * lisp/dired-aux.el (dired-compress-file): When FILE is a directory,
9971           instead of emitting an error, call "tar -czf FILE.tar.gz FILE".
9972         Also convert the top comment into a docstring.
9974 2015-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
9976         * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active'
9978         ... since it might come straight from the memoizing table.
9980 2015-10-13  Juanma Barranquero  <lekktu@gmail.com>
9982         * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame.
9984 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
9986         Use special-mode in eww list modes
9988         * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode)
9989         (eww-buffers-mode): Derive from special-mode and remove redundant
9990         setting of buffer-read-only.
9991         (eww-mode-map): Remove redundant keymap parent setting.
9992         (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map):
9993         Remove redundant keymap suppressions and mappings.
9995 2015-10-13  Martin Rudalics  <rudalics@gmx.at>
9997         Allow setting frame pixel sizes from frame parameters (Bug#21415)
9999         Also fix some misfeatures in frame (re-)sizing code, add more
10000         debugging information and remove some dead code.
10002         * lisp/frame.el (frame-notice-user-settings, make-frame): Change
10003         parameter names when setting `frame-size-history'.
10004         (frame--size-history): New function.
10006         * src/frame.c (frame_inhibit_resize): If frame has not been made
10007         yet, return t if inhibit_horizontal_resize or
10008         inhibit_vertical_resize bit have been set.
10009         (adjust_frame_size): Simplify.
10010         (make_frame): Initialize inhibit_horizontal_resize,
10011         inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
10012         (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
10013         inhibit_vertical_resize slots.
10014         (x_set_frame_parameters): Handle `text-pixels' specification for
10015         width and height parameters.  Don't consider new_height or
10016         new_width changes.  Call adjust_frame_size instead of
10017         Fset_frame_size.
10018         (x_figure_window_size): Two new arguments x_width and y_width
10019         returning frame's figures width and height.  Calculate tool bar
10020         height before frame sizes so SET_FRAME_HEIGHT can pick it up.
10021         Handle `text-pixels' specification for width and height
10022         parameters.
10023         (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
10024         (Qx_set_window_size_1, Qx_set_window_size_2)
10025         (Qx_set_window_size_3, Qx_set_menu_bar_lines)
10026         (Qupdate_frame_menubar, Qfree_frame_menubar_1)
10027         (Qfree_frame_menubar_2): New symbols.
10028         * src/frame.h (structure frame): New booleans
10029         tool_bar_redisplayed, tool_bar_resized,
10030         inhibit_horizontal_resize, inhibit_vertical_resize.
10031         (x_figure_window_size): Update external declaration.
10032         * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
10033         calling gtk_window_resize.
10034         (update_frame_tool_bar): Make inhibiting of frame resizing more
10035         discriminative.  Set tool_bar_resized bit.
10036         * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
10037         resizing more discriminative.  Call adjust_frame_size instead of
10038         x_set_window_size.
10039         (Fx_create_frame): Handle x_width and x_height if
10040         set by x_figure_window_size.
10041         * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
10042         subtract 3 from tool bar height.
10043         (x_set_window_size): Add frame_size_history_add call.
10044         (x_new_font): Call adjust_frame_size instead of
10045         x_set_window_size.
10046         * src/w32fns.c (x_change_tool_bar_height): Reset
10047         tool_bar_redisplayed and tool_bar_resized bits when adding tool
10048         bar.  Make inhibiting of frame resizing more discriminative.
10049         (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
10050         (Fx_create_frame): Handle x_width and x_height if set by
10051         x_figure_window_size.  Set size hints before adjusting frame size.
10052         (x_create_tip_frame): Adjust x_figure_window_size call.
10053         * src/w32term.c (x_set_window_size): Add frame_size_history_add
10054         call.
10055         * src/widget.c (set_frame_size): Remove dead code.  Add
10056         frame_size_history_add call.  When frame_resize_pixelwise is t
10057         use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
10058         pixel_width and pixel_height.
10059         (update_various_frame_slots): Remove dead code.
10060         (EmacsFrameResize): Add more information in
10061         frame_size_history_add call.
10062         (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
10063         is not set.
10064         * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
10065         * src/xfns.c (x_set_menu_bar_lines): Change argument name.
10066         (x_change_tool_bar_height): Reset tool_bar_redisplayed and
10067         tool_bar_resized bits when adding tool bar.  Make inhibiting of
10068         frame resizing more discriminative.
10069         (Fx_create_frame): Handle x_width and x_height if set by
10070         x_figure_window_size.  Set size hints before adjusting frame size.
10071         (x_create_tip_frame): Adjust x_figure_window_size call.
10072         * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
10073         (set_frame_menubar): On Lucid never add core-border-width to
10074         avoid that adding XtNinternalBorderWidth adds it again.
10075         (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
10076         * src/xterm.c (x_new_font): In non-toolkit case handle size
10077         change of menu bar.
10078         (x_set_window_size_1): Fix calls to frame_size_history_add.
10079         (x_wm_set_size_hint): Remove dead code.  Set
10080         size_hints.min_width and size_hints.min_height to base_width and
10081         base_height.
10083 2015-10-13  Michael Albinus  <michael.albinus@gmx.de>
10085         * test/automated/file-notify-tests.el (file-notify--test-timeout):
10086         Add docstring.  Increase to 10 seconds for remote
10087         directories.  (Bug#21669)
10089 2015-10-12  Paul Eggert  <eggert@cs.ucla.edu>
10091         Unmacroize ebrowse.c and etags.c a bit
10093         * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant.
10094         (streq, filename_eq, set_flag, has_flag): Now inline functions.
10095         (set_flag): First arg is now an address, not an lvalue.
10096         All callers changed.
10097         (filename_eq, set_flag, has_flag):
10098         Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG.
10099         All callers changed.
10100         * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq):
10101         Now inline functions.  Remove asserts that are unnecessary these
10102         days (and in some cases were too-generous anyway).
10104 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
10106         Use highlight for current items
10108         * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select):
10109         Apply highlight face instead of region face.
10111 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
10113         Search for more cover image names in MPC
10115         * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg
10116         case insensitively
10118 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
10120         Remove or comment out unused variables
10122         * src/w32fns.c (x_set_mouse_color): Comment out variables cursor,
10123         nontext_cursor, mode_cursor, hand_cursor and count.
10124         (x_change_tool_bar_height): Remove variable old_text_height.
10125         (deliver_wm_chars): Remove variable strip_Alt.
10126         (Fw32_shell_execute): Remove variable document_a.
10127         (Fw32_frame_geometry): Remove variable fullboth.
10128         * src/w32term.c (w32_setup_relief_color): Comment out variable
10129         w32_display_info.
10130         (w32_horizontal_scroll_bar_handle_click): Remove variables start, end.
10131         (w32_read_socket): Comment out variables rows, columns.
10132         * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest.
10134 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
10136         * src/w32proc.c (sys_select): Fix bitwise test.
10138 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
10140         Minor typo corrections in doc strings
10142         * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position):
10143         Doc fixes.
10145 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
10147         * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports.
10149 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
10151         Attempt to avoid crashes in plist-member
10153         * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test
10154         and a call to XCDR.  (Bug#21655)
10156 2015-10-12  Mike FABIAN  <mfabian@redhat.com>
10158         * lisp/select.el (gui-get-primary-selection): In
10159         gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
10161 2015-10-12  Tassilo Horn  <tsdh@gnu.org>
10163         Support RTF in doc-view
10165         * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension.
10167 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
10169         * src/w32fns.c (get_wm_chars): Increment counter, not pointer.
10171 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
10173         Replace the usage of an obsolete function in auth-source.el
10175         * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token):
10176         Replace an usage of `epg-context-set-armor' with `setf'.
10178 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
10180         * lisp/gnus/auth-source.el: Use sharp-quoting with functions.
10182 2015-10-11  Jay Belanger  <jay.p.belanger@gmail.com>
10184         Have calc-yank recognize numbers in different bases.
10186         * lisp/calc/calc-yank.el (math-number-regexp): New function.
10187         (calc-yank): Use `math-number-regexp' to recognize numbers.
10189 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
10191         Handle an opaque-move X11 window manager operation more efficiently
10193         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
10194         followed by more ConfigureNotify events for the same window, process
10195         only the last one.
10197 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
10199         Fix cursor setting for tip frame; re-enable cursor generation
10201         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
10202         attributes sent when creating the new X window.  Don't skip setting
10203         the pointerColor parameter.
10205 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
10207         Rewrite x_set_mouse_color to sync less
10209         We can track serial numbers of X requests and correlate error events
10210         with the associated requests.  This way we can identify errors for
10211         specific calls without having to use XSync after every one.
10213         * src/xfns.c (enum mouse_cursor): New type.
10214         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
10215         (mouse_cursor_types): New array listing the Lisp variables and default
10216         cursor appearances for each cursor type.
10217         (x_set_mouse_color_handler): New function; checks error event serial
10218         number against submitted requests.
10219         (x_set_mouse_color): Updated to use the new error handler callback,
10220         and to be more table-driven, to simplify repetitious code.
10222 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
10224         Add x_catch_errors_with_handler
10226         * src/xterm.c (struct x_error_message_stack): Add new fields for a
10227         callback function and associated data pointer.
10228         (x_error_catcher): If the callback function is set, call it after
10229         saving the error message string.
10230         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
10231         accepts a callback function and data pointer.
10232         (x_catch_errors): Now a wrapper function.
10233         * src/xterm.h (x_special_error_handler): New typedef.
10234         (x_catch_errors_with_handler): Declare.
10236 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
10238         Introduce x_uncatch_errors_after_check to reduce XSync calls
10240         Both x_had_errors_p and x_check_errors call XSync, so if they're
10241         immediately followed by x_uncatch_errors, its XSync call will be
10242         redundant, resulting in a wasted round trip to the X server.
10244         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
10245         x_uncatch_errors without the XSync call.
10246         (XTmouse_position, x_wm_supports):
10247         * src/xfns.c (x_set_mouse_color):
10248         * src/xmenu.c (Fx_menu_bar_open_internal):
10249         * src/xselect.c (x_own_selection, x_get_foreign_selection):
10250         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
10251         * src/xterm.h (x_uncatch_errors_after_check): Declare.
10253 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
10255         Document the optional prefix to `calc-yank'
10257         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
10258         prefix to `calc-yank'.
10259         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
10260         the Calc buffer are yanked back unchanged.
10262 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
10264         * lisp/calendar/calendar.el: Display buffer before executing body.
10266         In each use of this macro, the modeline is derived from a window width
10267         calculation, which will be wrong if (display-buffer) splits the window
10268         horizontally.
10270 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10272         Use ‘echo’ safely with ‘\’ or leading ‘-’
10274         POSIX says that ‘echo FOO’ produces implementation-defined output
10275         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
10276         behavior in that case.
10277         * Makefile.in (removenullpaths): Remove.
10278         (epaths-force): Rewrite to avoid the need for ‘echo’.
10279         (install-etc): Be clearer about escaping the shell metacharacters
10280         ‘\’ and ‘$’.
10281         * Makefile.in (install-arch-indep, install-etcdoc):
10282         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
10283         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
10284         * configure.ac, lib-src/rcs2log, make-dist:
10285         * src/Makefile.in (lisp.mk):
10286         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
10287         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
10288         if $foo can contain arbitrary characters.
10289         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
10290         * doc/lispref/two-volume.make (vol1.pdf):
10291         * test/etags/make-src/Makefile (web ftp publish):
10292         Use ‘printf’ rather than ‘echo -e’.
10294 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
10296         Allow numbers with different radixes to be yanked.
10298         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
10299         default base 10.
10301 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10303         Improve CHECK_IMPURE and PURE_P speedup
10305         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
10307 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
10309         Use events instead of chars to keep track of steps.
10311         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
10312         to keep track of steps.
10314 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10316         Fix --enable-gcc-warnings problem with older GCC
10318         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
10319         This is for building with --enable-gcc-warnings with
10320         GCC 4.6 through 5.0.
10322 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
10324         Fix vertical-motion in truncated lines that end in a stretch
10326         * src/indent.c (Fvertical_motion): Expect overshoot when point is
10327         beyond window margin and lines are truncated, even if we have a
10328         stretch at point.  (Bug#21468)
10330 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
10332         Avoid link-time errors due to inline functions
10334         * src/emacs.c: Include puresize.h, to avoid link-time errors in
10335         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
10336         inline functions.
10338 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
10340         * src/data.c (Faset): Fix last change.
10342 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10344         CHECK_IMPURE and PURE_P speedup
10346         * src/intervals.c (create_root_interval):
10347         Do CHECK_IMPURE only for strings; not needed for buffers.
10348         Prefer ! STRINGP to BUFFERP, for a tad more speed.
10349         * src/puresize.h (CHECK_IMPURE, PURE_P):
10350         Now inline functions instead of macros.
10351         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
10352         All callers changed.
10353         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
10354         All callers changed.
10356 2015-10-09  Noah Friedman  <friedman@splode.com>
10358         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
10360 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10362         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
10364         our after-change-function, rather than re-adding it if it was removed.
10366 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10368         * lisp/cedet/ede: Silence some compiler warnings
10370         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
10371         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
10372         (ede-apply-object-keymap, ede-reset-all-buffers)
10373         (ede-auto-add-to-target): Use dolist.
10374         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
10375         Use field names rather than initarg names in `oref'.
10376         (ede-load-project-file): Remove unused var `file'.
10377         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
10378         (ede-set): Remove unused var `a'.
10380         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
10381         (ede-project-autoload): Avoid the old-style "name" argument.
10382         (ede-emacs-find-matching-target): Use field names rather than initarg
10383         names in `oref'.
10385         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
10386         (ede-linux-load, ede-project-autoload): Avoid the old-style
10387         "name" argument.
10388         (ede-linux-find-matching-target): Use field names rather than initarg
10389         names in `oref'.
10391 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10393         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
10395 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
10397         * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid
10398         indenting too far after ":-".
10400 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
10402         Update case-table and categories of recently added characters
10404         * lisp/international/characters.el: Update information about Latin
10405         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
10406         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
10407         blocks.  (Byug#21654)
10409 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
10411         * src/frame.c (adjust_frame_size): In minibuffer-only windows
10412         don't count minibuffer height twice.  (Bug#21643)
10414 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
10416         Avoid inflooping in font-lock
10418         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
10419         inhibit-field-text-motion around the call to
10420         line-beginning-position, to avoid inflooping.  (Bug#21615)
10422 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
10424         Refactor duplicated code; ensure default is in completions
10426         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps):
10427         New function.
10428         (reftex-extract-bib-entries): Use it.
10429         (reftex-extract-bib-entries-from-thebibliography): Use it.
10431 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10433         * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst"
10434         in the example.
10436 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
10438         * lisp/calc/calc.el: Silence byte-compiler warnings.
10439         (calc-scan-for-dels): Use ignore-errors.
10440         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
10441         (calc-read-key-sequence): Remove unused var `prompt2'.
10442         (calc-kill-stack-buffer): Remove unused var `buflist'.
10443         (calc): Remove unused var `oldbuf'.
10444         (calc-refresh): Use inhibit-read-only.
10445         (calc-can-abbrev-vectors): Declare.
10446         (calc-record): Remove unused var `mainbuf'.
10447         (math-sub-bignum): Remove unused var `sum'.
10448         (math-svo-c, math-svo-wid, math-svo-off): Declare.
10450 2015-10-08  Daiki Ueno  <ueno@gnu.org>
10452         Use g_clear_error instead of g_error_free
10454         * src/image.c: Define g_clear_error instead of g_error_free.
10455         (init_svg_functions): Resolve symbol g_clear_error instead of
10456         g_error_free.
10457         (svg_load_image): Use g_clear_error instead of g_error_free, to
10458         suppress GLib warnings when ERR is not set.  See bug#21641.
10460 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10462         * src/image.c (image_size_error): Simplify.
10464 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10466         Fix problems caught with --enable-gcc-warnings
10468         * src/image.c (lookup_rgb_color):
10469         * src/xfns.c (x_defined_color):
10470         * src/xterm.c (x_parse_color):
10471         Remove unused locals.
10473 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
10475         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
10477 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
10479         Format initial input uniformly
10481         * lisp/calc/calc.el (calc-digit-start-entry): New function.
10482         * lisp/calc/calc.el (calcDigit-start):
10483         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
10484         Use `calc-digit-start-entry' to format input.
10486 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10488         Disable non-working pointerColor setting for X tooltip frame
10490         It generates a bunch of server traffic, but there's some bug wherein
10491         the new mouse cursor settings don't seem to get used.  In most
10492         situations the cursor isn't likely to be seen anyway, so it's not
10493         urgent to fix.
10495         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
10497 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10499         Reduce some unnecessary X calls
10501         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
10502         call.  If border width is wanted, get it from the XGetGeometry call
10503         instead of calling XGetWindowAttributes on the same window.  Skip some
10504         X calls if we've already detected an error from the X server.
10505         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
10506         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
10508 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10510         Reduce color allocation/query traffic in the TrueColor case
10512         When working with an X visual with TrueColor class, pixel values can
10513         be generated from the RGB values according to mask value provided by
10514         the server on connection.  Some of the image-handling code was already
10515         doing this.
10517         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
10518         lookup_rgb_color.
10519         (x_mutable_colormap): New function.
10520         * src/image.c (lookup_rgb_color): Move pixel composition code to
10521         x_make_truecolor_pixel.
10522         (x_kill_gs_process): Call x_mutable_colormap.
10523         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
10524         x_mutable_colormap.
10525         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
10526         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
10527         pixel value into RGB values directly, and don't send a request to the
10528         server.
10529         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
10530         value with x_make_truecolor_pixel.
10531         (x_copy_color): For an immutable color map, just return the provided
10532         pixel value.
10534 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
10536         Cache XParseColor results in the X display info structure
10538         With repeated lookups of foreground and background colors for multiple
10539         faces per frame, we issue a lot of redundant color name lookups to the
10540         X server, waiting every time for the response.  On a remote network
10541         with, say, 30ms round-trip time, this can add nearly a full second to
10542         creation of a new frame.
10544         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
10545         * src/image.c (get_spec_bg_or_alpha_as_argb):
10546         (xpm_init_color_cache, xpm_lookup_color):
10547         * src/xfns.c (x_defined_color):
10548         * src/xterm.c (x_parse_color): New function; caches color names not
10549         starting with "#" in the display-info structure.
10550         (x_delete_display): Delete the cache content.
10551         * src/xterm.h (struct color_name_cache_entry): New type.
10552         (x_parse_color): Declare.
10553         (struct x_display_info): Add a new field for the cache.
10555 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
10557         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local.
10559 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
10561         Fix segfault in image_size_error
10563         * src/image.c (image_size_error): Pass a Lisp string to
10564         image_error, not a C string.  (Bug#21641)
10566 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
10568         Highlight CSS variable definitions
10570         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
10571         CSS variables.  (Bug#21638)
10573 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10575         * test/automated/tabulated-list-test.el: New file.
10576         Test bug#21639 and some basic functionality.
10578 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10580         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
10581         Check if column can be sorted before trying.  (Bug#21639)
10583 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
10585         Add test for `self-insert-command' (bug#21633)
10587         * test/automated/cmds-tests.el: New file.
10589 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
10591         * src/window.c (resize_frame_windows): Don't set root window's
10592         top position when resizing horizontally.
10594 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10596         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
10597         Document more possible values.
10599 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10601         * lisp/textmodes/tex-mode.el: Use lexical-binding.
10603 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10605         * lisp/indent.el (indent--default-inside-comment): New function.
10606         (indent-for-tab-command): Use it for `noindent' indentation.
10608 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
10610         Fix bug in GC_CHECK_MARKED_OBJECTS check
10612         * src/alloc.c (mark_object): Fix bug in checking code.
10613         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
10614         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
10615         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
10616         bucket.  The bug did not affect behavior either in the normal case
10617         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
10618         not have an internal error that a properly-written
10619         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
10621 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
10623         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
10624         Add prettified version for \\Bbb{Q}.
10626 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
10628         * test/automated/package-test.el (package-test-install-single):
10629         Add a test for bug#21625.
10631 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
10633         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
10634           not a package-desc object.  Also clarify documentation.  (Bug#21625)
10636 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
10638         Fix display of characters adjacent to ZWJ and ZWNJ
10640         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
10641         characters the same as directional formatting controls.
10642         (bidi_level_of_next_char): Include all Bn characters in rule L1,
10643         as mandated by the UBA.
10645 2015-10-06  Andreas Schwab  <schwab@suse.de>
10647         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
10648         number.  (Bug#21633)
10650 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
10652         * doc/lispref/objects.texi (Window Type): Add a cross reference.
10654         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
10656 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
10658         * lisp/language/misc-lang.el (composition-function-table):
10659         Fix entries for Arabic and Syriac.
10661 2015-10-05  Damien Cassou  <damien@cassou.me>
10663         Add first unit tests for auth-source.el
10665         * test/automated/auth-source-tests.el: New file.
10667 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
10669         Remove redundant redisplay code
10671         * src/xdisp.c (redisplay_internal, try_cursor_movement)
10672         (try_window_reusing_current_matrix, try_window_id): Remove
10673         redundant restrictions on redisplay optimizations based on the
10674         frame's 'redisplay' flag.  See
10675         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
10676         discussions.
10678 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
10680         * src/xdisp.c (windows_or_buffers_changed): Improve docstring.
10682 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
10684         Update tutorials/TUTORIAL.cn
10686         * etc/tutorials/TUTORIAL.cn: Improve translation.
10688 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
10690         * src/macfont.m (macfont_encode_char, syms_of_macfont):
10691         Remove unused vars.
10693 2015-10-04  Stefan Merten  <stefan@merten-home.de>
10695         Pull in version numbers from rst.el upstream release.
10697         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
10698         (rst-svn-timestamp, rst-official-version)
10699         (rst-official-cvs-rev, rst-package-emacs-version-alist):
10700         Update version numbers.
10702 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
10704         * test/automated/coding-tests.el: New file.
10706 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
10708         Improve XEmacs compatibility of Tramp
10710         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
10711         Declare if it doesn't exist.
10712         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
10713         (redisplay): Make it an alias if it doesn't exist.
10715         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
10716         `file-remote-p' (due to XEmacs compatibility).
10718         * lisp/net/trampver.el (locate-dominating-file)
10719         (tramp-compat-replace-regexp-in-string): Autoload.
10720         (tramp-repository-get-version): Do not dupe byte-compiler.
10722 2015-09-02  K. Handa  <handa@gnu.org>
10724         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
10726         * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
10727         Adjusted for the change of type of elements in the array
10728         MFLTGlyphString.glyphs.
10730 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
10731             Michael Heerdegen  <michael_heerdegen@web.de>
10733         shr: fix too long lines in rendered buffers (Bug#21012)
10735         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
10736         Correct calculation of available width.
10737         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
10738         is nil.
10740 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10742         Restore blank line before next section, erroneously erased
10743         in my previous commit
10745         * etc/compilation.txt (symbol ant): Add an additional trailing blank
10746         line to this section, so that there are two of them immediately before
10747         the next section.
10749 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
10751         Support MSW filename style for ant compilation error regexp
10753         * etc/compilation.txt (symbol ant):
10754         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
10755         Support MSW filename style.
10757 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10759         * nt/INSTALL: Minor spelling and quote fixes.
10761         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
10763 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
10765         Maintain ordering of JSON object keys by default
10767         * lisp/json.el (json-object-type): Mention order handling in doc-string.
10768         (json--plist-reverse): New utility function.
10769         (json-read-object): Maintain ordering for alists and plists.
10770         (json-pretty-print): Ensure that ordering is maintained.
10772         * test/automated/json-tests.el (test-json-plist-reverse): New test for
10773         `json--plist-reverse'.
10774         (json-read-simple-alist): Update test to accommodate for changes in
10775         `json-read-object'.
10777         * etc/NEWS: Document the new behavior of the pretty printing functions.
10779 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
10781         * src/coding.c (complement_process_encoding_system): Revert last change.
10783 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
10785         * admin/MAINTAINERS: Add entry for Ulf Jasper.
10787 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
10789         Doc fix for `defmacro'
10791         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
10793 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
10795         More validatation of coding systems
10797         * src/fileio.c (Finsert_file_contents): Remove redundant
10798         coding-system check.
10799         (choose_write_coding_system): Likewise.
10800         * src/coding.c (complement_process_encoding_system): Check argument
10801         for valid coding system.
10803 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
10805         Avoid crashes in coding_inherit_eol_type
10807         * src/coding.c (coding_inherit_eol_type): Check the validity of
10808         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
10809         (Bug#21602)
10811 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
10813         More validatation of coding system in 'write-region'
10815         * src/coding.c (choose_write_coding_system): More validation of
10816         coding-system from various sources.  Suggested by Andreas Schwab
10817         <schwab@linux-m68k.org>.  (Bug#21602)
10819 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
10821         Avoid crashes due to invalid coding-system
10823         * src/fileio.c (choose_write_coding_system)
10824         (Finsert_file_contents): Check validity of coding-system-for-write
10825         and coding-system-for-read bound by the caller.  (Bug#21602)
10827 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
10829         Adapt to new prettify-symbols-unprettify-at-point default
10831         * etc/NEWS: Mention that unprettication of symbol at point is off
10832         by default.
10834 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
10836         Revert my two recent process.c changes
10838         Revert "Improve last commit to process.c" and "Remove callback-handled
10839         channels from Available set" because they did not fix bug#21313.
10841         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
10842         27f871907cc24f33a7d12ac3a4ab71a88f0bc554.
10844 2015-10-02  Markus Triska  <triska@metalevel.at>
10846         * lisp/progmodes/prolog.el: Update and extend operator table.
10847         (prolog-smie-grammar): Add multifile, public etc.
10849 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10851         Allow autogen even when Git is not installed
10853         * autogen.sh: Test ‘git status’ before trying to use Git.
10855 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
10857         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes.
10858         Adjust lto/lfrom when we have uncommitted changes.
10860 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10862         Fix problems found by clang 3.5.0
10864         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
10865         * src/font.c (font_parse_family_registry):
10866         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
10868 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
10870         * nt/INSTALL: Update instructions for running autogen.sh.
10872         * nt/INSTALL: Point to ezwinports for libXpm binaries.
10874 2015-10-02  Daniel Colascione  <dancol@dancol.org>
10876         Fix winner in cl-lib not loaded case
10878         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
10879         without requiring CL
10881 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10883         Fix a few problems with directed quotes
10885         This is in response to a problem report by Kaushal Modi in:
10886         http://bugs.gnu.org/21588#25
10887         * lisp/cedet/mode-local.el (describe-mode-local-overload):
10888         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
10889         * lisp/info-xref.el (info-xref-check-all-custom):
10890         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
10891         Prefer directed to undirected single quotes in diagnostics.
10893 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
10895         Revert "Attempt to fix slow redisplay caused by last changes"
10897         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
10898         (try_cursor_movement): Don't relax requirements for redisplay
10899         optimizations for the selected frame.  (Bug#21597)
10901         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
10903 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
10905         Fix slow redisplay when daemon frame exists
10907         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
10908         when looking for frames that need to be redisplayed.  (Bug#21597)
10910 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
10912         Attempt to fix slow redisplay caused by last changes
10914         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
10915         (try_cursor_movement): Relax requirements for redisplay
10916         optimizations for the selected frame.  (Bug#21597)
10918 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
10920         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
10921         Improve doc string.
10923 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
10925         * lisp/minibuffer.el (minibuffer-completion-help):
10926         Set default base-size, in case completion table does not set it.
10928 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
10930         Fix GUD display of GDB output with non-ASCII text
10932         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
10933         (gdb-mi-decode): New function.
10934         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
10935         decode octal escapes in GDB output.  (Bug#21572)
10937 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
10939         * nt/INSTALL: Document where to find XPM support files.
10941 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
10943         Un- and re-prettification are not exclusive
10945         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
10946         Re-apply prettification to previous symbol also when unprettifying
10947         next one.
10949 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
10951         Don't unprettify symbol at point by default
10953         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
10954         Default to disabled (nil).
10956 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10958         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
10959         Support unprettifying when point is after a symbol.
10961         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'.
10963 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
10965         Avoid assertion violations in push_prefix_prop
10967         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
10968         a line that has a line-prefix defined starts with an image.  (Bug#21428)
10970 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
10972         Disable some display optimizations when frames need redisplay
10974         These optimizations were previously disabled by the
10975         windows_or_buffers_changed flag, which now is not set
10976         when only some frames need to be redrawn.
10977         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
10978         'redisplay' flag is set.
10979         (try_window_reusing_current_matrix, try_window_id)
10980         (try_cursor_movement): Disable these optimizations when the
10981         frame's 'redisplay' flag is set.
10983 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
10985         Don't modify buffer by unprettification
10987         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
10988         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
10989         modify buffer when setting/removing custom prettify-symbols-start/end
10990         text properties.  Add them to font-lock-extra-managed-props, too.
10992 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
10994         Try to avoid redisplaying all frames when creating a new one
10996         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
10997         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
10998         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
10999         * src/frame.c (x_set_screen_gamma): Set the specific frame's
11000         `redisplay' bit rather than windows_or_buffers_changed.
11002         * src/window.c (apply_window_adjustment): Remove redundant setting of
11003         windows_or_buffers_changed.
11005         * src/xdisp.c (redisplay_internal): Set the specific frame's
11006         `redisplay' bit rather than update_mode_lines in response to
11007         cursor_type_changed.
11008         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
11009         (AINC): Adjust accordingly.
11011 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
11013         Implement unprettification of symbol at point
11015         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
11016         symbol at point.
11017         (prettify-symbols--current-symbol-bounds): New variable.
11018         (prettify-symbols--post-command-hook): New function.
11019         (prettify-symbols-unprettify-at-point): New defcustom.
11020         (prettify-symbols-mode): Use it.
11021         (prettify-symbols--compose-symbol): Use them.
11023 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11025         * src/macfont.m (mac_font_descriptor_supports_languages):
11026         Regard "zh" as synonym of "zh-Hans".
11028 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11030         Work around crash when displaying etc/HELLO on OS X 10.11
11032         * src/macfont.m (mac_font_get_weight)
11033         (mac_font_descriptor_get_adjusted_weight): New functions.
11034         (macfont_store_descriptor_attributes): Adjust weight.
11036 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11038         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
11040 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
11042         * lisp/arc-mode.el (archive-rar-summarize): Better alignment
11043         of the columns.
11045 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
11047         Use unar and lsar to handle RAR archives in arc-mode
11049         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
11050         on unar and lsar instead of unrar-free for RAR archives (bug#17663).
11052 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
11054         Clarify :create in auth-source's docs
11056         * lisp/gnus/auth-source.el (auth-source-search):
11057         Clarify :create's meaning.
11059 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
11061         Avoid empty -path arguments in rgrep
11063         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
11064         the list produced according to grep-find-ignored-directories,
11065         before passing it to Find/Grep invocation.  (Bug#21548)
11067 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
11069         Clarify documentation of pos-visible-in-window-p
11071         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
11072         t for POS.  See
11073         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
11074         for the original report.
11076         * doc/lispref/windows.texi (Window Start and End): Clarify the
11077         meaning of t for the POSITION argument of pos-visible-in-window-p.
11079 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11081         * lisp/progmodes/prolog.el: Fix various indentation cases.
11082         (prolog-operator-chars): New const (add \\).
11083         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
11084         (prolog-smie-rules): Add rules according to bug#21526.
11086 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11088         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent.
11089         (sh-indent-after-continuation): Add new value `always' (bug#17620)
11090         (sh-smie-sh-rules): Remove old handling of continued lines.
11091         (sh-smie--indent-continuation): New function.
11092         (sh-set-shell): Use it.
11094 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11096         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun.
11097         Remove redundant :group keyword args.
11098         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
11099         Remove variables.
11100         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
11101         turn them into compile-time variables.
11102         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
11103         Add rules for break, continue, return, global, and persistent.
11104         Refine the rule for "until".
11105         (octave-smie--funcall-p, octave-smie--end-index-p)
11106         (octave-smie--in-parens-p): New functions.
11107         (octave-smie-backward-token, octave-smie-forward-token): Use them to
11108         distinguish the "enumeration" function and the "end" index from
11109         their corresponding keywords.
11110         (octave--block-offset-keywords): New constant.
11111         (octave-smie-rules): Use it.  Adjust rules for new global/persistent
11112         parsing.
11113         (octave-reserved-words): Redefine using octave-smie-grammar.
11114         (octave-font-lock-keywords): Use octave-smie--funcall-p and
11115         octave-smie--end-index-p.
11117 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11119         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*.
11121 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
11123         * nt/INSTALL: Remove references to GTK site.
11124         That site no longer offers Windows downloads.
11126 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
11128         * nt/INSTALL: Add instructions for installing Git.
11130 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
11132         * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to
11133         use colors.  Suggested by Eli Zaretskii.
11135 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
11137         * lisp/net/shr.el (shr-colorize-region): Don't do it on a system
11138         not supporting 256 above colors (bug#21557).
11140 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
11142         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
11144         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
11146 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
11148         Add documentation for seq.el
11150         * doc/lispref/sequences.texi: Add documentation regarding extending
11151         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
11152         seq-do and seq-map.
11154 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
11156         Better documentation for seq-some
11158         * doc/lispref/sequences.texi:
11159         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
11160         guarantee that the returned value is the first non-nil value that
11161         resulted from applying the predicate.
11163 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
11165         * lisp/arc-mode.el: Sharp-quote function arguments.
11167 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
11169         Avoid redisplay error in ediff-regions-wordwise
11171         * lisp/vc/ediff-util.el
11172         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
11173         set before activating it.  (Bug#21567)
11175 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
11177         Another attempt to fix crashes due to prematurely freed faces
11179         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
11180         faces for as long as we might have desired matrices that reference
11181         those faces.  (Bug#21428)
11183 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
11185         Add auctex development list email address
11187 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
11189         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
11191 2015-09-28  Arash Esbati  <esbati@gmx.de>  (tiny change)
11193         Improve wrapfig package support and caption parsing
11195         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
11196         Correct description string and add wraptable environment.
11197         (reftex-default-context-regexps): Improve caption regexp.
11199 2015-09-28  Anders Lindgren  <andlind@gmail.com>
11201         Respect value of frame_resize_pixelwise when handling fullscreen state
11203         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
11204         setting size increments.
11206 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
11208         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
11210 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
11212         Add prettify-symbols-alist for js-mode
11214         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
11215         (js-mode): Use it.
11217 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
11219         * nt/subdirs.el: File deleted (no longer used).
11221 2015-09-26  Alan Mackenzie  <acm@muc.de>
11223         Fix follow-scroll-up/down, making them replacements for scroll-up/down
11225         1. Allow point to move between follow windows in scroll operations.
11226         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
11227         when EOB was isolated in the last follow window.
11229         * lisp/follow.el (follow-fixed-window): New variable.
11230         (follow-get-scrolled-point): New function.
11231         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
11232         Reformulate the code.  Put `scroll-command' properties on the functions.
11233         Correct minor errors in ...-down's doc string and code.
11234         (follow-calc-win-end): Amend incomplete doc string.  Use
11235         `pos-visible-in-window-p' to check whether EOB is in the window.
11236         (follow-estimate-first-window-start): Correct an off-by-1 error.
11237         (follow-adjust-window): Add handling for explicit scrolling operations.
11239 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11241         * admin/MAINTAINERS: Add self, plus list some more files
11242         sans maintaners.
11244 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
11246         New DWIM commands for changing letter-case
11248         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
11249         New functions.  (Bug#21501)
11251 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
11253         * etc/PROBLEMS: Document problems with pasting on MS-Windows.
11255 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
11257         Make face realization be more frame-specific
11259         * src/frame.h (struct f): New flag face_change.
11260         * src/xfaces.c (Finternal_make_lisp_face)
11261         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
11262         (update_face_from_frame_parameter): Set the face_change flag only
11263         for the frame whose faces are affected.
11264         * src/xdisp.c (init_iterator): If a frame's face_change flag is
11265         set, free faces only on that frame.
11266         (redisplay_internal): Disable "display optimization 1" if the
11267         frame's face_change flag is set.
11268         (redisplay_window): Don't allow skipping a window's redisplay if
11269         its frame's face_change flag is set.
11270         * src/frame.c (x_set_screen_gamma): Instead of calling
11271         Fclear_face_cache, call clear_face_cache and set
11272         windows_or_buffers_changed to a non-zero value.  This avoids
11273         setting the global face_change flag that triggers face realization
11274         on all frames and thorough redisplay of all of them.
11276         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
11277         clear face cache if the selected frame is a GUI frame.
11279 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
11281         Remove font-latex specific check
11283         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
11284         Use syntax-ppss data to identify verbatim contents.
11286 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
11288         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
11289         Fix some false negatives.
11291 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
11293         Reorder Windows version in Emacs manifests
11295         * nt/emacs-x64.manifest:
11296         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
11297         highest.
11299 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
11301         Update Emacs manifest files for Windows 10
11303         * nt/emacs-x86.manifest:
11304         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
11306 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
11308         Avoid non-ASCII decoding errors in C src files
11310         * src/nsterm.m:
11311         * src/lisp.h:
11312         * src/editfns.c:
11313         * src/doprnt.c: Add 'coding' cookies -- these files include
11314         Unicode characters and should be decoded as UTF-8.
11316 2015-09-25  Alan Mackenzie  <acm@muc.de>
11318         Resurrect edebug-set-initial-mode, repurposing it to set the global mode
11320         * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
11321         amend to match current modes and functions.
11322         (edebug-set-initial-mode): Uncomment and change from setting a defun's
11323         `edebug-initial-mode''s property to setting the variable
11324         `edebug-initial-mode'.
11325         (top level): Create new binding C-x C-a C-m for
11326         `edebug-set-initial-mode'.
11328         * doc/lispref/edebug.texi (Edebug Execution Modes): Document
11329         `edebug-set-initial-mode' and its new key binding.
11330         (Edebug Options): Mention the new command in the pertinent place.
11332         * etc/NEWS: Write entry for this change.
11334 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
11336         Avoid non-ASCII decoding errors in Texinfo files
11338         * doc/misc/tramp.texi:
11339         * doc/lispref/strings.texi:
11340         * doc/lispref/positions.texi:
11341         * doc/lispref/help.texi:
11342         * doc/lispref/functions.texi:
11343         * doc/lispintro/emacs-lisp-intro.texi:
11344         * doc/emacs/text.texi:
11345         * doc/emacs/modes.texi:
11346         * doc/emacs/mini.texi:
11347         * doc/emacs/display.texi:
11348         * doc/emacs/custom.texi:
11349         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
11350         Unicode characters and should be decoded as UTF-8.
11351         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
11352         apostrophe unnecessarily.
11354 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
11356         Merge from gnulib
11358         This incorporates:
11359         2015-09-25 c-ctype: rewrite to use inline functions
11360         2015-09-24 maint: add coding cookies to non-ASCII sources
11361         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
11362         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
11363         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
11364         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
11365         * lib/set-permissions.c:
11366         Copy from gnulib.
11368 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
11370         Update publicsuffix.txt from upstream
11372         * etc/publicsuffix.txt: Update from
11373         https://publicsuffix.org/list/effective_tld_names.dat
11374         dated 2015-09-24 17:29:21 UTC.
11376 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
11378         Prevent timers from messing up TTY menus
11380         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
11381         the TTY menu is open.  (Bug#21530)
11383 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
11385         No need to mention K&R C in c-mode intro
11387 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
11389         Fix recent bootstrap problems
11391         * src/syntax.c (parse_sexp_propertize): Fix last fix.
11392         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
11393         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
11395 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
11397         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
11399 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
11401         Properly quote nested xml comments (Bug#6267) (Bug#20001)
11403         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function.
11404         (nxml-mode): Set comment-quote-nested-function.
11406 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
11408         Allow major-modes full control over quoting nested comments
11410         * lisp/newcomment.el (comment-quote-nested-function): New variable.
11411         (comment-quote-nested-default): New function.
11412         (comment-quote-nested): Use `comment-quote-nested-function'.
11414 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11416         Prefer CALLN in a few more places
11418         * src/macfont.m (macfont_set_family_cache):
11419         * src/nsterm.m (append2):
11420         * src/xterm.c (x_cr_export_frames):
11421         Prefer CALLN to allocating the arg arrays by hand.
11423 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
11425         Adapt file-notify-test02-events test case
11427         * test/automated/file-notify-tests.el (file-notify-test02-events):
11428         Create a new watch for every test.
11430 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
11432         Continue gfilenotify.c implementation of missing parts
11434         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
11435         `gfile-add-watch' call.
11436         (file-notify-rm-watch): Modify `file-notify-descriptors' only
11437         after calling the low level functions.
11439         * src/gfilenotify.c (dir_monitor_callback): Check, whether
11440         event_type is expected.
11441         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
11442         (Fgfile_rm_watch): Fix typo.
11443         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
11445 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
11447         * src/syntax.c (parse_sexp_propertize): Handle spurious
11448         e_property_truncated flag.
11449         (update_syntax_table_forward): Remove invalid assertion.
11451 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
11453         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
11454         space display spec on text-mode terminals, by calling
11455         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the
11456         HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the
11457         test for a GUI frame.
11459 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
11461         Move let-when-compile to lisp-mode.el
11463         This fixes the bootstrapping problem of `let-when-compile' using
11464         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
11466 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11468         * lisp/url/url-http.el (url-http-parse-headers): Do not
11469         automatically include Authorization header in redirect.
11470         (Bug#21350)
11472 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
11474         Clarify documentation of ':relative-width'
11476         * doc/lispref/display.texi (Specified Space): Document that
11477         ':relative-width' is only supported on GUI frames.
11479 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
11481         Fix 'current-column' in presence of :relative-width
11483         * src/indent.c (check_display_width): Support ':relative-width'
11484         in a display spec that specifies a stretch glyph.  (Bug#21533)
11486 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
11488         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
11490         ... to conform better to CONTRIBUTE guidelines.
11492 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
11494         * lisp/progmodes/prolog.el: Fix indentation of empty line
11496         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
11497         `empty-line-token' element.
11498         (smie-indent-empty-line): New function.
11499         (smie-indent-functions): Add it.
11501         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro
11502         behavior and use the new `empty-line-token' element (bug#21526).
11503         (prolog-mode-variables): Fix comment-start-skip setting to match
11504         comment-start.
11506         * test/indent/prolog.prolog: Add nested indentation tests.
11508         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
11509         comment-start-skip not to misuse submatch 1.
11511 2015-09-22  Alan Mackenzie  <acm@muc.de>
11513         Make description of `edebug-initial-mode' user friendly
11515         Fixes bug#21365.
11517         * dec/lispref/edebug.texi (Edebug Execution Modes): Change the
11518         description of `edebug-initial-mode' from that of its implementation
11519         to that of its visual effect and use.  Move the paragraph higher up.
11521 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
11523         lisp/progmodes/gud.el (gud-format-command): Fix last commit
11525         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
11526         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
11528 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
11530         Improve last commit to process.c
11532 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
11534         Implement gfile-valid-p
11536         * lisp/filenotify.el (file-notify-callback): Fix typo.
11537         (gfile-valid-p): Remove defalias.
11539         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
11540         the file or directory to be watched is deleted.
11541         (Fgfile_add_watch): Make watch_object a triple.
11542         (Fgfile_rm_watch): Check, whether watch is cancelled already.
11543         (Fgfile_valid_p): New defun.
11544         (syms_of_gfilenotify): Declare Sgfile_valid_p.
11546 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
11548         Remove callback-handled channels from Available set
11550         * src/process.c (wait_reading_process_output): Remove channel from
11551         Available set if it is handled by a callback, e.g., dbus or
11552         inotify (bug#21313).
11554 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
11556         Use lunate epsilon for TeX \epsilon
11558         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
11559         Add \varepsilon using GREEK SMALL LETTER EPSILON, and change
11560         \epsilon to use GREEK LUNATE EPSILON SYMBOL
11562 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
11564         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
11566         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
11567         rather than outermost paren (bug#21526).
11569 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
11571         Improve git diff hunk headers for .el, .texi
11573         Problem reported by Alan Mackenzie in:
11574         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
11575         * .gitattributes (*.el, *.texi): New patterns.
11576         * autogen.sh: Configure diff.elisp.xfuncname and
11577         diff.texinfo.xfuncname if using Git.
11579 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
11581         Don't rely on defaults in decoding UTF-8 encoded Lisp files
11583         * lisp/replace.el:
11584         * lisp/textmodes/rst.el:
11585         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
11587 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
11589         Clarify or replace a few \u escapes
11591         * doc/lispref/nonascii.texi (Character Properties)
11592         More-detailed commentary for \u escapes.
11593         * lisp/progmodes/python.el (python--prettify-symbols-alist):
11594         * lisp/replace.el (query-replace-from-to-separator):
11595         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
11596         (rst-mode-syntax-table):
11597         * lisp/whitespace.el (whitespace-display-mappings):
11598         Prefer actual character to \u escape when this makes the code
11599         easier to follow in the usual case where Unicode chars can be
11600         displayed.
11602 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
11604         Pacify GCC -Wmaybe-uninitialized in xdisp.c
11606         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
11607         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
11608         charpos.  The loop should always execute at least once anyway.
11610 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
11612         Signal error on invalid regexp
11614         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
11615         Signal an error when the user tries searching with a regexp
11616         matching the empty string.
11618 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
11620         Another fix of file-notify-tests for w32notify
11622         * test/automated/file-notify-tests.el (file-notify-test02-events):
11623         Further adaptation for w32notify: reduce the number of expected
11624         'changed' events.  (Bug#21435)
11626 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
11628         Adapt tests and manual for w32notify
11630         * doc/lispref/os.texi (File Notifications): w32notify does not
11631         send `attribute-changed' events.
11633         * test/automated/file-notify-tests.el (file-notify--test-with-events):
11634         Simplify parameters.  Adapt all callees.
11635         (file-notify-test02-events): w32notify does not send
11636         `attribute-changed' events.
11637         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
11638         Do not skip in case of w32notify.  Simply ignore this part of the test.
11640 2015-09-21  Dima Kogan  <dima@secretsauce.net>
11642         Fix setting breakpoints when remote-debugging
11644         * lisp/progmodes/gud.el (gud-format-command): Send localized file
11645         names to the debugger running on the remote.  (Bug#13304)
11647 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
11649         Better docstring and parameter name for seq-find
11651         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
11652         the parameter `sentinel' to `default'.
11654         * doc/lispref/sequences.texi (Sequence Functions): Update the
11655           documentation for `seq-find' accordingly.
11657 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
11659         Avoid infinite recursion while displaying box face
11661         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
11662         the previous string/buffer character position under bidi
11663         iteration.  (Bug#21428)
11665 2015-09-21  Anders Lindgren  <andlind@gmail.com>
11667         Keep upper edge unchanged when changing size of NS frame
11669         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
11670         (Bug#21415).
11672 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11674         * lisp/progmodes/prolog.el: Improve handling of if/then/else.
11675         (prolog-smie-rules): Accommodate standard if/then/else special
11676         indentation.
11677         (prolog-mode): Add . to electric-indent-chars.
11678         (prolog-electric--if-then-else): Re-indent the line before adding space
11679         after the new char (bug#21526).
11681 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
11683         Add prettify symbols to python-mode
11685         * lisp/progmodes/python.el (python-prettify-symbols-alist):
11686         New variable.
11687         (python-mode): Use it
11689 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11691         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete.
11693 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
11695         (compilation-error-regexp-alist-alist): Tone down guile-file
11697         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
11698         Make guile-file a bit less enthusiastic (bug#21496).
11700 2015-09-20  Drew Csillag  <drew@thecsillags.com>
11702         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
11703         Fix m4_* highlighting.
11705         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
11706         of commands when they have a "m4_" prefix.
11708 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11710         '.' -> `.' in doc string
11712         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
11713         individual chars with grave quotes instead of straight quotes, as
11714         this works better when they are translated to curved quotes.
11716 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
11718         Improve file notifications, especially for Tramp
11720         * doc/lispref/files.texi (Magic File Names):
11721         Mention `file-notify-valid-p'.
11723         * doc/lispref/os.texi (File Notifications):
11724         Describe `file-notify-valid-p'.
11726         * etc/NEWS: Add `file-notify-valid-p'.
11728         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
11729         Improve implementation.
11730         (tramp-gvfs-monitor-file-process-filter): Rename from
11731         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
11732         process if appropriate.
11734         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
11735         Improve implementation.
11736         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
11737         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
11738         if appropriate.
11739         (tramp-sh-inotifywait-process-filter): Rename from
11740         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
11741         appropriate.
11743         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
11744         Use `delete-process'.
11745         (tramp-handle-file-notify-valid-p): Check also, that file or
11746         directory to be watched still exists.
11748         * test/automated/file-notify-tests.el (file-notify--test-timeout):
11749         New defun.  Use it at all places a timeout is needed.
11750         (file-notify--test-cleanup): Delete directories recursively.
11751         Cleanup also Tramp connections.
11752         (file-notify-test02-events): Add tests for `attribute-change'.
11753         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
11754         Add tests for `file-notify-rm-watch'.
11756 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11758         Use %s to format strings instead of splicing them
11760         If FOO might contain quotes that are part of a file or variable
11761         name, the quotes should not be translated when showing FOO’s name
11762         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
11763         is not quite right, as it would translate FOO’s quotes.
11764         Change it to (message "%s: bar" FOO) instead.
11765         * lisp/allout.el (allout-process-exposed):
11766         * lisp/calc/calc-ext.el (calc-do-prefix-help):
11767         * lisp/calc/calc-store.el (calc-store-into):
11768         * lisp/calendar/todo-mode.el (todo-category-completions):
11769         * lisp/cedet/semantic/complete.el (semantic-completion-message):
11770         * lisp/org/ob-latex.el (convert-pdf):
11771         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
11772         * lisp/org/ox-latex.el (org-latex-compile):
11773         * lisp/org/ox-man.el (org-man-compile):
11774         * lisp/org/ox-odt.el (org-odt--export-wrap):
11775         * lisp/org/ox-texinfo.el (org-texinfo-compile):
11776         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
11777         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
11778         (verilog-signals-combine-bus, verilog-read-defines)
11779         (verilog-getopt-file, verilog-expand-dirnames)
11780         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
11781         * lisp/term/ns-win.el (ns-spi-service-call):
11782         Use %s to avoid translating quotes of file names etc. in diagnostics.
11784 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11786         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
11787         (js-mode): Don't set syntax-begin-function.
11789 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11791         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
11792         syntax-begin-function is a symbol.
11794 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
11796         Improve documentation of 'run-at-time'
11797         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
11798         In particular, don't refer to 'diary-entry-time', because it is
11799         unavailable until diary-lib is loaded.  Also, refer to
11800         'timer-duration-words', not 'timer-duration', as the latter's doc
11801         string says nothing about the accepted strings.
11803 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
11805         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
11807 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
11809         Repair pdbtrack remote file tracking
11810         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
11811         Rectify pdbtrack so it follows transitions from one remote source
11812         file to the next.
11814 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
11816         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting.
11818 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
11820         Adapt vc-src to the old-new vc-checkin API
11821         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
11822         additional optional parameter.
11824 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
11826         Add overflow module to CSS property list
11827         * lisp/textmodes/css-mode.el (css-property-ids): Add properties
11828         from CSS Overflow Module Level 3.
11830 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
11832         Fix documentation of "C-u C-x v v"
11833         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
11834         documentation of "C-u C-x v v" match what the code does.
11836         Resurrect the ability to specify a revision in vc-next-action
11837         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
11838         * lisp/vc/vc-dav.el (vc-dav-checkin):
11839         * lisp/vc/vc-git.el (vc-git-checkin):
11840         * lisp/vc/vc-hg.el (vc-hg-checkin):
11841         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
11842         an additional optional argument, the revision to checkin.
11843         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
11844         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
11845         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
11846         a revision to checkin.
11847         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
11848         revision when checking in files.
11849         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
11850         for the details.
11852 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
11854         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
11855         (verilog-decls-princ, verilog-modport-princ)
11856         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
11858 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
11860         Fix the routine for help on Calc's prefixes
11861         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
11862         (calc-do-prefix-help): Use `read-char' to determine the next Calc
11863         command.
11865 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
11867         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove.
11868         (font-lock-fontify-block): Don't let-bind it.
11869         (font-lock-compile-keywords): Don't use it.
11870         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
11871         start one slot earlier, instead.
11872         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
11873         Don't declare.
11874         (syntax-ppss): Don't use it either.
11875         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
11876         from docstring.
11877         * doc/emacs/display.texi (Font Lock): Don't mention
11878         font-lock-beginning-of-syntax-function.
11879         * doc/lispref/modes.texi (Font Lock Basics): Update description of
11880         font-lock-defaults.
11881         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
11882         * lisp/loadhist.el (unload-feature-special-hooks):
11883         Remove font-lock-beginning-of-syntax-function.
11884         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
11885         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
11886         font-lock-beginning-of-syntax-function.
11888 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
11890         Backslash cleanup in Elisp source files
11891         This patch should not change behavior.  It typically omits backslashes
11892         where they are redundant (e.g., in the string literal "^\$").
11893         In a few places, insert backslashes where they make regular
11894         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
11895         "^\\*", which has the same effect as a regular expression.
11896         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
11897         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
11898         RCS IDs, as that makes it clearer that the backslash is intended.
11900         Some more minor backslash fixes
11901         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
11902         * test/automated/info-xref.el (info-xref-test-write-file):
11903         Double backslashes in strings.
11905         Fix several backslash typos in Elisp strings
11906         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
11907         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
11908         (todo-reset-done-string, todo-reset-comment-string)
11909         (todo-reset-highlight-item):
11910         * lisp/erc/erc-networks.el (erc-networks-alist):
11911         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
11912         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
11913         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
11914         (nntp-telnet-shell-prompt):
11915         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
11916         * lisp/image-dired.el (image-dired-rotate-original):
11917         (image-dired-get-exif-file-name):
11918         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
11919         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
11920         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
11921         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
11922         * lisp/net/shr-color.el (shr-color->hexadecimal):
11923         * lisp/org/org-bibtex.el (org-bibtex-fields):
11924         * lisp/org/org-docview.el (org-docview-export):
11925         * lisp/org/org-entities.el (org-entities):
11926         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
11927         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
11928         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
11929         (ebnf-style-database):
11930         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
11931         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
11932         * lisp/progmodes/sql.el (sql-product-alist):
11933         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
11934         (verilog-error-font-lock-keywords)
11935         (verilog-assignment-operator-re):
11936         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
11937         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
11938         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
11939         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
11940         For example, to get the regular expression ‘\.’ use the string
11941         literal "\\.", not "\." (which is equivalent to ".").
11942         * lisp/emulation/viper-util.el (viper-glob-unix-files):
11943         Remove stray ‘\j’ from string.
11944         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
11945         (nntp-telnet-shell-prompt):
11946         Treat > like $ when matching a shell prompt.
11947         * lisp/progmodes/make-mode.el (makefile-browse):
11948         Properly quote a diagnostic.
11950         Fix minor quoting problems in diagnostics
11951         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
11952         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
11953         Follow text-quoting-style in diagnostic, and quote a file name.
11955 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
11957         * doc/lispref/frames.texi (Cursor Parameters):
11958         Document 'x-stretch-cursor'.
11960 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11962         Omit unnecessary \ before paren in C docstrings
11963         Although \( is needed in docstrings in Elisp code, it is not needed in
11964         docstrings in C code, since C function definitiions do not start with
11965         a parenthesis.  The backslashes made the docstrings a bit harder to
11966         read and to format in columns.  Also, some C docstrings had ( in
11967         column 1 and this did not appear to be causing any problems.  So,
11968         simplify C docstrings by replacing \( with ( and \) with ).
11970         A few more minor quoting fixes in a script and a text file
11972         Minor quoting fixes in scripts and doc
11973         Prefer straight quotes in random script files, as they are not
11974         converted.  Prefer grave quotes in a couple of places in the manual
11975         that were missed earlier, as these quotes are converted.
11977         Minor backslash fixes in manuals and scripts
11978         * Makefile.in (install-arch-indep):
11979         * admin/charsets/compact.awk:
11980         * admin/charsets/gb180302.awk (gb_to_index):
11981         * admin/charsets/gb180304.awk (gb_to_index):
11982         Avoid undefined behavior in Awk regular expression backslashes.
11983         * doc/misc/efaq.texi (Matching parentheses):
11984         Omit unnecessary backslashes.
11985         * doc/misc/gnus-faq.texi (FAQ 5-8):
11986         Avoid undefined behavior in suggested sed backslash usage.
11988         Add -Wswitch to --enable-gcc-warnings
11989         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
11990         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
11991         * lib-src/etags.c (main, consider_token, C_entries):
11992         * src/coding.c (encode_invocation_designation):
11993         * src/data.c (Ftype_of):
11994         * src/eval.c (Fdefvaralias, default_toplevel_binding)
11995         (Fbacktrace__locals, mark_specpdl):
11996         * src/lisp.h (record_xmalloc):
11997         * src/syntax.c (scan_lists, scan_sexps_forward):
11998         * src/window.c (window_relative_x_coord):
11999         * src/xdisp.c (push_it, pop_it):
12000         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
12001         Error out or do nothing (as appropriate) if a switch statement
12002         with an enum value does not cover all of the enum.
12003         * src/dispextern.h (struct iterator_stack_entry.u.comp):
12004         Remove unused member discovered by using -Wswitch.
12005         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
12006         * src/vm-limit.c (check_memory_limits):
12007         Simplify warning-diagnostic computation by using a table.
12009         etags ‘fatal’ function is now printf-like
12010         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
12011         Also, now static; not clear why it needed to be extern.
12012         (verror): New function, with most of the old contents of ‘error’.
12013         (fatal, error): Use it.
12015 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
12017         More adaptations in file-notify-tests.el
12018         * test/automated/file-notify-tests.el
12019         (file-notify-test05-dir-validity): Skip for w32notify in
12020         batch-mode.  (Bug#21432)
12022 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
12024         Adapt test in file-notify-tests.el
12025         * test/automated/file-notify-tests.el
12026         (file-notify-test04-file-validity): Skip for w32notify in
12027         batch-mode.  Add test lost last commit.
12029 2015-09-16  Dima Kogan  <dima@secretsauce.net>
12031         winner no longer holds on to dead frames
12032         * lisp/winner.el (winner-change-fun): Cull dead frames.
12033         This prevents a potentially massive memory leak.  See:
12034         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
12036 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
12038         Use common report_file_notify_error function
12039         * src/fileio.c (report_file_notify_error): New function.
12040         * src/inotify.c (report_inotify_error): Remove function.
12041         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
12042         (Finotify_rm_watch): Use report_file_notify_error.
12043         * src/lisp.h (report_file_notify_error): Declare external function.
12044         * src/w32notify.c (report_w32notify_error): Remove function.
12045         (Fw32notify_add_watch, Fw32notify_rm_watch):
12046         Use report_file_notify_error.
12048 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
12050         Fix documentation.
12051         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
12052         the documentation of the root mean square.
12054 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
12056         Remove tool_bar_redisplayed_once and associated code.
12057         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
12058         * src/frame.c (make_frame, x_set_font): Remove initialization of
12059         f->tool_bar_redisplayed_once.
12060         * src/w32fns.c (x_change_tool_bar_height):
12061         * src/xfns.c (x_change_tool_bar_height): Don't check for
12062         f->tool_bar_redisplayed_once.
12063         * src/xdisp.c (redisplay_internal): Remove handling of
12064         f->tool_bar_redisplayed_once.
12066 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
12068         Restore some of the quoting in the manuals
12069         * doc/lispref/windows.texi (Coordinates and Windows)
12070         (Coordinates and Windows):
12071         * doc/lispref/variables.texi (Lexical Binding)
12072         (File Local Variables):
12073         * doc/lispref/text.texi (Format Properties):
12074         * doc/lispref/symbols.texi (Symbol Components):
12075         * doc/lispref/strings.texi (Creating Strings):
12076         * doc/lispref/sequences.texi (Sequence Functions):
12077         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
12078         (Search and Replace):
12079         * doc/lispref/processes.texi (Bindat Spec):
12080         * doc/lispref/os.texi (Idle Timers):
12081         * doc/lispref/objects.texi (Basic Char Syntax):
12082         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
12083         * doc/lispref/nonascii.texi (Character Properties):
12084         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
12085         (Mode Line Variables):
12086         * doc/lispref/minibuf.texi (Text from Minibuffer):
12087         * doc/lispref/loading.texi (Autoload):
12088         * doc/lispref/keymaps.texi (Controlling Active Maps):
12089         * doc/lispref/frames.texi (Frame Layout, Size and Position)
12090         (Size Parameters, Implied Frame Resizing):
12091         * doc/lispref/files.texi (Changing Files, Magic File Names):
12092         * doc/lispref/eval.texi (Self-Evaluating Forms):
12093         * doc/lispref/display.texi (Progress, Abstract Display)
12094         (Abstract Display Example, Bidirectional Display):
12095         * doc/lispref/commands.texi (Event Mod):
12096         * doc/emacs/windows.texi (Displaying Buffers):
12097         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
12098         * doc/emacs/text.texi (Enriched Text):
12099         * doc/emacs/programs.texi (MixedCase Words):
12100         * doc/emacs/picture-xtra.texi (Insert in Picture)
12101         (Tabs in Picture):
12102         * doc/emacs/misc.texi (Emacs Server, Printing):
12103         * doc/emacs/mini.texi (Minibuffer History):
12104         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
12105         (Pulling / Pushing):
12106         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
12107         * doc/emacs/help.texi (Help, Help Echo):
12108         * doc/emacs/glossary.texi (Glossary):
12109         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
12110         (Frame Commands):
12111         * doc/emacs/files.texi (Reverting, Saving, Directories):
12112         * doc/emacs/entering.texi (Exiting):
12113         * doc/emacs/emacs.texi (Top):
12114         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
12115         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
12116         appropriate or replace quoting with @dfn.
12117         * doc/misc/ediff.texi (Window and Frame Configuration):
12118         * doc/lispref/processes.texi (Network Feature Testing):
12119         * doc/lispref/display.texi (Display Margins): Quote the phrase
12120         after "a.k.a." where appropriate.
12122 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
12124         Clarify reftex-extra-bindings docs
12125         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
12126         * doc/misc/reftex.texi (Key Bindings): Document that the variable
12127         only has an effect at load-time.
12129 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
12131         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
12132         search argument.  (Bug#21492) (Bug#21493)
12134 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
12136         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
12137         Add pretty symbols for \qquad and \varrho.
12139 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
12141         Add new functions for the root mean square of a (Calc) vector
12142         * lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms):
12143         New functions.
12144         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
12145         `calc-vector-rms', add autoloads for `calc-vector-rms' and
12146         `calcFunc-rms'.
12147         * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for
12148         `calcFunc-rms'.
12149         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
12150         `calc-vector-rms'.
12151         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
12152         command.
12154 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
12156         Add monotone EDE generic project
12157         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
12158         Add monotone generic project.
12160         Revert premature commit
12161         * doc/lispref/files.texi: Revert premature commit of change to
12162         file-name-all-completions.
12164         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
12165         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
12166         with cl-generic defaults.
12167         (elisp--xref-find-references): Add doc string.
12168         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
12169         tests to find bug.
12171         Fix bugs in eieio-oref-default related to class symbols
12172         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
12173         (eieio-oref-default): Handle class properly.
12175 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12177         Quote “fullboth” when defining it
12178         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
12179         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
12181 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
12183         Minor doc fix in emacs/ack.texi
12184         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
12185         first argument.
12187 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
12189         Adapt tests in auto-revert-tests.el
12190         * test/automated/auto-revert-tests.el (auto-revert--timeout):
12191         Make it a defconst.
12192         (auto-revert--wait-for-revert): New defun.
12193         (auto-revert-test00-auto-revert-mode)
12194         (auto-revert-test01-auto-revert-tail-mode)
12195         (auto-revert-test02-auto-revert-mode-dired): Use it.
12197 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
12199         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const.
12200         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
12201         (cl-lib-fdefs): Add defgeneric.
12202         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
12203         (eieio-kw, cl-lib-kw, el-kw): Remove.
12205 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12207         Quote less in manuals
12208         The manuals often used quotes ``...'' when it is better to use @dfn or
12209         @code or capitalized words or no quoting at all.  For example, there is
12210         no need for the `` and '' in “if a variable has one effect for
12211         @code{nil} values and another effect for ``non-@code{nil}'' values”.
12212         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
12213         unnecessary quoting like this, and to use @dfn etc. instead when called
12214         for (Bug#21472).
12216 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
12218         * lisp/custom.el (load-theme): Only compute hash when needed.
12220 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12222         Pacify --enable-gcc-warnings
12223         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
12225 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
12227         Improve error reports in inotify.c
12228         * src/inotify.c (report_inotify_error): New function.  Clone of
12229         report_w32notify_error.
12230         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
12231         (Finotify_rm_watch): Use it.
12233 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
12235         Fix the file-notify tests for watch validation on w32
12236         * test/automated/file-notify-tests.el
12237         (file-notify-test04-file-validity): Move the directory deletion
12238         out of the file-notify--test-with-events macro.
12239         (file-notify-test04-file-validity)
12240         (file-notify-test05-dir-validity): Enlarge the timeout of
12241         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
12243 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
12245         Use OPEN BOX instead of space for \quad.
12246         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
12247         character for \quad instead of a space.
12249 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
12251         Add missing *.pbm images
12252         * etc/images/connect.pbm: New file.
12253         * etc/images/custom/down-pushed.pbm: New file.
12254         * etc/images/custom/down.pbm: New file.
12255         * etc/images/custom/right-pushed.pbm: New file.
12256         * etc/images/custom/right.pbm: New file.
12257         * etc/images/describe.pbm: New file.
12258         * etc/images/disconnect.pbm: New file.
12259         * etc/images/ezimage/bits.pbm: New file.
12260         * etc/images/ezimage/bitsbang.pbm: New file.
12261         * etc/images/ezimage/box-minus.pbm: New file.
12262         * etc/images/ezimage/box-plus.pbm: New file.
12263         * etc/images/ezimage/box.pbm: New file.
12264         * etc/images/ezimage/checkmark.pbm: New file.
12265         * etc/images/ezimage/dir-minus.pbm: New file.
12266         * etc/images/ezimage/dir-plus.pbm: New file.
12267         * etc/images/ezimage/dir.pbm: New file.
12268         * etc/images/ezimage/doc-minus.pbm: New file.
12269         * etc/images/ezimage/doc-plus.pbm: New file.
12270         * etc/images/ezimage/doc.pbm: New file.
12271         * etc/images/ezimage/info.pbm: New file.
12272         * etc/images/ezimage/key.pbm: New file.
12273         * etc/images/ezimage/label.pbm: New file.
12274         * etc/images/ezimage/lock.pbm: New file.
12275         * etc/images/ezimage/mail.pbm: New file.
12276         * etc/images/ezimage/page-minus.pbm: New file.
12277         * etc/images/ezimage/page-plus.pbm: New file.
12278         * etc/images/ezimage/page.pbm: New file.
12279         * etc/images/ezimage/tag-gt.pbm: New file.
12280         * etc/images/ezimage/tag-minus.pbm: New file.
12281         * etc/images/ezimage/tag-plus.pbm: New file.
12282         * etc/images/ezimage/tag-type.pbm: New file.
12283         * etc/images/ezimage/tag-v.pbm: New file.
12284         * etc/images/ezimage/tag.pbm: New file.
12285         * etc/images/ezimage/unlock.pbm: New file.
12286         * etc/images/gnus/important.pbm: New file.
12287         * etc/images/gnus/mail-send.pbm: New file.
12288         * etc/images/gnus/receipt.pbm: New file.
12289         * etc/images/gnus/toggle-subscription.pbm: New file.
12290         * etc/images/gnus/unimportant.pbm: New file.
12291         * etc/images/gud/all.pbm: New file.
12292         * etc/images/gud/rcont.pbm: New file.
12293         * etc/images/gud/recstart.pbm: New file.
12294         * etc/images/gud/recstop.pbm: New file.
12295         * etc/images/gud/rfinish.pbm: New file.
12296         * etc/images/gud/rnext.pbm: New file.
12297         * etc/images/gud/rnexti.pbm: New file.
12298         * etc/images/gud/rstep.pbm: New file.
12299         * etc/images/gud/rstepi.pbm: New file.
12300         * etc/images/gud/thread.pbm: New file.
12301         * etc/images/lock-broken.pbm: New file.
12302         * etc/images/lock-ok.pbm: New file.
12303         * etc/images/lock.pbm: New file.
12304         * etc/images/mail/copy.pbm: New file.
12305         * etc/images/mail/forward.pbm: New file.
12306         * etc/images/mail/not-spam.pbm: New file.
12307         * etc/images/mail/outbox.pbm: New file.
12308         * etc/images/mail/preview.pbm: New file.
12309         * etc/images/mail/save-draft.pbm: New file.
12310         * etc/images/mh-logo.pbm: New file.
12311         * etc/images/mpc/add.pbm: New file.
12312         * etc/images/mpc/ffwd.pbm: New file.
12313         * etc/images/mpc/next.pbm: New file.
12314         * etc/images/mpc/pause.pbm: New file.
12315         * etc/images/mpc/play.pbm: New file.
12316         * etc/images/mpc/prev.pbm: New file.
12317         * etc/images/mpc/rewind.pbm: New file.
12318         * etc/images/mpc/stop.pbm: New file.
12319         * etc/images/redo.pbm: New file.
12320         * etc/images/smilies/braindamaged.pbm: New file.
12321         * etc/images/smilies/cry.pbm: New file.
12322         * etc/images/smilies/dead.pbm: New file.
12323         * etc/images/smilies/evil.pbm: New file.
12324         * etc/images/smilies/forced.pbm: New file.
12325         * etc/images/smilies/grin.pbm: New file.
12326         * etc/images/smilies/indifferent.pbm: New file.
12327         * etc/images/sort-ascending.pbm: New file.
12328         * etc/images/sort-column-ascending.pbm: New file.
12329         * etc/images/sort-criteria.pbm: New file.
12330         * etc/images/sort-descending.pbm: New file.
12331         * etc/images/sort-row-ascending.pbm: New file.
12332         * etc/images/unchecked.pbm: New file.
12333         * etc/images/zoom-in.pbm: New file.
12334         * etc/images/README: Update instructions for PBM files.
12336         Add separator.pbm tool-bar image
12337         * etc/images/separator.pbm: New file.  Having it avoids the side
12338         effect of changing the tool-bar height when the default font's size
12339         changes and XPM image support is not available, due to the SPC
12340         characters that are left in the Lisp string used to display the tool
12341         bar, because there are no images to display instead of those SPC
12342         characters.
12344         Make show-paren-match face visible on mono-color displays
12345         * lisp/faces.el (show-paren-match): Use the underline face for
12346         mono-color displays.  (Bug#21481)
12348 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
12350         Don’t double-encode non-ASCII mail clipboard
12351         * lisp/mail/mailclient.el (mailclient-send-it):
12352         Also fix the case when mailclient-place-body-on-clipboard-flag
12353         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
12355 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
12357         Adapt file-notify-tests.el test cases
12358         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
12359         * src/inotify.c (Finotify_valid_p): Adapt docstring.
12360         * test/automated/file-notify-tests.el
12361         (file-notify-test03-autorevert)
12362         (file-notify-test04-file-validity)
12363         (file-notify-test04-file-validity-remote)
12364         (file-notify-test05-dir-validity)
12365         (file-notify-test05-dir-validity-remote): Adapt docstring.
12366         (file-notify-test04-file-validity): Let events arrive before
12367         calling final `file-notify-valid-p'.  Do not ignore errors.
12368         (file-notify-test05-dir-validity): Do not manipulate
12369         `temporary-file-directory', it isn't necessary.  Let events arrive
12370         before calling final `file-notify-valid-p'.  Do not ignore errors.
12372 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
12374         Don’t double-encode non-ASCII for mail client
12375         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
12376         Use RFC 6068’s list of unreserved characters.
12377         (mailclient-send-it): When encoding the body as a URL,
12378         first decode it as per Content-Type: and Content-Transfer-Encoding:,
12379         as URLs must use percent-encoded UTF-8 (Bug#21471).
12380         * doc/misc/url.texi (mailto): Update RFC number.
12382 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
12384         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
12386 2015-09-14  Alan Mackenzie  <acm@muc.de>
12388         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs
12389         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
12390         `cadr/car'.
12392 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
12394         Clarify documentation of char-table extra slots
12395         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
12396         slot numbers are zero-based.  (Bug#21467)
12398 2015-09-14  Alan Mackenzie  <acm@muc.de>
12400         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
12401         Fixes bug#21449.
12402         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
12403         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
12404         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
12405         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
12406         Insert "\\|\\\\." into regexps which match symbols.
12408 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
12410         Improve the doc string of w32notify-valid-p
12411         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
12412         that removing a watch makes its object invalid.
12414 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
12416         Fix tests for file-notify-valid-p
12417         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
12418         Use delete-directory to delete file-notify--test-tmpfile if it is
12419         a directory.  Likewise for file-notify--test-tmpfile1.
12420         (file-notify-test04-file-validity)
12421         (file-notify-test05-dir-validity): Delete the parent directory of
12422         the test.  Ignore errors when cleaning up after the test.
12424 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
12426         Report file-notify-error in w32notify.c
12427         * src/w32notify.c (report_w32notify_error): New function.
12428         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
12429         errors, instead of calling report_file_error.  (Bug#21432)
12431         Implement w32notify-valid-p
12432         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
12433         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
12434         'identity'.
12436 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
12438         Test file-notify-valid-p
12439         * test/automated/file-notify-tests.el
12440         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
12441         New tests.
12443 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
12445         Fix markup in ELisp manual
12446         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
12447         of the 'alpha' parameter value.  (Bug#21470)
12449 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
12451         Introduce `file-notify-valid-p'
12452         * lisp/filenotify.el (file-notify-valid-p): New defun.
12453         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
12454         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
12455         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
12456         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
12457         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
12458         <file-notify-valid-p>: Add handler.
12459         * lisp/net/tramp.el (tramp-file-name-for-operation):
12460         Add `file-notify-valid-p'.
12461         (tramp-handle-file-notify-valid-p): New defun.
12462         * src/inotify.c (Finotify_valid_p): New defun.
12463         (syms_of_inotify): Declare Sinotify_valid_p.
12465 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12467         Port Unicode char detection to FreeBSD+svgalib
12468         Problem reported by Ashish SHUKLA in:
12469         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
12470         * configure.ac: Check for struct unipair.unicode instead of for
12471         <linux/kd.h>, since that’s more specific to what the code
12472         actually needs.
12473         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
12475         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
12477 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
12479         Fix vertical cursor motion across overlay strings with newlines
12480         * src/indent.c (Fvertical_motion): Don't leave point in the middle
12481         of an overlay string with newlines, as that will position the
12482         cursor after the string at whatever column is there.  (Bug#21468)
12484 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
12486         Fix tests in file-notify-tests.el
12487         * test/automated/file-notify-tests.el: Remove Tramp declarations.
12488         (file-notify-test00-availability): Print remote command w/o Tramp
12489         internal functions.
12490         (file-notify-test02-events, file-notify-test02-events-remote):
12491         Adapt docstring.
12492         (file-notify-test03-autorevert): Use `format-message' when
12493         inspecting *Messages* buffer.
12495 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
12497         Bind inhibit-modification-hooks rather than a/b-c-f
12498         * lisp/wid-edit.el (widget-editable-list-insert-before)
12499         (widget-editable-list-delete-at):
12500         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
12501         (cperl-font-lock-unfontify-region-function):
12502         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
12503         * lisp/obsolete/longlines.el (longlines-mode):
12504         * lisp/obsolete/fast-lock.el (save-buffer-state):
12505         * lisp/mouse.el (mouse-save-then-kill-delete-region):
12506         * lisp/gnus/message.el (message-hide-headers):
12507         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
12508         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
12509         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
12510         than after/before-change-functions to nil.
12512 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
12514         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
12515         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
12516         the buffers, even if the forced redisplay is interrupted.
12518         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
12520         Merge syntax-propertize--done and parse-sexp-propertize-done
12521         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
12522         (syntax-propertize): Set syntax-propertize--done even if
12523         syntax-propertize-function is nil.  Avoid recursive invocations.
12524         (syntax-propertize-chunks): New var.
12525         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
12526         Simplify.
12527         (parse-sexp-propertize-function): Don't set any more.
12528         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
12529         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
12530         Call Qinternal__syntax_propertize instead of
12531         Vparse_sexp_propertize_function.  Truncate e_property if needed.
12532         (update_syntax_table_forward): Streamline.
12533         (syms_of_syntax): Define Qinternal__syntax_propertize.
12534         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
12536 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12538         Prefer straight quoting in some text files
12539         Mostly this just changes ` to ' in static text.  Some exceptions:
12540         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
12541         typically does that now.
12542         * admin/quick-install-emacs (TRY, top level):
12543         Use straight quoting in diagnostics.
12544         * src/README: Fix working-directory confusion.
12546         * CONTRIBUTE: Move send-email here from git-workflow.
12548 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
12550         Improve file notifications in Tramp
12551         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
12552         Set proper events to watch for.
12553         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
12554         watched events.
12556 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
12558         Fix NS build with --enable-checking='glyphs'
12559         * src/nsfns.m (unwind_create_frame): Make the preprocessor
12560         conditionals for referencing 'dpyinfo' consistent throughout the
12561         function.  (Bug#21426)
12563 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
12565         Add seq-find
12566         This function is similar to `seq-some' but returns the found element.
12567         In the cases where nil can be the found element, a sentinel optional
12568         argument can be provided to avoid ambiguities.
12569         * lisp/emacs-lisp/seq.el (seq-find): New function.
12570         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
12571         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
12572         seq-find.
12574 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
12576         Document file-notify--test-with-events.
12577         * test/automated/file-notify-tests.el (file-notify--test-with-events):
12578         Add docstring.
12580 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
12582         Report used native library in file-notify-tests.el
12583         * test/automated/file-notify-tests.el
12584         (tramp-get-remote-gvfs-monitor-dir)
12585         (tramp-get-remote-inotifywait): Declare them.
12586         (file-notify-test00-availability): Print used native library.
12588 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
12590         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
12591         (mpc-file-local-copy): Check for absolute path.  Check more config
12592         locations.
12594 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
12596         Improve documentation of categories
12597         * doc/lispref/syntax.texi (Categories): Clarify the example of
12598         using define-category and modify-category-entry.  (Bug#21448)
12600 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12602         Revert some stray curved quotes I missed earlier
12603         Problem reported by David Kastrup in:
12604         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
12605         * lisp/international/mule-cmds.el (leim-list-header):
12606         Use format-message with an ASCII-only format.
12608         Prefer NUMBERP to spelling it out
12609         * src/editfns.c (styled_format):
12610         * src/frame.h (NUMVAL):
12611         * src/image.c (parse_image_spec):
12612         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
12613         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
12614         * src/process.c (Fsignal_process):
12615         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
12616         * src/xfaces.c (check_lface_attrs):
12617         * src/xselect.c (x_fill_property_data, x_send_client_event):
12618         Use NUMBERP rather than INTEGERP || FLOATP.
12620 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
12622         Improve file-notify-tests
12623         * test/automated/file-notify-tests.el: Use lexical-binding.
12624         (file-notify--test-cleanup): New function.
12625         (file-notify-test00-availability, file-notify-test01-add-watch)
12626         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
12627         (file-notify--test-with-events): New macro.
12628         (file-notify-test02-events): Use it.
12630 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
12632         Add patch-sending instructions to git-workflow
12633         From a suggestion by Mitchel Humpherys in:
12634         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
12635         * admin/notes/git-workflow (Sending patches): New section.
12637         Port to GIFLIB 5.0.6 and later
12638         Problem reported by Mitchel Humpherys in:
12639         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
12640         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
12641         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
12642         (gif_load) [HAVE_GIF]: Use it.
12644 2015-09-10  Glenn Morris  <rgm@gnu.org>
12646         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
12648 2015-09-09  Glenn Morris  <rgm@gnu.org>
12650         * test/automated/file-notify-tests.el (file-notify-test02-events):
12651         Fix recent change.
12653 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12655         Refix movemail GCC pacification
12656         Problem reported by Ken Brown in:
12657         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
12658         * lib-src/movemail.c (main): Fix previous change.
12660 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12662         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
12663         Mark unused vars with underscore.
12665         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
12666         (parse_sexp_propertize): ...from here.
12668         * lisp/filenotify.el: Use lexical-binding
12669         (file-notify-add-watch): Avoid add-to-list.
12671 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
12673         Start checking event types in file-notify tests
12674         * test/automated/file-notify-tests.el (file-notify--test-events):
12675         New variable.
12676         (file-notify--test-event-handler): Append received event to
12677         file-notify--test-events for later analysis.
12678         (file-notify-test02-events): Assert that the expected notifications have
12679         arrived in the expected order.
12681 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12683         Merge from gnulib and texinfo
12684         This incorporates:
12685         2015-08-03 Improve port of stdalign to C++11
12686         * lib/stdalign.in.h: Copy from gnulib.
12687         * doc/misc/texinfo.tex: Copy from texinfo.
12689 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12691         Make syntax.c call syntax-propertize on demand
12692         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
12693         (parse-sexp-propertize-function): Use it.
12694         (syntax-propertize): Disable parse-sexp-propertize-function.
12695         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
12696         New functions.
12697         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
12698         `parse-sexp-propertize-function'.
12699         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
12700         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
12701         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
12702         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
12703         Don't assume `point' is set.
12705 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
12707         Fix indentation of an @example in ELisp manual
12708         * doc/lispref/syntax.texi (Categories): Untabify the example.
12709         (Bug#21448)
12711 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12713         Define internal-char-font even if --without-x
12714         The function is used now even in non-graphical environments.
12715         Problem reported by Glenn Morris in:
12716         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
12717         * src/font.c (Finternal_char_font): Move here ...
12718         * src/fontset.c (Finternal_char_font): ... from here.
12720 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
12722         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers):
12723         Remove warning.
12725 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
12727         Fix display of complex local data types in GDB-MI
12728         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
12729         variable has no value, display "<complex data type>" as a
12730         placeholder, instead of a confusing "nil".  (Bug#21438)
12732 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
12734         Remove redundant redefinition of seq-drop-while from seq.el
12735         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
12737 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
12739         * lisp/emacs-lisp/package.el (package--ensure-init-file):
12740         More robust check for `package-initialize' calls in init file.
12741         This function accepts an optional argument, but calls passing
12742         an argument would not have been detected.
12744 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
12746         Port movemail to RHEL 6 with --enable-gcc-warnings
12747         * lib-src/movemail.c (main): Declare local only if needed.
12749         Port recent Linux console changes to RHEL 6
12750         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
12752         Improvements for curved quotes on Linux consule
12753         This should help Emacs work better out-of-the-box on Linux consoles,
12754         which have only limited support for displaying Unicode characters.
12755         Also, undo the recent change that caused text-quoting-style to
12756         affect quote display on terminals, so that the two features are
12757         independent.  See Alan Mackenzie in:
12758         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
12759         Finally, add a style parameter to startup--setup-quote-display,
12760         so that this function can also be invoked after startup, with
12761         different styles depending on user preference at the time.
12762         * configure.ac: Check for linux/kd.h header.
12763         * doc/emacs/display.texi (Text Display): Document quote display.
12764         * doc/lispref/display.texi (Active Display Table):
12765         * etc/NEWS:
12766         * lisp/startup.el (startup--setup-quote-display, command-line):
12767         text-quoting-style no longer affects quote display.
12768         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
12769         * lisp/international/mule-util.el (char-displayable-p):
12770         * lisp/startup.el (startup--setup-quote-display):
12771         On a text terminal supporting glyph codes, use the reported
12772         glyph codes instead of the terminal coding system, as this
12773         is more accurate on the Linux console.
12774         * lisp/startup.el (startup--setup-quote-display):
12775         New optional arg STYLE.
12776         * src/fontset.c (Finternal_char_font):
12777         Report glyph codes for a text terminal, if they are available.
12778         Currently this is supported only for the Linux console.
12779         * src/termhooks.h (struct terminal): New member glyph-code-table.
12780         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
12781         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
12782         (terminal_glyph_code): New function.
12784 2015-09-08  Juri Linkov  <juri@linkov.net>
12786         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
12787         underline.  (Bug#21433)
12789 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
12791         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
12793 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
12795         Fix double-reporting of rename events with inotify
12796         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
12797         of rename events with inotify (bug#21435).
12799 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
12801         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
12802         (tetris-mode-map): Use it.
12804 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
12806         Remove a few simple cases of global redisplay
12807         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
12808         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
12809         rather than returning a "resized_p" boolean.
12810         (redisplay_internal): Adjust call accordingly.
12811         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
12812         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
12813         tracking of this undesirable situation.
12815         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
12816         * src/process.c (status_notify): Only set the update_mode_line on the
12817         relevant buffers rather than setting it globally.
12819 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
12821         * lisp/electric.el (electric-quote-post-self-insert-function):
12822         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
12823         (electric-quote-mode): Activate everywhere in message-mode.
12825 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
12827         Go back to grave quoting in source-code docstrings etc.
12828         This reverts almost all my recent changes to use curved quotes
12829         in docstrings and/or strings used for error diagnostics.
12830         There are a few exceptions, e.g., Bahá’í proper names.
12831         * admin/unidata/unidata-gen.el (unidata-gen-table):
12832         * lisp/abbrev.el (expand-region-abbrevs):
12833         * lisp/align.el (align-region):
12834         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
12835         (outlineify-sticky):
12836         * lisp/apropos.el (apropos-library):
12837         * lisp/bookmark.el (bookmark-default-annotation-text):
12838         * lisp/button.el (button-category-symbol, button-put)
12839         (make-text-button):
12840         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
12841         * lisp/calc/calc-embed.el (calc-do-embedded):
12842         * lisp/calc/calc-ext.el (calc-user-function-list):
12843         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
12844         * lisp/calc/calc-help.el (calc-describe-key)
12845         (calc-describe-thing, calc-full-help):
12846         * lisp/calc/calc-lang.el (calc-c-language)
12847         (math-parse-fortran-vector-end, math-parse-tex-sum)
12848         (math-parse-eqn-matrix, math-parse-eqn-prime)
12849         (calc-yacas-language, calc-maxima-language, calc-giac-language)
12850         (math-read-giac-subscr, math-read-math-subscr)
12851         (math-read-big-rec, math-read-big-balance):
12852         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
12853         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
12854         (calc-auto-recompute):
12855         * lisp/calc/calc-prog.el (calc-fix-token-name)
12856         (calc-read-parse-table-part, calc-user-define-invocation)
12857         (math-do-arg-check):
12858         * lisp/calc/calc-store.el (calc-edit-variable):
12859         * lisp/calc/calc-units.el (math-build-units-table-buffer):
12860         * lisp/calc/calc-vec.el (math-read-brackets):
12861         * lisp/calc/calc-yank.el (calc-edit-mode):
12862         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
12863         * lisp/calendar/appt.el (appt-display-message):
12864         * lisp/calendar/diary-lib.el (diary-check-diary-file)
12865         (diary-mail-entries, diary-from-outlook):
12866         * lisp/calendar/icalendar.el (icalendar-export-region)
12867         (icalendar--convert-float-to-ical)
12868         (icalendar--convert-date-to-ical)
12869         (icalendar--convert-ical-to-diary)
12870         (icalendar--convert-recurring-to-diary)
12871         (icalendar--add-diary-entry):
12872         * lisp/calendar/time-date.el (format-seconds):
12873         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
12874         (timeclock-make-hours-explicit, timeclock-log-data):
12875         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
12876         (todo-item-mark, todo-check-format)
12877         (todo-insert-item--next-param, todo-edit-item--next-key)
12878         (todo-mode):
12879         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
12880         * lisp/cedet/mode-local.el (describe-mode-local-overload)
12881         (mode-local-print-binding, mode-local-describe-bindings-2):
12882         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
12883         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
12884         * lisp/cus-start.el (standard):
12885         * lisp/cus-theme.el (describe-theme-1):
12886         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
12887         (custom--sort-vars-1, load-theme):
12888         * lisp/descr-text.el (describe-text-properties-1, describe-char):
12889         * lisp/dired-x.el (dired-do-run-mail):
12890         * lisp/dired.el (dired-log):
12891         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
12892         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
12893         (ad-disable-advice, ad-remove-advice, ad-set-argument)
12894         (ad-set-arguments, ad--defalias-fset, ad-activate)
12895         (ad-deactivate):
12896         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
12897         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
12898         (byte-optimize-while, byte-optimize-apply):
12899         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
12900         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
12901         (byte-compile-log-file, byte-compile-format-warn)
12902         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
12903         (byte-compile-cl-warn)
12904         (byte-compile-warn-about-unresolved-functions)
12905         (byte-compile-file, byte-compile--declare-var)
12906         (byte-compile-file-form-defmumble, byte-compile-form)
12907         (byte-compile-normal-call, byte-compile-check-variable)
12908         (byte-compile-variable-ref, byte-compile-variable-set)
12909         (byte-compile-subr-wrong-args, byte-compile-setq-default)
12910         (byte-compile-negation-optimizer)
12911         (byte-compile-condition-case--old)
12912         (byte-compile-condition-case--new, byte-compile-save-excursion)
12913         (byte-compile-defvar, byte-compile-autoload)
12914         (byte-compile-lambda-form)
12915         (byte-compile-make-variable-buffer-local, display-call-tree)
12916         (batch-byte-compile):
12917         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
12918         * lisp/emacs-lisp/chart.el (chart-space-usage):
12919         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
12920         (check-declare-warn, check-declare-file)
12921         (check-declare-directory):
12922         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
12923         (checkdoc-message-text-engine):
12924         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
12925         (cl--describe-class):
12926         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
12927         (cl--generic-describe, cl-generic-generalizers):
12928         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
12929         (cl-symbol-macrolet):
12930         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
12931         * lisp/emacs-lisp/copyright.el (copyright)
12932         (copyright-update-directory):
12933         * lisp/emacs-lisp/edebug.el (edebug-read-list):
12934         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
12935         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
12936         (eieio-oref):
12937         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
12938         * lisp/emacs-lisp/eieio-speedbar.el:
12939         (eieio-speedbar-child-make-tag-lines)
12940         (eieio-speedbar-child-description):
12941         * lisp/emacs-lisp/eieio.el (defclass, change-class):
12942         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
12943         (elint-init-form, elint-check-defalias-form)
12944         (elint-check-let-form):
12945         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
12946         (ert-results-pop-to-backtrace-for-test-at-point)
12947         (ert-results-pop-to-messages-for-test-at-point)
12948         (ert-results-pop-to-should-forms-for-test-at-point)
12949         (ert-describe-test):
12950         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
12951         (find-function-library):
12952         * lisp/emacs-lisp/generator.el (iter-yield):
12953         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
12954         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
12955         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
12956         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
12957         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
12958         (advice--make, define-advice):
12959         * lisp/emacs-lisp/package-x.el (package-upload-file):
12960         * lisp/emacs-lisp/package.el (package-version-join)
12961         (package-disabled-p, package-activate-1, package-activate)
12962         (package--download-one-archive)
12963         (package--download-and-read-archives)
12964         (package-compute-transaction, package-install-from-archive)
12965         (package-install, package-install-selected-packages)
12966         (package-delete, package-autoremove, describe-package-1)
12967         (package-install-button-action, package-delete-button-action)
12968         (package-menu-hide-package, package-menu--list-to-prompt)
12969         (package-menu--perform-transaction)
12970         (package-menu--find-and-notify-upgrades):
12971         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
12972         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
12973         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
12974         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
12975         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
12976         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
12977         (rx-form):
12978         * lisp/emacs-lisp/smie.el (smie-config-save):
12979         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
12980         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
12981         * lisp/emacs-lisp/testcover.el (testcover-1value):
12982         * lisp/emacs-lisp/timer.el (timer-event-handler):
12983         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
12984         (viper-toggle-search-style, viper-kill-buffer)
12985         (viper-brac-function):
12986         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
12987         * lisp/env.el (setenv):
12988         * lisp/erc/erc-button.el (erc-nick-popup):
12989         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
12990         * lisp/eshell/em-dirs.el (eshell/cd):
12991         * lisp/eshell/em-glob.el (eshell-glob-regexp)
12992         (eshell-glob-entries):
12993         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
12994         * lisp/eshell/esh-opt.el (eshell-show-usage):
12995         * lisp/facemenu.el (facemenu-add-new-face)
12996         (facemenu-add-new-color):
12997         * lisp/faces.el (read-face-name, read-face-font, describe-face)
12998         (x-resolve-font-name):
12999         * lisp/files-x.el (modify-file-local-variable):
13000         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
13001         (set-auto-mode, hack-one-local-variable--obsolete)
13002         (dir-locals-set-directory-class, write-file, basic-save-buffer)
13003         (delete-directory, copy-directory, recover-session)
13004         (recover-session-finish, insert-directory)
13005         (file-modes-char-to-who, file-modes-symbolic-to-number)
13006         (move-file-to-trash):
13007         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
13008         * lisp/find-cmd.el (find-generic, find-to-string):
13009         * lisp/finder.el (finder-commentary):
13010         * lisp/font-lock.el (font-lock-fontify-buffer):
13011         * lisp/format.el (format-write-file, format-find-file)
13012         (format-insert-file):
13013         * lisp/frame.el (get-device-terminal, select-frame-by-name):
13014         * lisp/fringe.el (fringe--check-style):
13015         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
13016         * lisp/help-fns.el (help-fns--key-bindings)
13017         (help-fns--compiler-macro, help-fns--parent-mode)
13018         (help-fns--obsolete, help-fns--interactive-only)
13019         (describe-function-1, describe-variable):
13020         * lisp/help.el (describe-mode)
13021         (describe-minor-mode-from-indicator):
13022         * lisp/image.el (image-type):
13023         * lisp/international/ccl.el (ccl-dump):
13024         * lisp/international/fontset.el (x-must-resolve-font-name):
13025         * lisp/international/mule-cmds.el (prefer-coding-system)
13026         (select-safe-coding-system-interactively)
13027         (select-safe-coding-system, activate-input-method)
13028         (toggle-input-method, describe-current-input-method)
13029         (describe-language-environment):
13030         * lisp/international/mule-conf.el (code-offset):
13031         * lisp/international/mule-diag.el (describe-character-set)
13032         (list-input-methods-1):
13033         * lisp/mail/feedmail.el (feedmail-run-the-queue):
13034         * lisp/mouse.el (minor-mode-menu-from-indicator):
13035         * lisp/mpc.el (mpc-playlist-rename):
13036         * lisp/msb.el (msb--choose-menu):
13037         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
13038         * lisp/net/imap.el (imap-interactive-login):
13039         * lisp/net/mairix.el (mairix-widget-create-query):
13040         * lisp/net/newst-backend.el (newsticker--sentinel-work):
13041         * lisp/net/newst-treeview.el (newsticker--treeview-load):
13042         * lisp/net/rlogin.el (rlogin):
13043         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
13044         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
13045         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
13046         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
13047         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
13048         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
13049         (org-babel-goto-named-result):
13050         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
13051         * lisp/org/ob-ref.el (org-babel-ref-resolve):
13052         * lisp/org/org-agenda.el (org-agenda-prepare):
13053         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
13054         (org-clock-resolve):
13055         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
13056         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
13057         * lisp/org/org-habit.el (org-habit-parse-todo):
13058         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
13059         (org-mouse-context-menu):
13060         * lisp/org/org-table.el (org-table-edit-formulas):
13061         * lisp/org/ox.el (org-export-async-start):
13062         * lisp/proced.el (proced-log):
13063         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
13064         (ada-check-matching-start, ada-goto-matching-start):
13065         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
13066         * lisp/progmodes/ada-xref.el (ada-find-executable):
13067         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
13068         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
13069         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
13070         (flymake-start-syntax-check-process):
13071         * lisp/progmodes/python.el (python-shell-get-process-or-error)
13072         (python-define-auxiliary-skeleton):
13073         * lisp/progmodes/sql.el (sql-comint):
13074         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
13075         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
13076         * lisp/recentf.el (recentf-open-files):
13077         * lisp/replace.el (query-replace-read-from)
13078         (occur-after-change-function, occur-1):
13079         * lisp/scroll-bar.el (scroll-bar-columns):
13080         * lisp/server.el (server-get-auth-key):
13081         * lisp/simple.el (execute-extended-command)
13082         (undo-outer-limit-truncate, list-processes--refresh)
13083         (compose-mail, set-variable, choose-completion-string)
13084         (define-alternatives):
13085         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
13086         (command-line-1):
13087         * lisp/subr.el (noreturn, define-error, add-to-list)
13088         (read-char-choice, version-to-list):
13089         * lisp/term/common-win.el (x-handle-xrm-switch)
13090         (x-handle-name-switch, x-handle-args):
13091         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
13092         * lisp/textmodes/reftex-ref.el (reftex-label):
13093         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
13094         * lisp/textmodes/two-column.el (2C-split):
13095         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
13096         (tutorial--find-changed-keys):
13097         * lisp/type-break.el (type-break-noninteractive-query):
13098         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
13099         (wdired-do-perm-changes):
13100         * lisp/whitespace.el (whitespace-report-region):
13101         Prefer grave quoting in source-code strings used to generate help
13102         and diagnostics.
13103         * lisp/faces.el (face-documentation):
13104         No need to convert quotes, since the result is a docstring.
13105         * lisp/info.el (Info-virtual-index-find-node)
13106         (Info-virtual-index, info-apropos):
13107         Simplify by generating only curved quotes, since info files are
13108         typically that ways nowadays anyway.
13109         * lisp/international/mule-diag.el (list-input-methods):
13110         Don’t assume text quoting style is curved.
13111         * lisp/org/org-bibtex.el (org-bibtex-fields):
13112         Revert my recent changes, going back to the old quoting style.
13114 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
13116         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling.
13117         (package--autoloads-file-name)
13118         (package--activate-autoloads-and-load-path): New function.
13119         (package-activate-1): Delegate autoloading and load-path
13120         configuration to `package--activate-autoloads-and-load-path'.
13121         (package--compile): Before compilation, call
13122         `package--activate-autoloads-and-load-path' instead of
13123         `package-activate-1'.
13125 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
13127         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
13129 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
13131         Fix deletion of symlinks to directories on MS-Windows
13132         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
13133         symlink to a directory, try again with 'rmdir'.
13134         (is_symlink): If the argument is a symlink to a directory, set a
13135         bit in the return value to indicate that fact.
13137 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
13139         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
13140         When `package-initialize' is called as part of loading the init file,
13141         the user probably doesn't want it to be called again afterwards.
13142         In this situation, `package-initialize' now sets
13143         `package-enable-at-startup' to nil to prevent that.  The user can have
13144         the old behavior by setting this variable to t after the call to
13145         `package-initialize'.  (Bug#21423)
13146         * doc/emacs/package.texi (Package Installation): Document it.
13147         * doc/lispref/package.texi (Packaging Basics): Document it.
13148         * etc/NEWS: Document it.
13150 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13152         Bump version of ntlm.el to 2.00
13153         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.
13154         Add comm keyword.
13156 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
13158         * doc/misc/gnus.texi (Mail Source Specifiers):
13159         Allow :mailbox to be a list.
13161 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
13163         * lisp/progmodes/etags.el (etags-tags-completion-table):
13164         Allow even one non-regular character before the implicit tag name.
13165         Reported at http://emacs.stackexchange.com/questions/15269/.
13167 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13169         Add support for NTLMv2 authentication
13170         * lisp/net/ntlm.el (ntlm): New customization group.
13171         (ntlm-compatibility-level): New defcustom.
13172         (ntlm-compute-timestamp): New function.
13173         (ntlm-generate-nonce): Likewise.
13174         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
13176 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
13178         * lisp/emacs-lisp/package.el: Rename custom faces.
13179         All of the recently introduced faces, like `package-name-face', have
13180         been renamed to no end in `-face' to comply with the convention
13181         described in (info "(elisp) Defining Faces").
13182         (package-name, package-description)
13183         (package-status-built-in, package-status-external)
13184         (package-status-available, package-status-new)
13185         (package-status-held, package-status-disabled)
13186         (package-status-installed, package-status-dependency)
13187         (package-status-unsigned, package-status-incompat)
13188         (package-status-avail-obso): New faces.
13189         (package-menu--print-info-simple): Use them.
13191 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
13193         mail-source.el: Make the imap mail-source's :mailbox handle a list
13194         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
13195         Allow :mailbox to be  a list.
13197 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
13199         nnimap.el: Handle nil arg to nnimap-request-group
13200         * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
13201         This arg isn't always passed in, check it's not nil before making it
13202         into a list.  The active arg will also be nil if the group is new,
13203         check for that.
13205 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
13207         File notifications: Support renaming over directory boundaries
13208         * lisp/filenotify.el (file-notify-handle-event):
13209         (file-notify--pending-event): Adapt docstring.
13210         (file-notify--descriptor, file-notify-callback): Reimplement in
13211         order to support renaming over directory boundaries.
13212         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
13213         * doc/lispref/os.texi (File Notifications): Remove limitation of
13214         file renaming to the same directory.
13216 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13218         Spelling fix (Bug#21420)
13220 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
13222         Improve the semantic of map-some
13223         Update map-some to return the returned by the predicate, similar to
13224         seq-some.
13225         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
13226           return value of the predicate.
13227         * test/automated/map-tests.el (test-map-some): Update the test to check
13228           for non-nil values only.
13230         Rename map-contains-key-p and map-some-p
13231         Remove the "-p" suffix from both function names.
13232         * lisp/emacs-lisp/map.el (map-contains-key, map-some):
13233           Rename the functions.
13234         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
13235           Update both test functions.
13237         Improve the semantic of seq-some
13238         Update seq-some to return non-nil if the predicate returns non-nil for
13239         any element of the seq, in which case the returned value is the one
13240         returned by the predicate.
13241         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
13242           docstring.
13243         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
13244         * doc/lispref/sequences.texi (Sequence Functions): Update the
13245           documentation for seq-some.
13247         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
13248         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
13249           without the "-p" prefix.
13250         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
13251           the tests accordingly.
13252         * doc/lispref/sequences.texi (Sequence Functions): Update the
13253           documentation for seq.el.
13255 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
13257         text-quoting-style for usage of fn names with ‘’
13258         * lisp/help.el (help--docstring-quote): Don’t assume
13259         text-quoting-style is ‘curve’ when generating usage strings for
13260         functions whose names contain curved quotes.
13262 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13264         Fix fix for describe-function keybinding confusion
13265         This fixes a bug introduced by the previous patch.
13266         * lisp/help-fns.el (help-fns--signature):
13267         Last arg of help-fns--signature is now a buffer, or nil if a
13268         raw signature is wanted.  All callers changed.
13269         (describe-function-1): Use this to do the right thing with signatures.
13271 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
13273         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
13275         Use PAT rather than UPAT in pcase macros
13276         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
13277         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
13278           than UPAT.
13280 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13282         Fix describe-function keybinding confusion
13283         * lisp/help-fns.el (describe-function-1): Compute signature
13284         in the original buffer, not in standard-output, so that
13285         substitute-command-keys uses the proper keybindings.
13286         This fixes Bug#21412, introduced in commit
13287         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
13289 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
13291         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
13293 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
13295         Avoid read error messages from 'inotify'
13296         * src/process.c (wait_reading_process_output): Add a
13297         'tls_available' set and manipulate it instead of 'Available' when
13298         checking TLS inputs.  Assign the value to 'Available' only if we
13299         find any TLS data waiting to be read.  This avoids error messages
13300         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
13302 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
13304         Avoid errors in thing-at-point with 2nd argument non-nil
13305         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
13306         sequences.  (Bug#21391)
13308 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
13310         Fix segfaults due to using a stale face ID
13311         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
13312         (display_echo_area_1, redisplay_internal): Call it to avoid
13313         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
13314         faces, which could case a segfault if the frame's face cache was
13315         freed since the last redisplay.  (Bug#21394)
13316         * src/xfaces.c (free_realized_faces):
13317         Call forget_escape_and_glyphless_faces.
13318         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
13320 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
13322         Fix minor problems with " in manual
13324 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
13326         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
13327         multi-hop files.
13329 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
13331         Support automated ‘make check’ in non-C locale
13332         This lets the builder optionally test Emacs behavior in other locales.
13333         The C locale is still the default for tests.
13334         * test/automated/Makefile.in (TEST_LOCALE): New macro.
13335         (emacs): Use it.
13336         * test/automated/flymake-tests.el (flymake-tests--current-face):
13337         Use C locale for subprocesses so that tests behave as expected.
13338         * test/automated/python-tests.el:
13339         (python-shell-prompt-validate-regexps-1)
13340         (python-shell-prompt-validate-regexps-2)
13341         (python-shell-prompt-validate-regexps-3)
13342         (python-shell-prompt-validate-regexps-4)
13343         (python-shell-prompt-validate-regexps-5)
13344         (python-shell-prompt-validate-regexps-6)
13345         (python-shell-prompt-set-calculated-regexps-1):
13346         Adjust expected output to match locale.
13347         * test/automated/tildify-tests.el (tildify-test--test)
13348         (tildify-space-test--test, tildify-space-undo-test--test):
13349         This test assumes UTF-8 encoding.
13351 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
13353         Fix some more docstring etc. quoting problems
13354         Mostly these fixes prevent the transliteration of apostrophes
13355         that should stay apostrophes.  Also, prefer curved quotes in
13356         Bahá’í proper names, as that’s the preferred Bahá’í style and
13357         these names are chock-full of non-ASCII characters anyway.
13358         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
13359         (eieio-defclass-internal):
13360         * lisp/emacs-lisp/eieio.el (defclass):
13361         * lisp/hi-lock.el (hi-lock-mode):
13362         Don’t transliterate Lisp apostrophes when generating a
13363         doc string or diagnostic.
13364         * lisp/international/mule-diag.el (list-coding-systems-1):
13365         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
13366         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
13367         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
13368         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
13369         Substitute quotes before putting them in the help buffer.
13371 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
13373         Re-add the notion of echo_prompt lost in the translation
13374         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
13375         echo_prompt which contains the actual string.  Update all uses.
13376         * src/keyboard.c (kset_echo_prompt): New function.
13377         (echo_update): Add echo_prompt at the very beginning.
13378         (read_char): Remove workaround for bug#19875, not needed any more.
13379         (read_key_sequence): Set echo_prompt rather than echo_string
13380         (bug#21403).
13381         (mark_kboards): Mark echo_prompt.
13383         Fix disassembly of non-compiled lexical functions (bug#21377)
13384         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
13385         * lisp/emacs-lisp/disass.el: Use lexical-binding.
13386         (disassemble): Recognize `closure's as well.
13387         (disassemble-internal): Use indirect-function and
13388         help-function-arglist, and accept `closure's.
13389         (disassemble-internal): Use interactive-form.
13390         (disassemble-1): Use functionp.
13392         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
13393         Don't compose inside verbatim blocks!
13395 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
13397         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
13398         (bug#19441).
13400         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394).
13402 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
13404         vc-git-mode-line-string: Explicitly re-apply the face
13405         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
13406         the face (bug#21404).
13408 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13410         Treat initial-scratch-message as a doc string
13411         * doc/emacs/building.texi (Lisp Interaction):
13412         * doc/lispref/os.texi (Startup Summary):
13413         * etc/NEWS: Document this.
13414         * lisp/startup.el (initial-scratch-message):
13415         Look up find-file’s key rather than hardcoding it.
13416         (command-line-1): Substitute the doc string.
13417         This also substitutes the quotes, which will help test display
13418         quoting at startup.
13420         Fix describe-char bug with glyphs on terminals
13421         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
13422         buffers too, so don’t treat them differently from graphic displays.
13423         Without this fix, describe-char would throw an error on a terminal
13424         if given a glyph with a non-default face.
13426         Follow text-quoting-style in display table init
13427         This attempts to fix a problem reported by Alan Mackenzie in:
13428         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
13429         * doc/lispref/display.texi (Active Display Table):
13430         Mention how text-quoting-style affects it.
13431         * doc/lispref/help.texi (Keys in Documentation):
13432         Say how to set text-quoting-style in ~/.emacs.
13433         * etc/NEWS: Document the change.
13434         * lisp/startup.el (startup--setup-quote-display):
13435         Follow user preference if text-quoting-style is set.
13436         (command-line): Setup quote display again if user expresses
13437         a preference in .emacs.
13439 2015-09-02  K. Handa  <handa@gnu.org>
13441         Fix typo
13442         * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask
13443         -> OTF_positioning_type_components_mask.
13445         Fix previous change
13446         * src/ftfont.c (ftfont_drive_otf): Remember some bits of
13447         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
13449 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
13451         * lisp/vc/vc-hooks.el (vc-refresh-state): New command.
13452         Rename from vc-find-file-hook and make interactive.
13453         (vc-find-file-hook): Redefine as obsolete alias.
13455 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13457         Escape ` and ' in doc
13458         Escape apostrophes and grave accents in docstrings if they are
13459         are supposed to stand for themselves and are not quotes.  Remove
13460         apostrophes from docstring examples like ‘'(calendar-nth-named-day
13461         -1 0 10 year)’ that confuse source code with data.  Do some other
13462         minor docstring fixups as well, e.g., insert a missing close quote.
13464 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
13466         Generalize the prefix-command machinery of C-u
13467         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
13468         (prefix-command-preserve-state-hook): New hooks.
13469         (internal-echo-keystrokes-prefix): New function.
13470         (prefix-command--needs-update, prefix-command--last-echo): New vars.
13471         (prefix-command-update, prefix-command-preserve): New functions.
13472         (reset-this-command-lengths): New compatibility definition.
13473         (universal-argument--mode): Call prefix-command-update.
13474         (universal-argument, universal-argument-more, negative-argument)
13475         (digit-argument): Call prefix-command-preserve-state.
13476         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
13477         the "prefix argument" to echo.
13478         (this_command_key_count_reset, before_command_key_count)
13479         (before_command_echo_length): Delete variables.
13480         (echo_add_key): Always add a space.
13481         (echo_char): Remove.
13482         (echo_dash): Don't give up when this_command_key_count is 0, since that
13483         is now the case after a prefix command.
13484         (echo_update): New function, extracted from echo_now.
13485         (echo_now): Use it.
13486         (add_command_key, read_char, record_menu_key): Remove old disabled code.
13487         (command_loop_1): Don't refrain from pushing an undo boundary when
13488         prefix-arg is set.  Remove other prefix-arg special case, now handled
13489         directly in the prefix commands instead.  But call echo_now if there's
13490         a prefix state to echo.
13491         (read_char, record_menu_key): Use echo_update instead of echo_char.
13492         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
13493         (Freset_this_command_lengths): Delete function.
13494         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
13495         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
13496         * lisp/simple.el: Use those new hooks for C-u.
13497         (universal-argument--description): New function.
13498         (prefix-command-echo-keystrokes-functions): Use it.
13499         (universal-argument--preserve): New function.
13500         (prefix-command-preserve-state-hook): Use it.
13501         (command-execute): Call prefix-command-update if needed.
13502         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
13503         (kmacro-step-edit-prefix-index): Delete variables.
13504         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
13505         support for prefix arg commands.
13506         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
13507         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
13508         (cua--shift-control-prefix): Use prefix-command-preserve-state.
13509         Remove now unused arg `arg'.
13510         (cua--prefix-override-handler, cua--prefix-repeat-handler)
13511         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
13512         Update accordingly.
13513         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
13514         any more.
13515         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
13516         if the mark is not set.
13518 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13520         Rework quoting in Emacs Lisp Introduction
13521         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
13522         (if in more detail, type-of-animal in detail, else): Rework the
13523         early example to use " rather than ' so that we don’t burden
13524         complete novices with the low-priority detail of text quoting style.
13525         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
13526         (kill-new function, kill-ring-yank-pointer)
13527         (Complete forward-sentence, Loading Files)
13528         (Code for current-kill, Code for current-kill, yank):
13529         Resurrect the Emacs 22 versions of the code, which uses grave
13530         quoting style in doc strings.
13531         (Complete zap-to-char): Mention how quoting works in doc strings.
13533         Setup quote display only if interactive
13534         * lisp/startup.el (command-line):
13535         Skip call to startup--setup-quote-display if noninteractive.
13536         Without this change, python-shell-prompt-validate-regexps-1
13537         fails in test/automated/python-tests.el when run in an
13538         en_US.utf8 locale on Fedora.
13540 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
13542         Use defalias at the top level
13543         * lisp/gnus/gnus-util.el (gnus-format-message):
13544         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
13545         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
13547 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13549         terminal-init-w32console mimicks command-line
13550         Problem reported by Eli Zaretskii.
13551         * lisp/startup.el (startup--setup-quote-display):
13552         New function, refactored from a part of ‘command-line’.
13553         (command-line): Use it.
13554         * lisp/term/w32console.el (terminal-init-w32console):
13555         Use it, so that this function stays consistent with ‘command-line’.
13557         Display replacement quotes with shadow glyphs
13558         * lisp/startup.el (command-line): When displaying ASCII
13559         replacements for curved quotes, use a shadow glyph instead of a
13560         regular one, to avoid ambiguity.
13562 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
13564         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
13566 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13568         Docstring fixes re quotes in C code
13569         Fix some docstring quoting problems, mostly by escaping apostrophe.
13571 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
13573         Some Tramp password fixes
13574         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
13575         of the hops.
13576         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
13577         at the beginning of the command.  Otherwise, it could be
13578         interpreted as password prompt if the remote host echoes the
13579         command.
13580         (tramp-remote-coding-commands): Add "openssl enc -base64".
13582 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
13584         Make vc-git-working-revision always return the commit hash
13585         * lisp/vc/vc-git.el (vc-git-working-revision):
13586         Return the commit hash (bug#21383).
13587         (vc-git--symbolic-ref): New function, extracted from above.
13588         (vc-git-mode-line-string): Use it.
13590 2015-09-01  K. Handa  <handa@gnu.org>
13592         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs
13593         * src/ftfont.c (MFLTGlyphFT): New type.
13594         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
13595         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
13596         elements in the array MFLTGlyphString.glyphs.
13598 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
13600         Improve comments in elisp-mode.el, elisp-mode-tests.el
13601         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
13603         Delete Emacs 25 test in mode-local.el
13604         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13605         Fix missed an edit in previous commit.
13607         Show all known mode-local overrides in *Help*
13608         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13609         Assume Emacs 25. Add all known mode-local overrides.
13611 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
13613         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
13614         Ensure that the article where the search word is found is displayed
13615         and pointed to in the summary buffer.
13617 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
13619         * lisp/newcomment.el (comment-dwim): Use `use-region-p'.
13620         When the region is active, but is empty (length 0), act as though
13621         the region was not active; that is, put a comment at the end of
13622         the line.  (Bug#21119)
13624 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
13626         Port tls.el to older Emacs
13627         * lisp/net/tls.el (tls-format-message):
13628         Alias to format-message, or format if not available.
13629         (open-tls-stream): Use it.
13631 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
13633         hideif.el: Recognize .h++ as C++ header
13634         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
13636         isearch: Document character folding mode
13637         * lisp/isearch.el (isearch-forward):
13638         Mention `isearch-toggle-character-fold' in doc string.
13640 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13642         Quoting fixes in ERC and Eshell
13643         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
13644         * lisp/erc/erc-backend.el (define-erc-response-handler):
13645         * lisp/erc/erc-fill.el (erc-fill-static-center):
13646         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
13647         * lisp/eshell/em-glob.el (eshell-glob-entries):
13648         * lisp/eshell/em-hist.el (eshell-save-some-history):
13649         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
13650         (eshell-shuffle-files):
13651         * lisp/eshell/esh-cmd.el (eshell-do-eval):
13652         * lisp/eshell/esh-proc.el (eshell-process-interact)
13653         (eshell-query-kill-processes):
13654         Respect ‘text-quoting-style’ in diagnostics and doc strings.
13656         Quoting fixes in Gnus
13657         * lisp/gnus/gnus-agent.el:
13658         (gnus-agent-possibly-synchronize-flags-server):
13659         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
13660         * lisp/gnus/gnus-eform.el (gnus-edit-form):
13661         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
13662         (gnus-group-nnimap-edit-acl):
13663         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
13664         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
13665         * lisp/gnus/message.el (message-strip-subject-encoded-words)
13666         (message-check-recipients, message-send-form-letter):
13667         * lisp/gnus/mm-decode.el (mm-display-part):
13668         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
13669         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
13670         (mml-smime-get-ldap-cert):
13671         * lisp/gnus/spam-report.el (spam-report-process-queue):
13672         Respect ‘text-quoting-style’ in diagnostics.
13673         * lisp/gnus/gnus-art.el (article-display-face)
13674         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
13675         Use straight quoting in email.
13676         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
13677         Escape apostrophes in doc strings.
13679         Quoting fixes in lisp mail, mh-e, net, url
13680         * lisp/mail/emacsbug.el (report-emacs-bug)
13681         (report-emacs-bug-hook): Use straight quotes in outgoing email,
13682         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
13683         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
13684         * lisp/mail/rmailout.el (rmail-output-read-file-name):
13685         * lisp/net/imap.el (imap-interactive-login):
13686         * lisp/net/tls.el (open-tls-stream):
13687         * lisp/url/url-auth.el (url-register-auth-scheme):
13688         Respect ‘text-quoting-style’ in diagnostics.
13689         * lisp/mh-e/mh-e.el (mh-sortm-args):
13690         Quote docstring example using text quotes, not as a Lisp quote.
13692 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
13694         Fix some byte-compiler warnings in EDE
13695         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
13696         existing autoloader list, rather than add to it.
13697         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
13698         argument to eieio class constructor.
13699         (ede-show-supported-projects): New.
13700         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
13701         with (oref ... name).
13702         (ede-auto-load-project): Use slot name, not initarg key.
13703         * lisp/cedet/ede/generic.el (ede-generic-load)
13704         (ede-generic-find-matching-target): Use slot name, not initarg key.
13705         (ede-find-target): Use oref-default on class name.
13706         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
13707         class constructor.
13708         (ede-enable-generic-projects): Make project type names unique.
13710 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
13712         Fix directory accessibility tests for w32 network volumes
13713         * src/w32.c (faccessat): Don't fail with network volumes without a
13714         share.
13715         (w32_accessible_directory_p): Handle network volumes without a
13716         share.
13718         Fix handling long file names in readdir on MS-Windows
13719         * src/w32.c (sys_readdir): Append "\*" to the directory after
13720         converting it to UTF-16/ANSI, not before, to avoid overflowing the
13721         260-character limit on file names in filename_to_utf16/ansi.
13723         Make file-accessible-directory-p reliable on MS-Windows
13724         * src/w32.c (w32_accessible_directory_p): New function.
13725         * src/w32.h (w32_accessible_directory_p): Add prototype.
13726         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
13727         w32_accessible_directory_p to test a directory for accessibility
13728         by the current user.  (Bug#21346)
13729         (Ffile_accessible_directory_p): Remove the w32 specific caveat
13730         from the doc string.
13732 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
13734         Don't call do_pending_window_change in signal handlers (Bug#21380)
13735         * src/gtkutil.c (xg_frame_resized):
13736         * src/xterm.c (x_set_window_size):
13737         * src/w32term.c (x_set_window_size): Don't call
13738         do_pending_window_change.
13740 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13742         Quoting fixes in lisp/org
13743         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
13744         (org-tags-view):
13745         * lisp/org/org-capture.el (org-capture-mode)
13746         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
13747         (org-ctags-ask-append-topic):
13748         * lisp/org/org.el (org-time-string-to-time)
13749         (org-time-string-to-absolute):
13750         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
13751         (org-ctags-ask-append-topic):
13752         * lisp/org/org.el (org-time-string-to-time)
13753         (org-time-string-to-absolute):
13754         Respect ‘text-quoting-style’ in diagnostics.
13755         * lisp/org/org-agenda.el (org-agenda-custom-commands)
13756         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
13757         * lisp/org/org-capture.el (org-capture-fill-template):
13758         Avoid contraction in output file that might be ASCII.
13759         * lisp/org/org-compat.el (format-message):
13760         Define if not already defined, for backward compatibility.
13761         * lisp/org/org-src.el (org-edit-src-save):
13762         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
13763         Escape apostrophes in diagnostics.
13765         Treat “instead” strings as docstrings
13766         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
13767         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
13768         Substitute quotes in instead strings.
13770 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
13772         Better documentation of seq-let
13773         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
13774         documentation of seq-let.
13776 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13778         * lisp/international/ccl.el: Fix quoting.
13780         Quoting fixes in lisp/international and lisp/leim
13781         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
13782         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
13783         * lisp/international/mule-cmds.el:
13784         (select-safe-coding-system-interactively, leim-list-file-name):
13785         * lisp/international/quail.el (quail-use-package, quail-help):
13786         * lisp/international/titdic-cnv.el (tit-process-header)
13787         (miscdic-convert):
13788         Respect text quoting style in doc strings and diagnostics.
13789         * lisp/international/quail.el (lisp/international/quail.el):
13790         * lisp/leim/quail/ethiopic.el ("ethiopic"):
13791         Escape apostrophes in doc strings.
13793         Make ‘text-quoting-style’ a plain defvar
13794         It doesn’t need customization, as it’s likely useful only by experts.
13795         Suggested by Stefan Monnier in:
13796         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
13797         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
13799         Quoting fixes in lisp/textmodes
13800         * lisp/textmodes/bibtex.el (bibtex-validate)
13801         (bibtex-validate-globally, bibtex-search-entries):
13802         * lisp/textmodes/ispell.el (ispell-command-loop):
13803         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
13804         * lisp/textmodes/texinfmt.el (texinfmt-version)
13805         (texinfo-format-region, texinfo-format-buffer-1):
13806         * lisp/textmodes/two-column.el (2C-split):
13807         Respect text quoting style in doc strings and diagnostics.
13808         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
13809         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
13810         Escape apostrophes in doc strings.
13812         Documentation fixes re quotes
13813         Prefer curved quotes in examples if users will typically see
13814         curved quotes when the examples run.
13815         Mention format-message when appropriate.
13816         Don’t use @code in examples.
13817         Quote an apostrophe with @kbd.
13819         Quoting fixes in lisp/progmodes
13820         * lisp/progmodes/cc-engine.el (c-bos-report-error):
13821         * lisp/progmodes/cpp.el (cpp-edit-reset):
13822         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
13823         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
13824         (etags-tags-apropos, list-tags, tags-apropos):
13825         * lisp/progmodes/executable.el (executable-set-magic):
13826         * lisp/progmodes/octave.el (octave-sync-function-file-names)
13827         (octave-help, octave-find-definition-default-filename)
13828         (octave-find-definition):
13829         Respect text quoting style in doc strings and diagnostics.
13830         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
13831         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
13832         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
13833         Escape apostrophes in doc strings.
13834         * lisp/progmodes/cmacexp.el (c-macro-expansion):
13835         Use straight quoting in ASCII comment.
13836         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
13837         (idlwave-pad-keyword):
13838         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
13839         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
13840         (vhdl-electric-semicolon, vhdl-electric-comma)
13841         (vhdl-electric-period, vhdl-electric-equal):
13842         Use directed quotes in diagnostics and doc strings.
13844 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
13846         Minor documentation and NEWS tweak
13847         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let):
13848         Add an index entry.
13849         * etc/NEWS: Fix a typo in character-fold-to-regexp.
13851 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
13853         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
13854         Revert patch from 2015-08-24.  Tramp shall behave like for local files.
13855         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
13856         Adapt test.
13858 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13860         Text quoting fixes in cedet, emulation, emacs-lisp
13861         * lisp/cedet/ede.el (ede-check-project-directory):
13862         * lisp/cedet/semantic/analyze/debug.el
13863         (semantic-analyzer-debug-insert-include-summary):
13864         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
13865         * lisp/cedet/semantic/decorate/include.el
13866         (semantic-decoration-unknown-include-describe)
13867         (semantic-decoration-all-include-summary):
13868         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
13869         * lisp/emulation/edt.el (edt-load-keys):
13870         * lisp/emulation/viper-cmd.el
13871         (viper-display-current-destructive-command)
13872         (viper-query-replace, viper-brac-function):
13873         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
13874         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
13875         Respect text quoting style in doc string or diagnostic.
13876         * lisp/cedet/mode-local.el (describe-mode-local-overload):
13877         Use format-message to avoid overtranslating quotes.
13878         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
13879         Escape an apostrophe in a docstring.
13880         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
13882 2015-08-29  Daniel Colascione  <dancol@dancol.org>
13884         Fix which-func for curly quotes: look for symbol, not message
13885         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
13886         imenu-unavailable error symbol instead of trying to match message
13887         exactly.
13888         * lisp/imenu.el (imenu-unavailable): New error.
13889         (imenu-unavailable-error): New function.
13891 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
13893         Fix Python tests on MS-Windows
13894         * test/automated/python-tests.el
13895         (python-shell-calculate-command-1): Run python-shell-interpreter
13896         through shell-quote-argument before comparing with what
13897         python-shell-calculate-command returns.
13898         (python-shell-calculate-pythonpath-1)
13899         (python-shell-calculate-pythonpath-2)
13900         (python-shell-calculate-process-environment-2): Use path-separator
13901         instead of a literal ':'.
13902         (python-shell-calculate-exec-path-2)
13903         (python-shell-calculate-exec-path-3)
13904         (python-shell-calculate-exec-path-4)
13905         (python-shell-with-environment-1)
13906         (python-shell-with-environment-2): Run "/env/bin" through
13907         expand-file-name before comparing with exec-path.  (Bug#21375)
13909 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
13911         Use Core Text types/functions/variables/enumerators directly
13912         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
13913         (CharacterCollection): Remove typedefs.  All uses replaced with
13914         definitions.
13915         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
13916         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
13917         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
13918         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
13919         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
13920         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
13921         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
13922         definitions.
13923         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
13924         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
13925         (MAC_FONT_FORMAT_BITMAP)
13926         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
13927         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.
13928         All uses replaced with definitions.
13929         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
13930         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
13931         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault):
13932         Add compatibility enumerators for older versions.
13933         (mac_font_descriptor_create_with_attributes)
13934         (mac_font_descriptor_create_matching_font_descriptors)
13935         (mac_font_descriptor_create_matching_font_descriptor)
13936         (mac_font_descriptor_copy_attribute)
13937         (mac_font_descriptor_supports_languages)
13938         (mac_font_create_with_name, mac_font_get_size)
13939         (mac_font_copy_family_name, mac_font_copy_character_set)
13940         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
13941         (mac_font_get_descent, mac_font_get_leading)
13942         (mac_font_get_underline_position)
13943         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
13944         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
13945         replaced with definitions.
13946         (mac_font_create_preferred_family_for_attributes)
13947         (mac_font_get_advance_width_for_glyph)
13948         (mac_font_get_bounding_rect_for_glyph)
13949         (mac_font_create_available_families, mac_font_shape):
13950         Remove macros for renamed functions.
13951         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
13952         * src/macterm.m (mac_font_descriptor_supports_languages):
13953         Rename from mac_ctfont_descriptor_supports_languages.
13954         (mac_font_create_preferred_family_for_attributes): Rename from
13955         mac_ctfont_create_preferred_family_for_attributes.
13956         (mac_font_get_advance_width_for_glyph): Rename from
13957         mac_ctfont_get_advance_width_for_glyph.
13958         Use kCTFontOrientationDefault also for older versions.
13959         (mac_font_get_bounding_rect_for_glyph): Rename from
13960         mac_ctfont_get_bounding_rect_for_glyph.
13961         Use kCTFontOrientationDefault also for older versions.
13962         (mac_font_create_available_families): Rename from
13963         mac_ctfont_create_available_families.
13964         (mac_font_equal_in_postscript_name): Rename from
13965         mac_ctfont_equal_in_postscript_name.  All uses changed.
13966         (mac_font_create_line_with_string_and_font): Rename from
13967         mac_ctfont_create_line_with_string_and_font.  All uses changed.
13968         (mac_font_shape): Rename from mac_ctfont_shape.
13969         (mac_font_family_compare): Remove unused declaration.
13971 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13973         Fix minor text quoting in calc, calendar, vc
13974         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
13975         * lisp/calc/calc-help.el (calc-j-prefix-help):
13976         * lisp/calc/calc-misc.el (calc-help):
13977         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
13978         Escape an apostrophe in a docstring.
13979         * lisp/calc/calc-forms.el (calc-hms-notation):
13980         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
13981         Escape an apostrophe in a diagnostic.
13982         * lisp/calc/calc-misc.el (calc-help):
13983         * lisp/calendar/diary-lib.el (diary-include-files):
13984         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
13985         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
13986         * lisp/vc/ediff-diff.el (ediff-same-contents):
13987         * lisp/vc/ediff-merg.el (ediff-re-merge):
13988         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
13989         * lisp/vc/ediff-util.el (ediff-test-save-region)
13990         (ediff-status-info):
13991         * lisp/vc/ediff.el (ediff-merge-revisions)
13992         (ediff-merge-revisions-with-ancestor):
13993         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
13994         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
13995         Respect text quoting style in doc string or diagnostic.
13996         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
13997         * lisp/vc/add-log.el (change-log-goto-source):
13998         Avoid double-formatting.
13999         * lisp/vc/ediff-init.el (format-message):
14000         New backward-compatibility alias.
14002 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
14004         Fix minor text quoting problems in lisp top level
14005         * lisp/apropos.el (apropos-describe-plist):
14006         * lisp/cus-theme.el (customize-themes):
14007         * lisp/dired.el (dired-log):
14008         * lisp/help-fns.el (describe-variable):
14009         * lisp/hexl.el (hexl-insert-multibyte-char):
14010         * lisp/info.el (Info-finder-find-node):
14011         * lisp/json.el (json-read-string):
14012         * lisp/novice.el (disabled-command-function)
14013         (disabled-command-function):
14014         * lisp/startup.el (normal-mouse-startup-screen):
14015         * lisp/woman.el (WoMan-log, WoMan-warn):
14016         Respect text quoting style in doc string or diagnostic.
14017         * lisp/replace.el (replace-character-fold):
14018         * src/syntax.c (Fmodify_syntax_entry):
14019         Escape an apostrophe in a docstring.
14020         * lisp/tempo.el (tempo-define-template):
14021         Remove confusing apostrophe from docstring.
14022         * lisp/whitespace.el (whitespace-mark-x):
14023         Use directed quotes in docstring.
14025 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
14027         Fix indentation rule in css-mode
14028         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
14029         brackets in presence of pseudo-selectors.  (Bug#21328)
14031 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
14033         Fix a bug in recording a macro while flyspell-mode is active
14034         * lisp/subr.el (sit-for): Don't call read-event when recording a
14035         macro.  (Bug#21329)
14037 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
14039         Tweak startup screen quoting
14040         * lisp/startup.el (normal-splash-screen): Use standard
14041         "M-" abbrevation rather than a confusingly-different one.
14042         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
14044 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
14046         Add test case for ‘format’ bug and refactor
14047         * src/editfns.c (styled_format): Refactor internally, mostly by
14048         moving declarations closer to uses.  This should not affect behavior.
14049         * test/automated/textprop-tests.el (textprop-tests-format): New test.
14051         Fix ‘format’ bug with property offsets
14052         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
14053         bug in calculating string property offsets (Bug#21351).
14055         Use straight quotes in lib-src diagnostics
14056         These auxiliary programs can’t use Emacs’s text-quoting-style,
14057         and it’s too much trouble to redo that mechanism by hand.
14058         So just use straight quotes for now.
14059         * lib-src/ebrowse.c (main):
14060         * lib-src/emacsclient.c (decode_options, main):
14061         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
14062         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
14063         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
14064         (none_help, print_language_names, print_help, add_regex)
14065         (suggest_asking_for_help):
14066         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
14067         Use straight quotes in diagnostics.
14069         ‘text-quoting-style’ fixes for admin
14070         * admin/admin.el (cusver-scan, cusver-check):
14071         * admin/authors.el (authors-canonical-file-name):
14072         * admin/bzrmerge.el (bzrmerge-missing):
14073         Respect ‘text-quoting-style’ in diagnostics.
14075 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
14077         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
14078         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
14079         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
14080         * doc/lispref/internals.texi (Writing Emacs Primitives):
14081         * etc/NEWS:
14082         Document the change.
14083         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
14084         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
14085         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
14086         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
14087         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
14088         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
14089         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14090         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14091         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
14092         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
14093         Remove.  All uses removed.  The code now assumes
14094         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
14095         * src/bytecode.c (relocate_byte_stack):
14096         Rename from unmark_byte_stack, since it now only relocates.
14097         All callers changed.
14098         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
14099         with GCPROs removed.
14100         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
14101         * test/automated/finalizer-tests.el (finalizer-basic)
14102         (finalizer-circular-reference, finalizer-cross-reference)
14103         (finalizer-error):
14104         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
14105         Remove tests, as they depend on gc-precise.
14107 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
14109         Improve seq-concatenate for new sequence types
14110         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
14111         ensure that concatenation happens on sequences only.  This makes it
14112         possible to use `seq-concatenate' for new types of seqs.
14113         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate):
14114         New function used in `seq-concatenate'.
14115         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
14116         for seq-into-sequence.
14118 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
14120         Add mode local overrides to xref-find-definitions
14121         * lisp/cedet/mode-local.el (xref-mode-local--override-present)
14122         (xref-mode-local-overload): New; add mode local overrides to
14123         xref-find-definitions.
14124         * test/automated/elisp-mode-tests.el: Add mode local override tests.
14125         (xref-elisp-test-run): Handle indented defuns.
14126         (xref-elisp-generic-*): Improve doc strings.
14127         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
14128         (elisp--xref-find-definitions): Use it.
14130         Add mode local overrides to describe-function
14131         * lisp/cedet/mode-local.el (describe-mode-local-overload):
14132         New; add mode local overrides to describe-function.
14133         * etc/NEWS: Document change.
14135 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
14137         Prefer straight quoting in some etc text files
14138         These files are plain text and might be used by non-Emacs apps.
14139         They’re mostly ASCII, so just use straight quotes.
14141         Fix quoting in ‘message_with_string’
14142         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
14143         should work now.
14144         * src/xdisp.c (message_to_stderr): New function, refactored from
14145         part of ‘message3_nolog’.
14146         (message3_nolog): Use it.
14147         (message_with_string): Use it.  Don’t mishandle NUL bytes when
14148         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
14149         Use ‘format-message’, not ‘format’, so that quotes are translated.
14151 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
14153         Mention false positives of file-accessible-directory on w32
14154         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
14155         (Bug#21346)
14157 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
14159         Treat error strings as help
14160         * src/print.c (print_error_message): Translate quotes and command
14161         keys in errmsg so that users see, e.g., "Symbol’s value as
14162         variable is void: foo" when text-quoting-style is curved.
14164 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
14166         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
14168 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
14170         Top-level elisp files respect ‘text-quoting-style’
14171         In top-level elisp files, use format-message in diagnostic formats,
14172         so that they follow user preference as per ‘text-quoting-style’
14173         rather than being hard-coded to quote `like this'.
14174         * lisp/allout.el (allout-get-configvar-values):
14175         * lisp/apropos.el (apropos-symbols-internal):
14176         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
14177         (dired-do-create-files-regexp, dired-create-files-non-directory):
14178         * lisp/dired-x.el (dired-do-run-mail):
14179         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
14180         * lisp/disp-table.el (standard-display-european):
14181         * lisp/find-dired.el (find-dired):
14182         * lisp/forms.el (forms-mode):
14183         * lisp/ido.el (ido-buffer-internal):
14184         * lisp/info.el (Info-index-next):
14185         * lisp/outline.el (outline-invent-heading):
14186         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
14187         * lisp/proced.el (proced-log):
14188         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
14189         * lisp/recentf.el (recentf-open-files, recentf-save-list):
14190         * lisp/savehist.el (savehist-save):
14191         * lisp/server.el (server-ensure-safe-dir):
14192         * lisp/ses.el (ses-rename-cell):
14193         * lisp/simple.el (list-processes--refresh):
14194         * lisp/startup.el (command-line):
14195         * lisp/strokes.el (strokes-unset-last-stroke)
14196         (strokes-execute-stroke):
14197         Use format-message so that quotes are restyled.
14198         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
14199         Don’t quote ‘raised’.
14200         * lisp/descr-text.el (describe-char):
14201         * lisp/dirtrack.el (dirtrack-debug-message):
14202         * lisp/hexl.el (hexl-insert-multibyte-char):
14203         Apply substitute-command-keys to help string.
14204         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
14205         (wdired-do-perm-changes):
14206         Let dired-log do the formatting.
14208 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
14210         Go back to grave quoting in Tramp
14211         * lisp/net/tramp-adb.el:
14212         * lisp/net/tramp-cache.el:
14213         * lisp/net/tramp-compat.el:
14214         * lisp/net/tramp-gvfs.el:
14215         * lisp/net/tramp-gw.el:
14216         * lisp/net/tramp-sh.el:
14217         * lisp/net/tramp-smb.el:
14218         * lisp/net/tramp.el:
14219         Stick with grave quoting in diagnostics strings.  This is more
14220         portable to older Emacs, desirable for Tramp.
14221         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
14222         for diagnostic that needs requoting.
14223         * lisp/net/tramp-compat.el (format-message):
14224         Fall back on simple ‘format’, since that’s good enough now.
14226         Go back to grave quoting in Gnus
14227         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
14228         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
14229         (gnus-agent-fetch-headers):
14230         * lisp/gnus/gnus-int.el (gnus-start-news-server):
14231         * lisp/gnus/gnus-registry.el:
14232         (gnus-registry--split-fancy-with-parent-internal)
14233         (gnus-registry-post-process-groups):
14234         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
14235         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
14236         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
14237         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
14238         * lisp/gnus/spam.el (spam-check-blackholes):
14239         Stick with grave quoting in diagnostics strings.  This is more
14240         portable to older Emacs, desirable for Gnus.
14242         Fix customization of text-quoting-style
14243         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
14244         * lisp/wid-edit.el (widget-docstring):
14245         Get raw docstring here since it’s cooked later and should not be
14246         cooked twice.
14247         * lisp/cus-edit.el (custom-group-value-create):
14248         Cook the docstring before inserting it.
14249         * lisp/cus-start.el (text-quoting-style): Quote the customization
14250         docstrings according to the new rules.  Give curved examples.
14252         format-message now curves ` and '
14253         That way, the caller doesn’t have to use curved quotes to
14254         get diagnostics that match the text-quoting-style preferences.
14255         Suggested by Dmitry Gutov in:
14256         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
14257         This means we no longer need %qs, so remove that format.
14258         While we’re at it, fix an unlikely bug and lessen the pressure
14259         on the garbage collector by processing the string once rather
14260         than twice in the usual case.
14261         * doc/lispref/strings.texi (Formatting Strings):
14262         * etc/NEWS: Document this.
14263         * lisp/subr.el (format-message): Remove; now done in C.
14264         * src/callint.c (Fcall_interactively):
14265         * src/editfns.c (Fmessage, Fmessage_box):
14266         Use Fformat_message instead of Finternal__text_restyle
14267         followed by Fformat.
14268         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
14269         uLSQM and uRSQM.
14270         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
14271         when pure ASCII now suffices.  Fix unlikely bug when parsing
14272         unibyte string containing non-ASCII bytes.  Use inline code
14273         rather than memcpy, as it’s a tiny number of bytes.
14274         (Finternal__text_restyle): Remove; no longer used.
14275         (syms_of_doc): Don’t declare it.
14276         * src/editfns.c (Fformat): Rewrite in terms of new function
14277         ‘styled_format’.
14278         (Fformat_message): New function, moved here from subr.el.
14279         (styled_format): New function, with the old guts of Fformat,
14280         except it now optionally transliterates quotes, and it transliterates
14281         traditional grave accent and apostrophe quoting as well.
14282         Remove recently-added q flag; no longer needed or used.
14283         (syms_of_editfns): Define format-message.
14284         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
14285         Remove; no longer need to be global symbols.
14286         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
14287         so that callers can use `%s'.
14288         * src/image.c (image_size_error, xbm_load_image, xbm_load)
14289         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
14290         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
14291         (svg_load_image, gs_load, x_kill_gs_process):
14292         * src/lread.c (load_warn_old_style_backquotes):
14293         * src/xfaces.c (load_pixmap):
14294         * src/xselect.c (x_clipboard_manager_error_1):
14295         Use `%s' instead of %qs in formats.
14297 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
14299         Minor fixes in doc/emacs/search.texi
14300         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
14301         (Special Isearch): Use @w{} to generate several consecutive spaces
14302         with Texinfo 6.  (Bug#21345)
14304 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
14306         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
14307         (tramp-awk-coding-test): New defconsts.
14308         (tramp-remote-coding-commands): Use them.
14309         (tramp-find-inline-encoding): Check for Perl only if necessary.
14311 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
14313         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
14314         index entries for the special form `quote'.
14316 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
14318         Spelling fixes
14320         Gnus format-message typo fix
14321         * lisp/gnus/gnus-util.el (gnus-format-message):
14322         Fix typo when running in older Emacs.
14324         Prefer directed to neutral quotes in docstings and diagnostics.
14325         In docstrings, escape apostrophes that would otherwise be translated
14326         to curved quotes using the newer, simpler rules.
14327         * admin/unidata/unidata-gen.el (unidata-gen-table):
14328         * lisp/align.el (align-region):
14329         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
14330         * lisp/bookmark.el (bookmark-default-annotation-text):
14331         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
14332         * lisp/calc/calc-lang.el (math-read-giac-subscr)
14333         (math-read-math-subscr):
14334         * lisp/calc/calc-misc.el (report-calc-bug):
14335         * lisp/calc/calc-prog.el (calc-fix-token-name)
14336         (calc-read-parse-table-part):
14337         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
14338         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
14339         * lisp/dabbrev.el (dabbrev-expand):
14340         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
14341         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
14342         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
14343         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
14344         * lisp/erc/erc-button.el (erc-nick-popup):
14345         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
14346         * lisp/eshell/em-dirs.el (eshell/cd):
14347         * lisp/eshell/em-glob.el (eshell-glob-regexp):
14348         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
14349         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
14350         * lisp/eshell/esh-opt.el (eshell-show-usage):
14351         * lisp/files-x.el (modify-file-local-variable):
14352         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
14353         (filesets-update-pre010505):
14354         * lisp/find-cmd.el (find-generic, find-to-string):
14355         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
14356         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
14357         (gnus-agent-fetch-headers):
14358         * lisp/gnus/gnus-int.el (gnus-start-news-server):
14359         * lisp/gnus/gnus-registry.el:
14360         (gnus-registry--split-fancy-with-parent-internal):
14361         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
14362         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
14363         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
14364         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
14365         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
14366         * lisp/gnus/spam.el (spam-check-blackholes):
14367         * lisp/mail/feedmail.el (feedmail-run-the-queue):
14368         * lisp/mpc.el (mpc-playlist-rename):
14369         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
14370         * lisp/net/mairix.el (mairix-widget-create-query):
14371         * lisp/net/tramp-cache.el:
14372         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
14373         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
14374         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
14375         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
14376         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
14377         (org-babel-goto-named-result):
14378         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
14379         * lisp/org/ob-ref.el (org-babel-ref-resolve):
14380         * lisp/org/org-agenda.el (org-agenda-prepare):
14381         * lisp/org/org-bibtex.el (org-bibtex-fields):
14382         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
14383         (org-clock-resolve):
14384         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
14385         * lisp/org/org-habit.el (org-habit-parse-todo):
14386         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
14387         (org-mouse-context-menu):
14388         * lisp/org/org-table.el (org-table-edit-formulas):
14389         * lisp/org/ox.el (org-export-async-start):
14390         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
14391         (dun-rooms, dun-endgame-questions):
14392         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
14393         * lisp/progmodes/ada-xref.el (ada-find-executable):
14394         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
14395         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
14396         (flymake-start-syntax-check-process):
14397         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
14398         * lisp/progmodes/sql.el (sql-comint):
14399         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
14400         * lisp/server.el (server-get-auth-key):
14401         * lisp/subr.el (version-to-list):
14402         * lisp/textmodes/reftex-ref.el (reftex-label):
14403         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
14404         * lisp/vc/ediff-diff.el (ediff-same-contents):
14405         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
14406         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
14407         Use directed rather than neutral quotes in diagnostics.
14409         Treat ' like ’ even when not matching `
14410         This is simpler and easier to explain, and should encourage better
14411         typography.  Do this in Electric Quote mode and when translating
14412         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
14413         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
14414         * doc/emacs/text.texi (Quotation Marks):
14415         * doc/lispref/help.texi (Keys in Documentation):
14416         * etc/NEWS:
14417         Document this.
14418         * lisp/electric.el (electric-quote-post-self-insert-function):
14419         * src/doc.c (Fsubstitute_command_keys):
14420         Always treat ' like ’ even when not matched by an open quote.
14422 2015-08-25  Glenn Morris  <rgm@gnu.org>
14424         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
14425         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
14427 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14429         * src/macfont.m (macfont_create_family_with_symbol):
14430         Accept localized names.
14432 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
14434         Tramp diagnostics as per ‘text-quoting-style’
14435         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
14436         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
14437         (tramp-adb-handle-delete-directory)
14438         (tramp-adb-handle-delete-file)
14439         (tramp-adb-handle-file-local-copy)
14440         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
14441         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
14442         (tramp-adb-maybe-open-connection):
14443         * lisp/net/tramp-cache.el:
14444         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
14445         (tramp-compat-octal-to-decimal)
14446         (tramp-compat-coding-system-change-eol-conversion):
14447         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
14448         (tramp-gvfs-do-copy-or-rename-file)
14449         (tramp-gvfs-handle-delete-directory)
14450         (tramp-gvfs-handle-delete-file)
14451         (tramp-gvfs-handle-expand-file-name)
14452         (tramp-gvfs-handle-file-local-copy)
14453         (tramp-gvfs-handle-file-notify-add-watch)
14454         (tramp-gvfs-handle-make-directory)
14455         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
14456         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
14457         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
14458         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
14459         (tramp-sh-handle-set-visited-file-modtime)
14460         (tramp-sh-handle-set-file-modes)
14461         (tramp-sh-handle-file-name-all-completions)
14462         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
14463         (tramp-do-copy-or-rename-file-directly)
14464         (tramp-do-copy-or-rename-file-out-of-band)
14465         (tramp-sh-handle-make-directory)
14466         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
14467         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
14468         (tramp-sh-handle-start-file-process)
14469         (tramp-sh-handle-file-local-copy)
14470         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
14471         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
14472         (tramp-find-file-exists-command, tramp-open-shell)
14473         (tramp-find-shell)
14474         (tramp-open-connection-setup-interactive-shell)
14475         (tramp-find-inline-encoding, tramp-find-inline-compress)
14476         (tramp-compute-multi-hops, tramp-maybe-open-connection)
14477         (tramp-wait-for-output, tramp-send-command-and-check)
14478         (tramp-send-command-and-read, tramp-get-remote-path)
14479         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
14480         (tramp-get-ls-command-with-quoting-style)
14481         (tramp-get-test-command, tramp-get-remote-ln)
14482         (tramp-get-remote-perl, tramp-get-remote-stat)
14483         (tramp-get-remote-readlink, tramp-get-remote-trash)
14484         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
14485         (tramp-get-remote-inotifywait, tramp-get-remote-id)
14486         (tramp-get-remote-python):
14487         * lisp/net/tramp-smb.el (tramp-smb-errors)
14488         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
14489         (tramp-smb-handle-delete-directory)
14490         (tramp-smb-handle-delete-file)
14491         (tramp-smb-handle-file-local-copy)
14492         (tramp-smb-handle-make-directory)
14493         (tramp-smb-handle-make-directory-internal)
14494         (tramp-smb-handle-make-symbolic-link)
14495         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
14496         (tramp-smb-handle-set-file-modes)
14497         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
14498         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
14499         (tramp-process-actions):
14500         Generate diagnostics according to ‘text-quoting-style’, by
14501         using curved quotes in format strings and ‘format-message’
14502         when appropriate.
14503         * lisp/net/tramp-compat.el (format-message):
14504         Define a replacement, if it’s an older version of Emacs
14505         that doesn’t have it already.
14507         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
14509 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
14511         Fix documentation for `save-excursion'
14512         * doc/lispref/positions.texi (Excursions):
14513         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
14514         (Template for save-excursion, Point and mark): `save-excursion'
14515         does not save&restore the mark any more.
14517 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
14519         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
14520         New defconsts.
14521         (tramp-do-file-attributes-with-stat)
14522         (tramp-do-directory-files-and-attributes-with-stat): Use them.
14523         (tramp-convert-file-attributes): Remove double slashes in symlinks.
14524         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
14525         Handle symlinks with "//" in the file name.
14527         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
14529 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
14531         Fix cl-subseq and cl-concatenate
14532         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
14533         seq functions.
14534         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
14535         seq-concatenate.
14537 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
14539         Fix full-screen code when there is no window manager (Bug#21317)
14540         * src/xterm.h (x_wm_supports): Declare external.
14541         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
14542         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
14543         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
14544         `fullscreen' frame parameter.
14545         * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running
14546         without a window manager.
14548 2015-08-24  Glenn Morris  <rgm@gnu.org>
14550         * lisp/version.el (emacs-version): No longer include build host.
14551         * doc/lispref/intro.texi (Version Info): Update example.
14553 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
14555         * doc/lispref/elisp.texi: Fix typo in previous change.
14557         More-conservative ‘format’ quote restyling
14558         Instead of restyling curved quotes for every call to ‘format’,
14559         create a new function ‘format-message’ that does the restyling,
14560         and using the new function instead of ‘format’ only in contexts
14561         where this seems appropriate.
14562         Problem reported by Dmitry Gutov and Andreas Schwab in:
14563         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
14564         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
14565         * doc/lispref/commands.texi (Using Interactive):
14566         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
14567         * doc/lispref/display.texi (Displaying Messages, Progress):
14568         * doc/lispref/elisp.texi:
14569         * doc/lispref/help.texi (Keys in Documentation):
14570         * doc/lispref/minibuf.texi (Minibuffer Misc):
14571         * doc/lispref/strings.texi (Formatting Strings):
14572         * etc/NEWS:
14573         Document the changes.
14574         * lisp/abbrev.el (expand-region-abbrevs):
14575         * lisp/apropos.el (apropos-library):
14576         * lisp/calc/calc-ext.el (calc-record-message)
14577         (calc-user-function-list):
14578         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
14579         * lisp/calc/calc-lang.el (math-read-big-balance):
14580         * lisp/calc/calc-store.el (calc-edit-variable):
14581         * lisp/calc/calc-units.el (math-build-units-table-buffer):
14582         * lisp/calc/calc-yank.el (calc-edit-mode):
14583         * lisp/calendar/icalendar.el (icalendar-export-region)
14584         (icalendar--add-diary-entry):
14585         * lisp/cedet/mode-local.el (mode-local-print-binding)
14586         (mode-local-describe-bindings-2):
14587         * lisp/cedet/semantic/complete.el (semantic-completion-message):
14588         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
14589         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
14590         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
14591         * lisp/descr-text.el (describe-text-properties-1, describe-char):
14592         * lisp/dframe.el (dframe-message):
14593         * lisp/dired-aux.el (dired-query):
14594         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
14595         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
14596         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
14597         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
14598         (cconv-analyze-form):
14599         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
14600         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
14601         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
14602         * lisp/emacs-lisp/edebug.el (edebug-format):
14603         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
14604         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
14605         (eldoc-message):
14606         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
14607         * lisp/emacs-lisp/find-func.el (find-function-library):
14608         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
14609         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
14610         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
14611         * lisp/emacs-lisp/package.el (package-compute-transaction)
14612         (package-install-button-action, package-delete-button-action)
14613         (package-menu--list-to-prompt):
14614         * lisp/emacs-lisp/timer.el (timer-event-handler):
14615         * lisp/emacs-lisp/warnings.el (lwarn, warn):
14616         * lisp/emulation/viper-cmd.el:
14617         (viper-toggle-parse-sexp-ignore-comments)
14618         (viper-kill-buffer, viper-brac-function):
14619         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
14620         * lisp/facemenu.el (facemenu-add-new-face):
14621         * lisp/faces.el (face-documentation, read-face-name)
14622         (face-read-string, read-face-font, describe-face):
14623         * lisp/files.el (find-alternate-file, hack-local-variables)
14624         (hack-one-local-variable--obsolete, write-file)
14625         (basic-save-buffer, delete-directory):
14626         * lisp/format.el (format-write-file, format-find-file)
14627         (format-insert-file):
14628         * lisp/help-fns.el (help-fns--key-bindings)
14629         (help-fns--compiler-macro, help-fns--obsolete)
14630         (help-fns--interactive-only, describe-function-1)
14631         (describe-variable):
14632         * lisp/help.el (describe-mode):
14633         * lisp/info-xref.el (info-xref-output):
14634         * lisp/info.el (Info-virtual-index-find-node)
14635         (Info-virtual-index, info-apropos):
14636         * lisp/international/kkc.el (kkc-error):
14637         * lisp/international/mule-cmds.el:
14638         (select-safe-coding-system-interactively)
14639         (select-safe-coding-system, describe-input-method):
14640         * lisp/international/mule-conf.el (code-offset):
14641         * lisp/international/mule-diag.el (describe-character-set)
14642         (list-input-methods-1):
14643         * lisp/international/quail.el (quail-error):
14644         * lisp/minibuffer.el (minibuffer-message):
14645         * lisp/mpc.el (mpc--debug):
14646         * lisp/msb.el (msb--choose-menu):
14647         * lisp/net/ange-ftp.el (ange-ftp-message):
14648         * lisp/net/gnutls.el (gnutls-message-maybe):
14649         * lisp/net/newst-backend.el (newsticker--sentinel-work):
14650         * lisp/net/newst-treeview.el (newsticker--treeview-load):
14651         * lisp/net/nsm.el (nsm-query-user):
14652         * lisp/net/rlogin.el (rlogin):
14653         * lisp/net/soap-client.el (soap-warning):
14654         * lisp/net/tramp.el (tramp-debug-message):
14655         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
14656         * lisp/nxml/nxml-parse.el (nxml-parse-error):
14657         * lisp/nxml/rng-cmpct.el (rng-c-error):
14658         * lisp/nxml/rng-match.el (rng-compile-error):
14659         * lisp/nxml/rng-uri.el (rng-uri-error):
14660         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
14661         * lisp/org/org-ctags.el:
14662         (org-ctags-ask-rebuild-tags-file-then-find-tag):
14663         * lisp/proced.el (proced-log):
14664         * lisp/progmodes/ebnf2ps.el (ebnf-log):
14665         * lisp/progmodes/flymake.el (flymake-log):
14666         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
14667         * lisp/replace.el (occur-1):
14668         * lisp/simple.el (execute-extended-command)
14669         (undo-outer-limit-truncate, define-alternatives):
14670         * lisp/startup.el (command-line):
14671         * lisp/subr.el (error, user-error, add-to-list):
14672         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
14673         (tutorial--find-changed-keys):
14674         * src/callint.c (Fcall_interactively):
14675         * src/editfns.c (Fmessage, Fmessage_box):
14676         Restyle the quotes of format strings intended for use as a
14677         diagnostic, when restyling seems appropriate.
14678         * lisp/subr.el (format-message): New function.
14679         * src/doc.c (Finternal__text_restyle): New function.
14680         (syms_of_doc): Define it.
14682 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14684         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
14686 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14688         python.el: Fix python-shell-buffer-substring on indented code
14689         (Bug#21086)
14690         * lisp/progmodes/python.el (python-shell-buffer-substring):
14691         Respect current line indentation when calculating string.
14692         * test/automated/python-tests.el
14693         (python-shell-buffer-substring-10)
14694         (python-shell-buffer-substring-11)
14695         (python-shell-buffer-substring-12): New tests.
14697 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14699         Fix minor glitches from ‘format’ reversion
14700         * doc/lispref/strings.texi (Formatting Strings):
14701         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
14702         Documentation’, not below.
14703         * src/syntax.c (Finternal_describe_syntax_value):
14704         Prefer AUTO_STRING to build_string where either will do, as
14705         AUTO_STRING is a bit faster.
14707 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14709         python.el: Defer shell setup code until first interactive prompt
14710         * lisp/progmodes/python.el
14711         (python-shell-comint-watch-for-first-prompt-output-filter):
14712         New function.
14713         (inferior-python-mode): Use it.
14714         (python-shell-first-prompt-hook): New hook.
14715         (python-shell-send-setup-code)
14716         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
14717         this hook instead of inferior-python-hook.
14719 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
14721         Remove the calls to `seq-into` from `seq-concatenate`
14722         Since most new types of seq would have to be defined as sequences (cons
14723         cells or CL structs, mostly), there is no need to convert the seqs to
14724         sequences (which can be a fairly expensive operation).
14725         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
14726         sequences.
14728 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14730         python.el: Fix completion for pdb interactions
14731         * lisp/progmodes/python.el (python-shell-completion-setup-code):
14732         Simplify.  Toggle print_mode for native wrapped completer.
14733         (python-shell-completion-native-setup): Ensure process buffer.
14734         Add print_mode attribute to completer wrapper to toggle returning
14735         or printing candidates.
14736         (python-shell-completion-native-get-completions): Cleanup.
14737         (python-shell-completion-get-completions): Cleanup.
14738         (python-shell-completion-at-point): Perform prompt checks.
14739         Force fallback completion in pdb interactions.
14741 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
14743         Make seq.el more extensible by using cl-defmethod
14744         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
14745         make it easier to extend seq.el with new "seq types".
14746         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
14747         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
14748         subseq in cl-extra.el, and use it in seq.el.
14750 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14752         python.el: Fix prompt detection with user overridden interpreter
14753         * lisp/progmodes/python.el (python-shell-prompt-detect):
14754         Honor buffer local python-shell-interpreter and
14755         python-shell-interpreter-interactive-arg.
14757 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
14759         Support exec-directory with non-ASCII characters on Windows
14760         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
14761         in the system's ANSI codepage, when it is used for invoking
14762         cmdproxy.
14764 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
14766         Revert "Extend ‘format’ to translate curved quotes"
14767         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
14769         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
14770         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
14772 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
14774         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers):
14775         Clarify "invisible window".
14777 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
14779         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
14780         magic-fallback-mode-alist.
14782 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14784         python.el: fallback completion, ffap and eldoc setup enhancements
14785         Setup codes are now sent continuously so that the current frame is
14786         always taken into account.  This allows working within debuggers
14787         and always keeping a fresh version of setup codes that will return
14788         proper results.
14789         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
14790         (python-shell-send-setup-code): Send code only when
14791         python-shell-setup-codes is non-nil.
14792         (python-shell-completion-string-code): Cleanup trailing newline.
14793         (python-shell-completion-get-completions): Always use
14794         python-shell-completion-setup-code.
14795         (python-ffap-setup-code): Work with any object, not only modules.
14796         (python-ffap-string-code): Cleanup trailing newline.
14797         (python-ffap-module-path): Always use python-ffap-setup-code.
14798         (python-eldoc-string-code): Cleanup trailing newline.
14799         (python-eldoc--get-doc-at-point): Always use
14800         python-eldoc-setup-code.  Return non-nil only if docstring is
14801         found.
14803         python.el: Increase native completion robustness
14804         * lisp/progmodes/python.el (python-shell-completion-native-setup):
14805         Make completer print real candidates and just return dummy ones to
14806         avoid input modification.
14807         (python-shell-completion-native-get-completions): Set
14808         comint-redirect-insert-matching-regexp to non-nil and make
14809         comint-redirect-finished-regexp match the last dummy candidate.
14810         Use python-shell-accept-process-output to wait for the full list
14811         of candidates.
14813 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
14815         Fix invocation of programs via cmdproxy.exe
14816         * src/w32proc.c (sys_spawnve): Use exec-directory, not
14817         invocation-directory, for finding cmdproxy.exe.  When Emacs is
14818         run from the source tree, look for cmdproxy.exe in the same source
14819         tree.  (Bug#21323)
14821 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
14823         Handle comments inside unquoted URIs in css-mode
14824         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
14825         (css-syntax-propertize-function): New defconst.
14826         (css--font-lock-keywords): Handle parens around unquoted URIs.
14827         (css-mode): Set `syntax-propertize-function'.
14829 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
14831         Support invocation of Hunspell with multiple dictionaries
14832         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file):
14833         Support lists of dictionaries of the form "DICT1,DICT2,...".
14834         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
14836         Minor formatting changes in ispell.el
14837         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
14838         (ispell-print-if-debug, ispell-aspell-find-dictionary)
14839         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
14840         (ispell-hunspell-dictionary-alist)
14841         (ispell-hunspell-fill-dictionary-entry)
14842         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
14843         (ispell-buffer-with-debug, ispell-complete-word)
14844         (ispell-current-dictionary, ispell-current-personal-dictionary)
14845         (ispell-accept-output, ispell-minor-mode)
14846         (ispell-personal-dictionary, ispell-dictionary-alist)
14847         (ispell-really-aspell, ispell-really-hunspell)
14848         (ispell-encoding8-command, ispell-aspell-supports-utf8)
14849         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
14850         Fix whitespace, inconsistent capitalization, and arguments in doc
14851         strings.
14853 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
14855         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
14856         function refused to resize a size-preserved window.
14858 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
14860         * doc/lispref/windows.texi (Selecting Windows): Improve
14861         documentation and indexing of 'window-use-time'.
14863 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
14865         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
14866         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
14867         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
14868         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
14869         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
14870         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
14871         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
14872         Fix up commenting style.
14874 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
14876         text-quoting-style in emacs-lisp diagnostics
14877         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
14878         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
14879         (ad-disable-advice, ad-remove-advice, ad-set-argument)
14880         (ad-set-arguments):
14881         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
14882         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
14883         (byte-optimize-while, byte-optimize-apply):
14884         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
14885         (byte-compile-log-file, byte-compile-format-warn)
14886         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
14887         (byte-compile-cl-warn)
14888         (byte-compile-warn-about-unresolved-functions)
14889         (byte-compile-file, byte-compile-fix-header)
14890         (byte-compile--declare-var, byte-compile-file-form-defmumble)
14891         (byte-compile-form, byte-compile-normal-call)
14892         (byte-compile-variable-ref, byte-compile-variable-set)
14893         (byte-compile-subr-wrong-args, byte-compile-setq-default)
14894         (byte-compile-negation-optimizer)
14895         (byte-compile-condition-case--old)
14896         (byte-compile-condition-case--new, byte-compile-save-excursion)
14897         (byte-compile-defvar, byte-compile-autoload)
14898         (byte-compile-lambda-form)
14899         (byte-compile-make-variable-buffer-local, display-call-tree)
14900         (batch-byte-compile):
14901         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
14902         (cconv-analyze-form):
14903         * lisp/emacs-lisp/chart.el (chart-space-usage):
14904         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
14905         (check-declare-warn, check-declare-file)
14906         (check-declare-directory):
14907         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
14908         (checkdoc-message-text-engine):
14909         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
14910         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
14911         (cl-symbol-macrolet):
14912         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
14913         * lisp/emacs-lisp/copyright.el (copyright)
14914         (copyright-update-directory):
14915         * lisp/emacs-lisp/edebug.el (edebug-read-list):
14916         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
14917         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
14918         (eieio-oref, eieio-oset-default):
14919         * lisp/emacs-lisp/eieio-speedbar.el:
14920         (eieio-speedbar-child-make-tag-lines)
14921         (eieio-speedbar-child-description):
14922         * lisp/emacs-lisp/eieio.el (defclass, change-class):
14923         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
14924         (elint-init-form, elint-check-defalias-form)
14925         (elint-check-let-form):
14926         * lisp/emacs-lisp/ert.el (ert-get-test):
14927         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
14928         (find-function-library):
14929         * lisp/emacs-lisp/generator.el (iter-yield):
14930         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
14931         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
14932         * lisp/emacs-lisp/package-x.el (package-upload-file):
14933         * lisp/emacs-lisp/package.el (package-version-join)
14934         (package-disabled-p, package-activate-1, package-activate)
14935         (package--download-one-archive)
14936         (package--download-and-read-archives)
14937         (package-compute-transaction, package-install-from-archive)
14938         (package-install, package-install-selected-packages)
14939         (package-delete, package-autoremove)
14940         (package-install-button-action, package-delete-button-action)
14941         (package-menu-hide-package, package-menu--list-to-prompt)
14942         (package-menu--perform-transaction)
14943         (package-menu--find-and-notify-upgrades):
14944         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
14945         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
14946         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
14947         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
14948         * lisp/emacs-lisp/smie.el (smie-config-save):
14949         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
14950         * lisp/emacs-lisp/testcover.el (testcover-1value):
14951         Use curved quotes in diagnostic format strings.
14953 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14955         python.el: Ensure remote process-environment on non-interactive processes
14956         * lisp/progmodes/python.el
14957         (python-shell-tramp-refresh-process-environment): New function.
14958         (python-shell-with-environment): Use it.
14959         * test/automated/python-tests.el (python-shell-with-environment-2):
14960         Update.
14962         python.el: Enhancements to process environment setup.
14963         * lisp/progmodes/python.el (python-shell-process-environment)
14964         (python-shell-extra-pythonpaths, python-shell-exec-path)
14965         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
14966         (python-shell-setup-codes): Remove :safe.
14967         (python-shell-remote-exec-path): New defcustom.
14968         (python-shell--add-to-path-with-priority): New macro.
14969         (python-shell-calculate-pythonpath): Give priority to
14970         python-shell-extra-pythonpaths.  Update docstring.
14971         (python-shell-calculate-process-environment): Give priority to
14972         python-shell-process-environment.  Update docstring.
14973         (python-shell-calculate-exec-path): Give priority to
14974         python-shell-exec-path and calculated virtualenv bin directory.
14975         Update docstring.
14976         (python-shell-tramp-refresh-remote-path): New function.
14977         (python-shell-with-environment): Use it when working remotely and
14978         do not modify tramp-remote-path.  Allow nesting.
14979         (python-shell-calculate-command): Remove useless
14980         python-shell-with-environment call.
14981         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
14982         (python-shell-calculate-pythonpath-2)
14983         (python-shell-calculate-process-environment-6)
14984         (python-shell-calculate-process-environment-7)
14985         (python-shell-calculate-process-environment-8)
14986         (python-shell-calculate-exec-path-3)
14987         (python-shell-calculate-exec-path-4)
14988         (python-shell-calculate-exec-path-5)
14989         (python-shell-calculate-exec-path-6)
14990         (python-shell-with-environment-3): New tests.
14991         (python-shell-calculate-process-environment-2)
14992         (python-shell-calculate-process-environment-3)
14993         (python-shell-calculate-process-environment-4)
14994         (python-shell-calculate-process-environment-5)
14995         (python-shell-calculate-exec-path-1)
14996         (python-shell-calculate-exec-path-2)
14997         (python-shell-with-environment-1)
14998         (python-shell-with-environment-2): Update and simplify.
15000 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15002         Avoid hard-coding "M-x command" in docstrings
15003         * lisp/calendar/todo-mode.el (todo-mode):
15004         * lisp/desktop.el (desktop-save-mode):
15005         * lisp/edmacro.el (edit-kbd-macro):
15006         * lisp/emacs-lisp/package.el (package-menu-execute):
15007         * lisp/emulation/viper-cmd.el (viper-ask-level):
15008         * lisp/emulation/viper-init.el (viper-expert-level):
15009         * lisp/filesets.el (filesets-add-buffer):
15010         * lisp/follow.el (follow-mode):
15011         * lisp/gnus/auth-source.el (auth-sources):
15012         * lisp/international/ogonek.el (ogonek-informacja)
15013         (ogonek-information):
15014         * lisp/net/tramp.el (tramp-process-actions):
15015         * lisp/org/org-gnus.el (org-gnus-no-new-news):
15016         * lisp/org/org.el (org-ellipsis):
15017         * lisp/progmodes/python.el (python-shell-get-process-or-error):
15018         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
15019         * lisp/server.el (server-start):
15020         * lisp/type-break.el (type-break-noninteractive-query):
15021         * lisp/userlock.el (ask-user-about-supersession-help):
15022         * lisp/whitespace.el (whitespace-report-region):
15023         Prefer (substitute-command-keys "`\\[foo-command]'")
15024         to "`M-x foo-command'" in docstrings and the like.
15026 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
15028         Use add-function for prettify-symbols-compose-predicate
15029         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
15030         prettify-symbols-compose-predicate in terms of add-function.
15031         * etc/NEWS: Mention prettify-symbols-compose-predicate and
15032         prettify-symbols-mode support in tex-mode.
15034 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15036         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun.
15037         (smie-indent-exps, smie-indent-keyword): Use it.
15038         * test/indent/css-mode.css: Test alignment with leading comment.
15040 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15042         Respect text-quoting-style in (*Finder*) menus
15043         * lisp/info.el (info--prettify-description):
15044         Treat description as a docstring, so that it's requoted as
15045         per text-quoting-style.
15047 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
15049         Document `window-use-time' in Elisp manual
15050         * doc/lispref/windows.texi (Selecting Windows): Document
15051         `window-use-time'.
15053 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
15055         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.
15056         This is a cleaner fix for Bug#21260 than the previous change.
15058 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15060         Respect text-quoting-style in calc
15061         In calc, tespect text-quoting-style preference in diagnostic
15062         formats and fix a few similar problems in docstrings.
15063         * lisp/calc/calc-aent.el (math-read-factor):
15064         * lisp/calc/calc-embed.el (calc-do-embedded):
15065         * lisp/calc/calc-ext.el (calc-user-function-list)
15066         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
15067         * lisp/calc/calc-help.el (calc-describe-key)
15068         (calc-describe-thing):
15069         * lisp/calc/calc-lang.el (calc-c-language)
15070         (math-parse-fortran-vector-end, math-parse-tex-sum)
15071         (math-parse-eqn-matrix, math-parse-eqn-prime)
15072         (calc-yacas-language, calc-maxima-language, calc-giac-language)
15073         (math-read-big-rec, math-read-big-balance):
15074         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
15075         (calc-auto-recompute):
15076         * lisp/calc/calc-prog.el (calc-user-define-invocation)
15077         (math-do-arg-check):
15078         * lisp/calc/calc-store.el (calc-edit-variable):
15079         * lisp/calc/calc-units.el (math-build-units-table-buffer):
15080         * lisp/calc/calc-vec.el (math-read-brackets):
15081         * lisp/calc/calc-yank.el (calc-edit-mode):
15082         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
15083         Use curved quotes in diagnostic format strings.
15084         * lisp/calc/calc-help.el (calc-describe-thing):
15085         Format docstrings with substitute-command-keys.
15086         * lisp/calc/calc-help.el (calc-j-prefix-help):
15087         * lisp/calc/calc-misc.el (calc-help):
15088         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
15089         Escape a docstring "`".
15091 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
15093         Fix documentation of 'menu-set-font' and 'set-frame-font'
15094         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
15095         * doc/lispref/frames.texi (Frame Font): Document that
15096         set-frame-font with the last argument 't' will also make the font
15097         the default for the future GUI frames.
15099         Document '--create-frame' option to emacsclient
15100         * doc/emacs/misc.texi (emacsclient Options): Document the
15101         '--create-frame' option.  (Bug#21308)
15103 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15105         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
15107 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
15109         Document 'get-mru-window' in the ELisp manual
15110         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
15111         'get-mru-window'.  (Bug#21306)
15113         Clarify documentation of 'get-buffer-window-list'
15114         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
15115         current window, if relevant, will be the first in the list
15116         returned by 'get-buffer-window-list'.
15117         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
15119 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
15121         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
15122         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
15123         `switch-to-buffer'.
15125 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
15127         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
15128         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
15129         `display-buffer' instead of `switch-to-buffer'.
15131 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15133         Follow user preference in calendar diagnostics
15134         Respect text-quoting-style preference in diagnostic formats by
15135         using curved quotes (which are translated as per text-quoting-style)
15136         instead of grave accent and apostrophe (which are not).
15137         * lisp/calendar/appt.el (appt-display-message):
15138         * lisp/calendar/diary-lib.el (diary-check-diary-file)
15139         (diary-mail-entries, diary-from-outlook):
15140         * lisp/calendar/icalendar.el (icalendar-export-region)
15141         (icalendar--convert-float-to-ical)
15142         (icalendar--convert-date-to-ical)
15143         (icalendar--convert-ical-to-diary)
15144         (icalendar--convert-recurring-to-diary)
15145         (icalendar--add-diary-entry):
15146         * lisp/calendar/time-date.el (format-seconds):
15147         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
15148         (timeclock-make-hours-explicit):
15149         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
15150         (todo-item-mark, todo-check-format)
15151         (todo-insert-item--next-param, todo-edit-item--next-key)
15152         (todo-mode):
15153         Use curved quotes in diagnostic format strings.
15154         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
15155         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
15156         Just use straight quoting for simple test case.
15158 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
15160         * src/gfilenotify.c (Fgfile_add_watch):
15161         Handle errors from g_file_monitor.
15163 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
15165         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
15166         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
15167         frame" instead of "non-minibuffer frame".
15169         Fix frame geometry related text
15170         * doc/lispref/frames.texi (Frame Layout):
15171         Rename `x-frame-geometry' to `frame-geometry'.
15172         * doc/lispref/frames.texi (Mouse Position):
15173         * doc/lispref/windows.texi (Coordinates and Windows):
15174         Use `set-mouse-absolute-pixel-position' instead of
15175         `x-set-mouse-absolute-pixel-position'.
15177         Sanitize frame geometry related functions
15178         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
15179         (Fx_frame_edges): Rename to Fns_frame_edges.
15180         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
15181         (Fx_frame_edges): Rename to Fw32_frame_edges.
15182         (Fx_mouse_absolute_pixel_position): Rename to
15183         Fw32_mouse_absolute_pixel_position.
15184         (Fx_set_mouse_absolute_pixel_position): Rename to
15185         Fw32_set_mouse_absolute_pixel_position.
15186         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
15187         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
15188         (ns-frame-edges, w32-mouse-absolute-pixel-position)
15189         (x-mouse-absolute-pixel-position)
15190         (w32-set-mouse-absolute-pixel-position)
15191         (x-set-mouse-absolute-pixel-position): Declare.
15192         (frame-geometry, mouse-absolute-pixel-position)
15193         (set-mouse-absolute-pixel-position): New functions.
15194         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
15196 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
15198         Fix MinGW64 build broken by latest w32uniscribe.c changes
15199         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
15200         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
15201         (Bug#21260)
15203 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
15205         Add TeX defaults for prettify-symbol-mode
15206         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
15207         Rename from tex-prettify-symbols-alist.
15208         (tex--prettify-symbols-compose-p): New function.
15209         (tex-common-initialization): Use them as prettify-symbols-alist
15210         and prettify-symbols-compose-predicate.
15212         Generalize prettify-symbols to arbitrary modes
15213         * lisp/progmodes/prog-mode.el
15214         (prettify-symbols-default-compose-p): New function.
15215         (prettify-symbols-compose-predicate): New variable.
15216         (prettify-symbols--compose-symbol): Use it.
15218 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15220         Don't quote symbols 'like-this' in docstrings etc.
15221         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
15222         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
15223         * lisp/allout.el (allout-add-resumptions, allout-mode):
15224         * lisp/calculator.el (calculator-operators):
15225         * lisp/cedet/data-debug.el (dd-propertize):
15226         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
15227         * lisp/cedet/semantic/analyze/debug.el:
15228         (semantic-analyzer-debug-global-miss-text):
15229         * lisp/cedet/semantic/lex-spp.el:
15230         (semantic-lex-spp-replace-or-symbol-or-keyword):
15231         * lisp/cedet/semantic/symref.el:
15232         (semantic-symref-cleanup-recent-buffers-fcn):
15233         * lisp/cedet/semantic/tag.el (semantic-tag-class):
15234         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
15235         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
15236         * lisp/gnus/pop3.el (pop3-authentication-scheme):
15237         * lisp/help-fns.el (describe-function-orig-buffer):
15238         * lisp/imenu.el (imenu--history-list):
15239         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
15240         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
15241         (feedmail-queue-default-file-slug)
15242         (feedmail-queue-buffer-file-name):
15243         * lisp/net/mairix.el (mairix-searches-mode-map):
15244         * lisp/net/newst-backend.el (newsticker-retrieval-method)
15245         (newsticker-auto-mark-filter-list):
15246         * lisp/obsolete/vi.el (vi-mode):
15247         * lisp/progmodes/cc-engine.el (c-literal-type):
15248         * lisp/progmodes/cpp.el (cpp-face):
15249         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
15250         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
15251         * lisp/progmodes/pascal.el (pascal-auto-lineup):
15252         * lisp/progmodes/prog-mode.el (prog-widen):
15253         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
15254         (verilog-auto-lineup, verilog-auto-reset-widths)
15255         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
15256         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
15257         (flyspell-maybe-correct-doubling):
15258         * lisp/textmodes/table.el (table-justify, table-justify-cell)
15259         (table-justify-row, table-justify-column, table-insert-sequence)
15260         (table--justify-cell-contents):
15261         * lisp/url/url-auth.el (url-get-authentication):
15262         * lisp/window.el (display-buffer-record-window):
15263         * lisp/xml.el (xml-parse-file, xml-parse-region):
15264         * src/gfilenotify.c (Fgfile_add_watch):
15265         Don't quote symbols with apostrophes in doc strings.
15266         Use asymmetric quotes instead.
15267         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
15268         Likewise for symbol in diagnostic.
15269         * lisp/image.el (image-extension-data):
15270         * lisp/register.el (frame-configuration-to-register):
15271         * src/buffer.c (syms_of_buffer):
15272         Remove bogus apostrophes after symbols.
15273         * lisp/thumbs.el (thumbs-conversion-program):
15274         Quote Lisp string values using double-quotes, not apostrophes.
15276 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
15278         Describe frame geometry and related functions in Elisp manual
15279         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
15280         (Showing Images): Update references.
15281         * doc/lispref/elisp.texi (Top): Update node listing.
15282         * doc/lispref/frames.texi (Frame Geometry): New node.
15283         Move `Size and Position' section here.
15284         (Size Parameters): Update references.
15285         (Mouse Position): Update references and nomenclature.
15286         Describe new functions `x-mouse-absolute-pixel-position' and
15287         `x-set-mouse-absolute-pixel-position'.
15288         * doc/lispref/windows.texi (Window Sizes): Update references.
15289         (Resizing Windows): Update references.  Move description of
15290         `fit-frame-to-buffer' here.
15291         (Coordinates and Windows): Update nomenclature and references.
15292         Describe new arguments of `window-edges'.  Comment out
15293         descriptions of `window-left-column', `window-top-line',
15294         `window-pixel-left' and `window-pixel-top'.  Describe
15295         `window-absolute-pixel-position'.
15297 2015-08-20  Alan Mackenzie  <acm@muc.de>
15299         Handling of `c-parse-state'.  Fix low level bug.
15300         * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards):
15301         Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
15303 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
15305         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
15306         window instead of deleting it.
15308 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
15310         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
15311         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
15312         determine whether frame has a titlebar.
15313         Suggested by Eli Zaretskii <eliz@gnu.org>
15315 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
15317         Add a prettify-symbols-alist for (La)TeX
15318         * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist):
15319         New variable holding an alist suitable as prettify-symbols-alist in
15320         (La)TeX modes.
15322 2015-08-19  Alan Mackenzie  <acm@muc.de>
15324         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
15325         Fixes debbugs#21275.
15326         In Emacs >= 25, let electric-pair-mode take precedence over
15327         delete-selection-mode.
15328         * lisp/delsel.el (delete-selection-uses-region-p): New function,
15329         previously a lambda expression in a property value for
15330         `self-insert-command'.
15331         (top-level): Set the `delete-selection' property of
15332         `self-insert-command' to `delete-selection-uses-region-p'.
15333         * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection'
15334         property for c-electric-\(brace\|paren\) the value
15335         `delete-selection-uses-region-p' when the latter function exists.
15337 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15339         Fix key binding quoting in tutorial *Help*
15340         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
15341         When generating help for custom key bindings, use the user-preferred
15342         quoting style rather than hardcoding the grave style.
15344 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
15346         Improve and future-proof OTF fonts support in w32uniscribe.c
15347         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
15348         about the expected results and why the new Uniscribe APIs are not
15349         used in this function.
15350         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
15351         (ScriptGetFontFeatureTags_Proc): New function typedefs.
15352         (uniscribe_new_apis): New static variable.
15353         (uniscribe_check_features): New function, implements OTF features
15354         verification while correctly accounting for features in the list
15355         after the nil member, if any.
15356         (uniscribe_check_otf_1): New function, retrieves the features
15357         supported by the font for the requested script and language using
15358         the Uniscribe APIs available from Windows Vista onwards.
15359         (uniscribe_check_otf): If the new Uniscribe APIs are available,
15360         use them in preference to reading the font data directly.  Call
15361         uniscribe_check_features to verify that the requested features are
15362         supported, replacing the original incomplete code.
15363         (syms_of_w32uniscribe): Initialize function pointers for the new
15364         Uniscribe APIs.  (Bug#21260)
15365         (otf_features): Scan the script, langsys, and feature arrays back
15366         to front, so that the result we return has them in alphabetical
15367         order, like ftfont.c does.
15368         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
15369         New variable for debugging w32uniscribe.c code.
15371 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
15373         * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87
15374         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
15375         clause of `isearch-search-fun-default'.  That lax variable does not
15376         refer to lax-whitespacing.  Related to (bug#21777).
15377         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
15378         * lisp/character-fold.el (character-fold-search): Set to nil.
15379         Default to nil for now, until someone implements proper
15380         lax-whitespacing with char-fold searching.
15382 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
15384         Fix doc-string of `help-mode-finish'.
15385         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
15387         In nsimage.m include coding.h (Bug#21292)
15388         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
15390         Move window edge functions to Elisp.
15391         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
15392         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
15393         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
15394         Move to window.el.
15395         (calc_absolute_offset): Remove.
15396         * lisp/frame.el (frame-edges): New function.
15397         * lisp/window.el (window-edges, window-pixel-edges)
15398         (window-absolute-pixel-edges): Move here from window.c.
15399         (window-body-edges, window-body-pixel-edges)
15400         (window-absolute-body-pixel-edges): Move here from window.c and
15401         rename "inside" to "body".  Keep old names as aliases.
15402         (window-absolute-pixel-position): New function.
15404 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
15406         [Gnus]: Use overlay functions directly
15407         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
15408         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
15409         (gnus-article-highlight-signature, gnus-article-extend-url-button)
15410         (gnus-article-add-button, gnus-insert-prev-page-button)
15411         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
15412         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
15413         (gnus-cite-add-face):
15414         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
15415         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
15416         (gnus-tree-recenter, gnus-highlight-selected-tree):
15417         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
15418         (gnus-summary-show-thread, gnus-summary-hide-thread)
15419         (gnus-highlight-selected-summary):
15420         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
15421         * lisp/gnus/message.el (message-fix-before-sending)
15422         (message-toggle-image-thumbnails):
15423         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
15424         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
15425         Use overlay functions directly instead of using gnus-overlay-*,
15426         message-overlay-*, and sieve-overlay-*.
15427         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
15428         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
15429         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
15430         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
15431         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
15432         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
15433         (message-overlay-get, message-overlay-put, message-overlays-in):
15434         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
15435         (sieve-overlays-at): Remove.
15437 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
15439         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version
15440         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
15441         builds can use the declaration from the system headers.
15442         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
15443         definition of TITLEBAR_INFO.
15444         Suggested by Eli Zaretskii  <eliz@gnu.org>
15446 2015-08-19  Glenn Morris  <rgm@gnu.org>
15448         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
15450 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15452         Use new q ‘format’ flag when fixing quotes in C
15453         * src/image.c (image_size_error): New function.  All uses of
15454         image_error with "Invalid image size ..."  changed to use it.
15455         * src/image.c (image_size_error, xbm_load_image, xbm_load)
15456         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
15457         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
15458         (imagemagick_load, svg_load, svg_load_image, gs_load)
15459         (x_kill_gs_process):
15460         * src/lread.c (load_warn_old_style_backquotes):
15461         * src/xfaces.c (load_pixmap):
15462         * src/xselect.c (x_clipboard_manager_error_1):
15463         Use %qs, not uLSQM and uRSQM.
15464         * src/syntax.c (Finternal_describe_syntax_value):
15465         Prefer Fsubstitute_command_keys to Fformat, as this lets
15466         us use AUTO_STRING.
15467         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
15468         as it's now guaranteed to be ASCII.
15469         * src/xselect.c (x_clipboard_manager_error_2):
15470         Avoid grave accent in low-level stderr diagnostic.
15472 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15474         New q flag for ‘format’
15475         * doc/lispref/processes.texi (Sentinels):
15476         Don't hardwire grave quoting style in example.
15477         * doc/lispref/strings.texi (Formatting Strings):
15478         * etc/NEWS:
15479         Document new q flag.
15480         * src/editfns.c (Fformat): Implement it.
15482 2015-08-18  Daiki Ueno  <ueno@gnu.org>
15484         pinentry.el: Add debugging support
15485         * lisp/net/pinentry.el (pinentry-debug): New variable.
15486         (pinentry-debug-buffer): New variable.
15487         (pinentry--process-filter): Send input to the debug buffer, if
15488         `pinentry-debug' is set.
15490         pinentry.el: Improve multiline prompt
15491         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
15492         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
15493         command.
15495 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15497         Fix multibyte confusion in diagnostics
15498         * src/print.c (print_error_message):
15499         Don't assume that the caller's name is unibyte.
15500         * src/xdisp.c (vadd_to_log):
15501         Don't assume that the formatted diagnostic is unibyte.
15503         Fix file name encodings in diagnostics
15504         Also, close some minor races when opening image files, by opening
15505         them once instead of multiple times.
15506         * src/gtkutil.c (xg_get_image_for_pixmap):
15507         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
15508         (svg_load):
15509         * src/nsimage.m (allocInitFromFile:):
15510         * src/xfns.c (xg_set_icon):
15511         Encode file name, since x_find_image_file no longer does that.
15512         * src/image.c (x_find_image_fd): New function.
15513         (x_find_image_file): Use it.  Do not encode resulting file name,
15514         since callers sometimes need it decoded.
15515         (slurp_file): File arg is now a fd, not a file name.
15516         All callers changed.  This saves us having to open the file twice.
15517         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
15518         (svg_load):
15519         Use x_find_image_fd and fdopen to save a file-open.
15520         Report file name that failed.
15521         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
15523 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
15525         Allow blink-matching-paren to jump off screen
15526         * doc/emacs/programs.texi (Matching): Mention the
15527         `blink-matching-paren' value `jump-offscreen'.
15528         * lisp/simple.el (blink-matching-paren): New possible value.
15529         (blink-matching-paren-on-screen): Clarify the docstring.
15530         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
15532         Refine the previous change
15533         * lisp/simple.el (blink-matching-open): Use minibuffer-message
15534         outside of save-excursion (bug#21286).
15536 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
15538         Rewrite and add frame geometry related functions.
15539         * src/frame.c (Fframe_position): New function.
15540         (Fset_frame_position): Rename parameters and rewrite doc-string.
15541         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
15542         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
15543         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
15544         Qtitle_bar_size.
15545         * src/nsfns.m (frame_geometry): New function.
15546         (Fx_frame_geometry): Call frame_geometry.
15547         (Fx_frame_edges): New function.
15548         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
15549         (GetTitleBarInfo_Proc): Define these so we can use the
15550         GetTitleBarInfo API.
15551         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
15552         (Fx_frame_geometry): Rewrite.
15553         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
15554         (Fx_set_mouse_absolute_pixel_position): New functions.
15555         * src/xfns.c (frame_geometry): New function.
15556         (Fx_frame_geometry): Call frame_geometry.
15557         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
15558         (Fx_set_mouse_absolute_pixel_position): New functions.
15560 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
15562         Improve Tramp's compatibility
15563         * lisp/net/tramp.el (tramp-get-method-parameter):
15564         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
15565         (tramp-adb-get-device):
15566         * lisp/net/trampver.el (tramp-repository-get-version):
15567         Use `tramp-compat-replace-regexp-in-string'.
15569 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
15571         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
15572         Encode/decode string.
15574 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15576         Clarify what happens to match data on failure
15577         Problem reported by Ernesto Alfonso (Bug#21279).
15578         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
15579         Document more carefully what happens to match data after a failed
15580         search.
15581         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
15582         the return value is undefined if the last search failed.
15583         (Fmatch_data): Simplify doc string line 1.
15585 2015-08-18  Daiki Ueno  <ueno@gnu.org>
15587         Revert "pinentry.el: Support external passphrase cache"
15588         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
15589         pinentry.el shouldn't directly interact with the secrets service,
15590         but ask the caller to cache the passphrase.
15592 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
15594         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
15595         Message mode hooks.
15597 2015-08-17  Daiki Ueno  <ueno@gnu.org>
15599         epg.el: Make gpgconf output parsing future proof
15600         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
15601         --list-options" output.
15603         pinentry.el: Support external passphrase cache
15604         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
15605         (pinentry--allow-external-password-cache): New local variable.
15606         (pinentry--key-info): New local variable.
15607         (secrets-enabled, secrets-search-items, secrets-get-secret):
15608         Declare.
15609         (pinentry--send-passphrase): New function, split from
15610         `pinentry--process-filter'.
15611         (pinentry--process-filter): Use secrets.el to retrieve passphrase
15612         from login keyring.
15614         pinentry.el: Popup window for multiline prompt
15615         * lisp/net/pinentry.el (pinentry): New custom group.
15616         (pinentry-popup-prompt-window): New user option.
15617         (pinentry-prompt-window-height): New user option.
15618         (pinentry--prompt-buffer): New variable.
15619         (pinentry-prompt-mode-map): New variable.
15620         (pinentry-prompt-mode): New function.
15621         (pinentry--prompt): New function.
15622         (pinentry--process-filter): Use `pinentry--prompt' instead of
15623         `read-passwd' and `y-or-n-p'.
15625 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
15627         message.el: Silent the byte compiler
15628         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
15629         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
15630         (message-delete-overlay, message-window-inside-pixel-edges):
15631         Declare before using.
15633         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
15634         (message-window-inside-pixel-edges): XEmacs compatible functions.
15636 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
15638         * lisp/gnus/message.el (message-toggle-image-thumbnails): New command.
15640 2015-08-17  Noah Friedman  <friedman@splode.com>
15642         * lisp/simple.el (blink-matching-open): Restore point before
15643         calling minibuffer-message.
15645 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
15647         * lisp/play/dunnet.el: Update version number in header (now
15648         matches help).
15650 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15652         Curved quotes in --batch diagnostics in non-UTF-8
15653         When run with --batch, check that curved quotes are compatible with
15654         the system locale before outputting them in diagnostics.
15655         Problem reported by Eli Zaretskii in:
15656         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
15657         * lisp/startup.el (command-line): Set internal--text-quoting-flag
15658         after the standard display table is initialized.
15659         * src/doc.c (default_to_grave_quoting_style): New function.
15660         (text_quoting_style): Use it.
15661         (text_quoting_flag): New static var, visible to Lisp as
15662         internal--text-quoting-flag.
15663         * src/emacs.c: Include <wchar.h> if available.
15664         (using_utf8): New function.
15665         (main): Use it to initialize text_quoting_flag.
15666         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
15667         Don't define, as it's not needed and it clashes with wchar.h.
15669 2015-08-17  Glenn Morris  <rgm@gnu.org>
15671         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
15672         from makeinfo about spurious "Note:" cross-reference, and for grammar.
15674 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
15676         Minor change in variable initialization on MS-Windows
15677         * src/w32fns.c <after_dead_key>: Initialize to -1.
15678         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
15679         non-zero.
15681         Fix a bug with LWindow key remapping on MS-Windows
15682         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
15684 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
15686         Improve fontset support for latest OTF script tags
15687         * lisp/international/fontset.el (otf-script-alist): Add some
15688         missing script tags.
15689         (setup-default-fontset): Include settings for v2 versions of the
15690         script tags used by some modern OTF/TTF fonts.
15692 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15694         Spelling fixes
15696 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
15698         Use curved quotes in core elisp diagnostics
15699         In the core elisp files, use curved quotes in diagnostic formats,
15700         so that they follow user preference as per ‘text-quoting-style’
15701         rather than being hard-coded to quote `like this'.
15702         * lisp/abbrev.el (expand-region-abbrevs):
15703         * lisp/button.el (button-category-symbol, button-put)
15704         (make-text-button):
15705         * lisp/cus-start.el:
15706         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
15707         (custom--sort-vars-1, load-theme):
15708         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
15709         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
15710         (cl-generic-generalizers):
15711         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
15712         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
15713         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
15714         (advice--make, define-advice):
15715         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
15716         * lisp/emacs-lisp/timer.el (timer-event-handler):
15717         * lisp/env.el (setenv):
15718         * lisp/facemenu.el (facemenu-add-new-face)
15719         (facemenu-add-new-color):
15720         * lisp/faces.el (face-documentation, read-face-name)
15721         (face-read-string, read-face-font, face-spec-set-match-display)
15722         (read-color, x-resolve-font-name):
15723         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
15724         (set-auto-mode, hack-local-variables)
15725         (hack-one-local-variable--obsolete)
15726         (dir-locals-set-directory-class, write-file)
15727         (basic-save-buffer, delete-directory, copy-directory)
15728         (recover-session, recover-session-finish, insert-directory)
15729         (file-modes-char-to-who, file-modes-symbolic-to-number)
15730         (move-file-to-trash):
15731         * lisp/font-lock.el (font-lock-fontify-buffer):
15732         * lisp/format.el (format-write-file, format-find-file)
15733         (format-insert-file):
15734         * lisp/frame.el (get-device-terminal, select-frame-by-name):
15735         * lisp/fringe.el (fringe--check-style):
15736         * lisp/help.el (describe-minor-mode-from-indicator):
15737         * lisp/image.el (image-type):
15738         * lisp/international/fontset.el (x-must-resolve-font-name):
15739         * lisp/international/mule-cmds.el (prefer-coding-system)
15740         (select-safe-coding-system-interactively)
15741         (select-safe-coding-system, activate-input-method)
15742         (toggle-input-method, describe-current-input-method):
15743         * lisp/international/mule-conf.el (code-offset):
15744         * lisp/mouse.el (minor-mode-menu-from-indicator):
15745         * lisp/replace.el (query-replace-read-from)
15746         (occur-after-change-function, occur-1):
15747         * lisp/scroll-bar.el (scroll-bar-columns):
15748         * lisp/simple.el (execute-extended-command)
15749         (undo-outer-limit-truncate, compose-mail, set-variable)
15750         (choose-completion-string, define-alternatives):
15751         * lisp/startup.el (site-run-file, tty-handle-args)
15752         (command-line, command-line-1):
15753         * lisp/subr.el (noreturn, define-error, add-to-list)
15754         (read-char-choice):
15755         * lisp/term/common-win.el (x-handle-xrm-switch)
15756         (x-handle-name-switch, x-handle-args):
15757         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
15758         Use curved quotes in diagnostics.
15759         * lisp/international/mule.el (find-auto-coding):
15760         Use " to quote in a diagnostic, to be consistent with the rest of
15761         this file.
15763         Convert lisp/term/x-win.el to UTF-8
15764         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
15765         runtime behavior, and the file is multilingual so compile-time
15766         appearance shouldn't be an issue.
15767         * admin/notes/unicode: Document this.
15769 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
15771         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
15772         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
15773         issues and comments, bug#943.
15774         (verilog-type-font-keywords): Cycle delay operators like ##1 and
15775         ##[0:$] are now highlighted in their entirety similarly to the #
15776         delay-control operator.  Likewise, the followed-by operators #-#
15777         and #=# are no longer partially highlighed.
15778         (verilog-backward-syntactic-ws-quick)
15779         (verilog-skip-backward-comments): Minor performance improvements
15780         to buffer traversal functions for reduced latency.
15781         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
15782         keyword 'final' follows 'assert/assume/cover', then it is part of
15783         a deferred immediate assertion item and should not be treated as a
15784         final construct for indentation.  Reported by Yuri Sugihara.
15785         (verilog-do-indent): Virtual task/function/class definition lines
15786         should not be considered as declarations.  Reported by Enzo Chi.
15787         (verilog-do-indent): Do not falsely indent to '=' of
15788         property/sequence operators on subsequent lines of a multi-line
15789         statement.
15790         (verilog-assignment-operator-re): Fix '!==' operator and add
15791         support for '<->', ':/', '#-#', and '#=#' operators.
15792         (verilog-calculate-indent, verilog-label-be): Enable
15793         case-sensitive regular expression parsing when looking for
15794         keywords.
15795         (verilog-calc-1): Detect 'pure virtual method' declarations which
15796         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
15797         (verilog-backward-ws&directives): When moving back to the start of
15798         a line and the preceeding line ended with an escaped-newline, then
15799         jump up one line.  This properly consumes a multi-line
15800         pre-processor directive.  Reported by Kaushal Modi.
15801         (verilog-dpi-import-export-re, verilog-extended-complete-re)
15802         (verilog-calc-1): Teach verilog-mode to properly indent after a
15803         DPI import/export statement that resides outside of a module.
15804         Reported by Kaushal Modi.
15805         (verilog-extended-complete-re): Update regexp to match both
15806         "DPI-C" and "DPI".  Reported by Kaushal Modi.
15808 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15810         substitute-command-keys a few more doc strings
15811         * lisp/allout.el (outlineify-sticky):
15812         * lisp/files.el (hack-one-local-variable--obsolete):
15813         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
15814         Use substitute-command-keys on some doc strings so that
15815         they don't use hard-coded key bindings or quoting styles.
15817         Fix quoting in Fformat calls
15818         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
15819         (xpm_load, xpm_load_image, pbm_load, png_load_body)
15820         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
15821         (imagemagick_load, svg_load, svg_load_image, gs_load)
15822         (x_kill_gs_process):
15823         * src/lread.c (load_warn_old_style_backquotes):
15824         * src/xfaces.c (load_pixmap):
15825         * src/xselect.c (x_clipboard_manager_error_1):
15826         Quote diagnostics according to user preference when calling
15827         Fformat or its derivatives.
15829 2015-08-15  Glenn Morris  <rgm@gnu.org>
15831         * admin/admin.el (set-version, set-copyright): Remove deleted files.
15833 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
15835         Allow describe-function helpers to access buffer-local values
15836         This will be used by cedet/mode-local.el `describe-mode-local-override'
15837         on `help-fns-describe-function-functions' in upstream CEDET.
15838         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
15839         `describe-function'.
15840         (describe-function): Bind it, save it on the help xref stack.
15842         Handle pulse-background being nil
15843         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
15844         pulse-background, handle it being nil.
15846 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15848         Fix "\`" confusion in Lisp strings
15849         * admin/authors.el (authors-canonical-author-name):
15850         Fix typo by using "\\`" not "\`" in string RE.
15851         * lisp/obsolete/complete.el (PC-complete-as-file-name):
15852         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
15853         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
15854         Use plain "`", not the equivalent-but-confusing "\`", in strings.
15855         * lisp/textmodes/texinfmt.el: Fix comment likewise.
15857 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
15859         * nt/zipdist.bat: Remove -- no longer used.
15861 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
15863         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
15864         rather than "getenforce".
15865         (tramp-sh-handle-set-file-selinux-context): Do not
15866         cache SELinux context if not all context components are given.
15868 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
15870         Add doc strings to 2 help-mode.el functions
15871         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
15872         strings.  (Bug#21263)
15874         Remove files used by the old MS-Windows specific build procedure
15875         * admin/unidata/makefile.w32-in:
15876         * doc/emacs/makefile.w32-in:
15877         * doc/lispintro/makefile.w32-in:
15878         * doc/lispref/makefile.w32-in:
15879         * doc/misc/makefile.w32-in:
15880         * leim/makefile.w32-in:
15881         * lib-src/makefile.w32-in:
15882         * lib/makefile.w32-in:
15883         * lisp/makefile.w32-in:
15884         * nt/INSTALL.OLD:
15885         * nt/config.nt:
15886         * nt/emacs-src.tags:
15887         * nt/envadd.bat:
15888         * nt/gmake.defs:
15889         * nt/makefile.w32-in:
15890         * nt/multi-install-info.bat:
15891         * nt/nmake.defs:
15892         * nt/paths.h:
15893         * src/makefile.w32-in: Files deleted.
15894         * nt/configure.bat: Remove everything except the blurb about the
15895         new build procedure.
15896         * make-dist: Remove references to makefile.w32-in in various
15897         directories, and to files in nt/ that were deleted.
15898         * etc/NEWS: Mention the fact that the files were dropped.
15900 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15902         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
15903         (Bug#21248)
15905 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
15907         Default to inotify instead of gfile
15908         * configure.ac (with_file_notification): Fix typo that
15909         prevented suppression of file notification if HAVE_NS.
15910         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
15911         with_file_notification is 'yes' (Bug#21241).
15912         * etc/NEWS: Mention this.
15914         Fix broken URLs for ISO-IR
15915         * doc/emacs/mule.texi (Charsets):
15916         * lisp/international/mule-conf.el:
15917         Fix broken URL (Bug#21248).
15919         Low-level diagnostics now use ‘text-quoting-style’
15920         * src/doprnt.c (doprnt):
15921         Format ` and ' as per ‘text-quoting-style’.
15922         * src/xdisp.c (vmessage, message): Mention that the format should
15923         not contain ` or '.
15925         Prefer ‘format’ to ‘substitute-command-keys’
15926         * src/character.h (uLSQM, uRSQM): Move here ...
15927         * src/doc.c (uLSQM, uRSQM): ... from here.
15928         * src/doc.c (Fsubstitute_command_keys):
15929         * src/syntax.c (Finternal_describe_syntax_value):
15930         * lisp/cedet/mode-local.el (mode-local-print-binding)
15931         (mode-local-describe-bindings-2):
15932         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
15933         * lisp/cus-theme.el (describe-theme-1):
15934         * lisp/descr-text.el (describe-text-properties-1, describe-char):
15935         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
15936         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
15937         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
15938         * lisp/emacs-lisp/package.el (describe-package-1):
15939         * lisp/faces.el (describe-face):
15940         * lisp/help-fns.el (help-fns--key-bindings)
15941         (help-fns--compiler-macro, help-fns--parent-mode)
15942         (help-fns--obsolete, help-fns--interactive-only)
15943         (describe-function-1, describe-variable):
15944         * lisp/help.el (describe-mode):
15945         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
15946         to implement quoting style.  This generally makes the code simpler.
15948         Extend ‘format’ to translate curved quotes
15949         This is a followup to the recent doc string change, and deals with
15950         diagnostics and the like.  This patch is more conservative than
15951         the doc string change, in that the behavior of ‘format’ changes
15952         only if its first arg contains curved quotes and the user prefers
15953         straight or grave quotes.  (Come to think of it, perhaps we should
15954         be similarly conservative with doc strings too, but that can wait.)
15955         The upside of this conservatism is that existing usage is almost
15956         surely unaffected.  The downside is that we'll eventually have to
15957         change Emacs's format strings to use curved quotes in places where
15958         the user might want curved quotes, but that's a simple and
15959         mechanical translation that I'm willing to do later.  (Bug#21222)
15960         * doc/lispref/help.texi (Keys in Documentation):
15961         Move description of text-quoting-style from here ...
15962         * doc/lispref/strings.texi (Formatting Strings):
15963         ... to here, and describe new behavior of ‘format’.
15964         * etc/NEWS: Describe new behavior.
15965         * lisp/calc/calc-help.el (calc-describe-thing):
15966         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
15967         * lisp/info.el (Info-find-index-name):
15968         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
15969         of recently-added curved quotes.
15970         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
15971         Move from here ...
15972         * src/lisp.h: ... to here.
15973         * src/doc.c (text_quoting_style): New function.
15974         (Fsubstitute_command_keys): Use it.
15975         * src/editfns.c (Fformat): Implement new behavior.
15976         * src/lisp.h (enum text_quoting_style): New enum.
15978 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
15980         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
15981         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
15983 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
15985         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
15986         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
15988 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
15990         Flush file properties in Tramp
15991         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
15992         (tramp-sh-handle-set-file-times):
15993         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
15994         (tramp-adb-handle-set-file-times): Flush the file properties of
15995         the directory.
15997 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
15999         * doc/emacs/misc.text (Amusements): Fixed typo.
16001 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
16003         Don't miss warnings about removing string text properties while dumping
16004         * src/alloc.c (purecopy): Warn about removing a string's text
16005         properties even when the same string was already pure-copied
16006         earlier.
16007         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
16008         (elisp--xref-format-extra): Fix the commentary.
16010 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
16012         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049).
16014 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
16016         * lisp/progmodes/compile.el: Use lexical-binding.
16017         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
16019 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
16021         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
16022         * lisp/uniquify.el: Remove redundant `:group's.
16024 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
16026         * lisp/net/tramp-adb.el
16027         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
16028         result to prevent modification of the tramp-cache by side effects.
16029         Use the correct cache key.
16031 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
16033         Make add_to_log varargs
16034         * src/alloc.c (run_finalizer_handler):
16035         * src/charset.c (load_charset_map_from_vector):
16036         * src/nsimage.m (ns_load_image):
16037         * src/xfaces.c (load_pixmap, load_color2):
16038         Simplify, now that add_to_log has a variable number of args.
16039         * src/image.c (image_error): Take a variable number of args.
16040         Callers simplified.
16041         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
16042         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
16043         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
16044         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
16046         Optional args for holiday-greek-orthodox-easter
16047         * etc/NEWS: Document this.
16048         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
16049         Add optional args N and STRING, mimicking the API and code of
16050         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
16052 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
16054         xref-find-definitions: Exclude more generic function items.
16055         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
16056         Add doc string.
16057         (cl--generic-find-defgeneric-regexp): New.
16058         (find-function-regexp-alist): Add it.
16059         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
16060         elisp-mode.el, change to search for ";;; Code:"
16061         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
16062         (find-function-regexp-alist): Add them.
16063         * lisp/progmodes/elisp-mode.el:
16064         (elisp--xref-format, elisp--xref-format-extra): Change back to
16065         defvar due to bug#21237.
16066         (elisp--xref-find-definitions): Exclude co-located default methods for
16067         generic functions.  Also exclude implicitly declared defgeneric.
16068         (elisp--xref-find-definitions): Handle C source properly.  Exclude minor
16069         mode variables defined by 'define-minor-mode'.
16070         * test/automated/elisp-mode-tests.el: Declare generic functions, add
16071         tests for them.
16072         (xref-elisp-test-run): Fix bug.
16073         (emacs-test-dir): Improve initial value.
16074         (find-defs-defun-defvar-el): Don't expect defvar.
16075         (find-defs-feature-el): Match change to find-feature-regexp.
16077 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
16079         Improve warning about purecopy of strings with properties
16080         * src/alloc.c (purecopy): Show the offending string with the
16081         warning about removing its text properties.
16083 2015-08-12  Alan Mackenzie  <acm@muc.de>
16085         Introduce new macros to cover Emacs's new names in cl-lib.el
16086         This also eliminates `mapcan' warnings in XEmacs.
16087         * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
16088         characterise [X]Emacs versions.
16089         (top-level): Require either 'cl or 'cl-lib, depending on
16090         c--mapcan-status.
16091         Change this back to cc-external-require from an eval-when-compile
16092         require.
16093         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
16094         (c--delete-duplicates): New macros which expand into either old or new
16095         names.
16096         (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros
16097         rather than the old names.
16098         * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan
16099         rather than mapcan.
16100         * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
16101         * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
16102         depending on c--mapcan-status.
16103         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
16104         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
16105         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
16106         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
16107         (c-decl-block-key, c-keywords, c-keywords-obarray)
16108         (c-regular-keywords-regexp, c-primary-expr-regexp)
16109         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
16110         (c-known-type-key, c-nonlabel-token-key)
16111         (c-make-init-lang-vars-fun): Use the new macros rather than the old
16112         names.
16114 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
16116         loadhist.el (read-feature): Conform to completing-read
16117         * lisp/loadhist.el (read-feature): According to `completing-read'
16118         documentation, if collection is a list, then it must be a list of
16119         strings, not a list of symbols like before.
16121 2015-08-12  David Kastrup  <dak@gnu.org>
16123         Deal gracefully with up-events (Bug#19746)
16124         * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
16125         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
16126         those may easily be injected by user-level Lisp code.
16127         (read_key_sequence): Discard unbound up-events like unbound
16128         down-events: they are even more likely only relevant for special
16129         purposes.
16130         While Emacs will not produce up-events on its own currently (those are
16131         converted to drag or click events before being converted to
16132         Lisp-readable structures), the input queue can be made to contain them
16133         by synthesizing events to `unread-command-events'.  Emacs should deal
16134         consistently with such events.
16136 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
16138         Fix display of thin lines whose newline has line-height property of t
16139         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
16140         and descent values of non-empty glyph rows, since they could have
16141         forced low values deliberately.  (Bug#21243)
16143 2015-08-12  Richard Stallman  <rms@gnu.org>
16145         Offer to combine multiple To or CC fields.
16146         * lisp/mail/sendmail.el (mail-combine-fields): New function.
16147         (mail-send): Call 'mail-combine-fields'.
16149         Don't decrypt encrypted files.
16150         * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
16152         Handle encrypted mbox files.
16153         * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt
16154         the mbox file if necessary.
16156         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
16157         * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine.
16158         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
16159         In a mime message, reenable Mime and show the parts that
16160         were shown before.
16161         Add keyword "decrypt" if anything decrypted.
16163         epa-inhibit inhibits auto-recognition of .gpg files
16164         * lisp/epa-file.el (epa-inhibit): New variable.
16165         (epa-file-handler): Check epa-inhibit.
16167 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
16169         * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
16171 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
16173         Respect python.el imenu when semantic-mode is off
16174         Fixes bug#21220
16175         * lisp/cedet/semantic/wisent/python.el: Do not force
16176         wisent-python-default-setup on python-mode-hook.
16178 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16180         Give names to Unicode code points in C code
16181         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
16182         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
16183         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
16184         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
16185         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
16186         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
16187         (OBJECT_REPLACEMENT_CHARACTER):
16188         New named constants for Unicode code points.
16189         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
16190         * src/composite.c (char_composable_p):
16191         * src/lread.c (readevalloop, read1):
16192         * src/xdisp.c (get_next_display_element):
16193         Use them.
16194         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
16195         Remove; now in character.h.
16197 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
16199         elisp--xref-find-definitions handle cl-defstuct default constructor
16200         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
16201         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
16202         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
16203         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
16204         from xref-elisp-test for ease of debugging.
16205         (xref-elisp-deftest): Rename from xref-elisp-test.
16206         (find-defs-constructor): New test.
16207         (find-defs-defgeneric-el): Match batch test config.
16208         (compile): Required for find-defs compilation-minor-mode test.
16209         (find-defs-defvar-el): Match code change.
16210         (find-defs-face-el): Match code change.
16211         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
16212         Improve doc string.
16214 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
16216         * lisp/replace.el (perform-replace): Document `replacements'.
16217         (perform-replace): Move the description of the format of `replacements'
16218         from the body's comment to the doc string.
16220 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
16222         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
16223         sequence.  Recent adb version send initial escape sequences, even
16224         when terminal type is set to TERM=dumb.
16226 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
16228         Rewrite elisp--xref-find-definitions to handle many more cases; add tests
16229         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
16230         Function deleted.
16231         (elisp--xref-format-cl-defmethod): New defconst.
16232         (find-feature-regexp, find-alias-regexp): New defcustoms.
16233         (elisp--xref-make-xref): New function.
16234         (elisp--xref-find-definitions): Rewrite using the above, handle many
16235         more cases.  Always output all available definitions.
16236         (xref-location-marker): No need for special cases.
16237         * test/automated/elisp-mode-tests.el: Add more tests of
16238         elisp--xref-find-definitions, improve current tests.
16240 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
16242         Fix recording of events pushed onto unread-command-events
16243         * src/keyboard.c (read_char): Make sure events read from
16244         unread-command-events and unread-post-input-method-events are
16245         always recorded by record_char.  Reported by David Kastrup
16246         <dak@gnu.org>, see
16247         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
16249 2015-08-10  Samer Masterson  <samer@samertm.com>
16251         Set file buffer as current for "--file"
16252         * lisp/startup.el (command-line-1): Set file buffer as current before
16253         it is displayed so it can be used with options like "--eval".
16254         (Bug#21095)
16256 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
16258         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
16259         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
16260         after setting LC_ALL to the desired locale, to avoid affecting how
16261         numbers are read and printed.  (Bug#21223)
16263 2015-08-10  Alan Mackenzie  <acm@muc.de>
16265         Fix "Invalid search bound (wrong side of point)" in fontification
16266         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
16267         an initialization expression, check point is not beyond the
16268         fontification limit.
16270 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16272         Fix DPI calculation when Xft/DPI is default
16273         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
16274         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
16275         Remove unnecessary cast while we're in the neighborhood.
16277 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
16279         Add project-vc-search-path and project-vc-ignores
16280         * lisp/progmodes/project.el (project-vc): New group.
16281         (project-vc-search-path, project-vc-ignores): New variables.
16282         (project--value-in-dir): Utility function.
16283         (project-search-path, project-ignores): Use them.
16284         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
16285         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
16287 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16289         Fix some minor quoting issues with grave accent
16290         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
16291         Remove redundant quotes.
16292         * src/doc.c (uLSQM, uRSQM): New macros.
16293         * src/doc.c (Fsubstitute_command_keys):
16294         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
16295         preference for quotes rather than hardcoding the ‘grave’ style.
16296         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
16297         (re_match_2_internal) [DEBUG]: In debugging output, quote C
16298         strings with "...", not `...'.
16300         ChangeLog.2 ignores remote-tracking merges
16301         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
16302         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
16303         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
16305 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
16307         Use kpsewhich in ffap-latex-mode, if available
16308         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
16309         (ffap-latex-mode): Use kpsewhich if available.
16311         ffap: disallow braces in filenames for tex modes
16312         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
16313         braces in tex-related modes.
16315         Remove useless backslashes from ffap-string-at-point-mode-alist
16316         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
16317         misleading backslashes from default value.
16319         Augment docstring of ffap-string-at-point-mode-alist
16320         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
16321         and END are handled.
16323 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16325         * lisp/org/org-src.el (org-edit-src-code)
16326         (org-edit-fixed-width-region):
16327         * lisp/simple.el (completion-setup-function):
16328         Remove calls to substitute-command-keys that always just return
16329         their argument.
16331 2015-08-09  Daiki Ueno  <ueno@gnu.org>
16333         * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'.
16334         (Bug#21210)
16336 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
16338         Fix link to source code in help window
16339         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
16340         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
16341         'No longer include timestamp in header of .elc files'.  Add code
16342         that will return .el source file in load-path.
16344 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
16346         * lisp/isearch.el (isearch-search-fun-default): (Bug#21164)
16347         Respect `isearch-lax-whitespace' when searching through
16348         `isearch-word'.
16350 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
16352         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
16354         * org.el: Fix up some lexical scoping warnings, and use dolist
16355         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
16356         (org-set-regexps-and-options, org-assign-fast-keys)
16357         (org-contextualize-keys, org-contextualize-validate-key)
16358         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
16359         (org-find-olp, org-find-exact-heading-in-directory)
16360         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
16361         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
16362         (org-replace-escapes): Use dolist.
16363         (org-mode): Optimize away XEmacs-only code.
16364         (org-refile-get-targets): Remove unused var `f'.
16365         (org-fast-todo-selection): Remove unused var `e'.
16366         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
16367         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
16368         (org-format-latex): Use dolist.  Remove unused var `e'.
16369         (org-toggle-heading): Access vars lexically rather than dynamically.
16370         (org-backward-sentence, org-forward-sentence, org-meta-return)
16371         (org-kill-line): Mark arg as unused.
16372         (org-submit-bug-report): Silence compiler warning.
16373         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
16374         (org-get-cursor-date): Remove unused var `tm'.
16375         (org-comment-or-uncomment-region): Use standard name `_'.
16376         (reftex-docstruct-symbol, reftex-cite-format): Declare to
16377         silence byte-compiler.
16378         (org-reftex-citation): Add `org--' prefix to dynamically scoped
16379         `rds' var.
16381 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
16383         Electric quote if coding is undecided or no conv
16384         * lisp/electric.el (electric--insertable-p): Also say that a
16385         string is insertable if the buffer file coding system is undecided
16386         or uses no conversion, as curved quotes will work in either case.
16388         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
16390 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
16392         Fix overlay string display regressions introduced in Emacs 24.5
16393         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
16394         buffer position, if we move the iterator to a new position as
16395         result of jumping over text covered by a "replacing" display
16396         property.
16397         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
16399         Support recovery from C stack overflow on MS-Windows
16400         * src/w32fns.c (w32_reset_stack_overflow_guard)
16401         (stack_overflow_handler): New functions for handling C stack
16402         overflow exceptions.
16403         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
16404         specially, and zero out except_addr if we do.
16405         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
16406         mode.
16407         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
16408         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
16409         the MinGW build, but the code guarded by that is for Posix hosts.
16410         * src/keyboard.c (command_loop) [WINDOWSNT]:
16411         Call w32_reset_stack_overflow_guard.
16412         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
16413         (sigsetjmp): New macro.
16414         (w32_reset_stack_overflow_guard): Declare the prototype.
16415         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
16417 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
16419         Improve error signalling for seq-subseq
16420         * lisp/seq.el (seq-subseq): The existing behavior is to error
16421         when indexes are too large, but to silently ignore numbers which
16422         are too negative for lists.  String and vector handling errors in
16423         both cases.  This has been regularized.  Error signaling behavior
16424         has been explicitly added to the doc string.
16426         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
16427         therefore also impacted by this change.  Update the doc string
16428         to reflect this.
16430         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
16431         added for these exceptional cases, as well as one non exceptional
16432         base case.
16434 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
16436         Improve error checking in tramp-adb.el
16437         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
16438         Improve error checking.  "ls -l" on Android in Enforcing mode can
16439         print "lstat './FILENAME failed: Permission denied".
16441 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
16443         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
16444         non-struct vectors.
16446 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
16448         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
16449         * lisp/window.el: Fix typo that broke build.
16450         (display-buffer--action-function-custom-type):
16451         Add `display-buffer-use-some-frame'.
16452         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
16454         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
16455         * lisp/window.el (display-buffer-use-some-frame): Add support for
16456         'inhibit-same-window in alist.
16457         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
16458         'inhibit-same-window in alist.
16460 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
16462         Avoid infinite loop in display of invisible text in strings
16463         * src/xdisp.c (handle_invisible_prop): If the next change of
16464         invisibility spec does not mean the beginning of a visible text,
16465         update the string position from which to start the search for the
16466         next invisibility change.  This avoids an infinite loop when we
16467         have more than one invisibility spec that are made inactive by
16468         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
16469         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
16470         for the situation that caused bug #21200.
16472 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
16474         * lisp/emacs-lisp/package.el: Simplify describe-package-1
16475         (package-help-section-name-face): New face.
16476         (package--print-help-section): New function.
16477         (describe-package-1): Refactor section printing.
16478         (package-make-button): Use face instead of font-lock-face, which
16479         doesn't work on buttons.
16481         * lisp/emacs-lisp/package.el: Define custom faces
16482         (package-name-face, package-description-face)
16483         (package-status-built-in-face, package-status-external-face)
16484         (package-status-available-face, package-status-new-face)
16485         (package-status-held-face, package-status-disabled-face)
16486         (package-status-installed-face, package-status-dependency-face)
16487         (package-status-unsigned-face, package-status-incompat-face)
16488         (package-status-avail-obso-face): New faces.
16489         (package-menu--print-info-simple): Use them.
16491 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16493         Fix some confusion with ‘format’
16494         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
16495         (allout-graphics-modification-handler):
16496         Protect arbitrary string in a format context with "%s" format.
16497         * lisp/avoid.el:
16498         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
16499         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
16500         * lisp/erc/erc-button.el (erc-button-beats-to-time):
16501         * lisp/gnus/message.el (message-send-form-letter):
16502         * lisp/org/ob-core.el (org-babel-check-evaluate)
16503         (org-babel-confirm-evaluate):
16504         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
16505         * lisp/org/ox-latex.el (org-latex-compile):
16506         * lisp/org/ox-man.el (org-man-compile):
16507         * lisp/org/ox-odt.el (org-odt-template):
16508         * lisp/org/ox-texinfo.el (org-texinfo-compile):
16509         * lisp/progmodes/prolog.el (prolog-help-info)
16510         (prolog-view-predspec):
16511         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
16512         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
16513         * lisp/textmodes/rst.el (rst-replace-lines):
16514         Change (message (format ...)) to (message ...), and likewise
16515         for ‘error’.  This lessens the probability of confusion when the
16516         output of ‘format’ contains ‘%’.
16518 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
16520         * lisp/replace.el (replace-character-fold): Default to nil.
16522         * lisp/character-fold.el: Fix lax whitespace.
16523         (character-fold-table): Don't make space match other whitespace chars.
16524         (character-fold-to-regexp): Simplify lax behavior.
16526 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
16528         Preserve window point in xref-find-definitions-other-window
16529         Fix the problem reported by Ingo Logmar in
16530         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
16531         * lisp/progmodes/xref.el (xref--goto-char): Extract from
16532         xref--goto-location.
16533         (xref--pop-to-location): Use it.  Replace xref--goto-location with
16534         a direct xref-location-marker call.
16535         (xref--show-location): Likewise.
16536         (xref--display-position): Use xref--goto-char.
16538         * lisp/progmodes/project.el: Add a paragraph to the front matter.
16540 2015-08-04  David Kastrup  <dak@gnu.org>
16542         * lisp/vc/emerge.el (emerge-show-file-name):
16543         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
16544         (vhdl-comment-insert, vhdl-hooked-abbrev):
16545         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
16546         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
16547         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
16548         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
16549         * lisp/obsolete/vip.el (vip-escape-to-emacs)
16550         (vip-prefix-arg-value, vip-prefix-arg-com):
16551         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
16552         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
16553         (quail-tibkey-update-translation):
16554         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
16555         * lisp/leim/quail/lao.el (quail-lao-update-translation):
16556         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
16557         (quail-japanese-self-insert-and-switch-to-alpha):
16558         * lisp/leim/quail/hangul.el (hangul2-input-method)
16559         (hangul3-input-method, hangul390-input-method):
16560         * lisp/language/hanja-util.el (hangul-to-hanja-char):
16561         * lisp/international/robin.el (robin-input-method):
16562         * lisp/international/quail.el (quail-start-translation)
16563         (quail-start-conversion):
16564         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
16565         (gnus-article-describe-key-briefly):
16566         * lisp/eshell/em-hist.el (eshell-list-history):
16567         * lisp/term.el (term-dynamic-list-input-ring)
16568         (term-dynamic-list-completions):
16569         * lisp/subr.el (momentary-string-display):
16570         * lisp/simple.el (read-quoted-char):
16571         * lisp/pcomplete.el (pcomplete-show-completions):
16572         * lisp/kmacro.el (kmacro-repeat-on-last-key):
16573         * lisp/info.el (Info-summary):
16574         * lisp/ehelp.el (electric-help-command-loop):
16575         * lisp/ebuff-menu.el (electric-buffer-list)
16576         (Electric-buffer-menu-exit):
16577         * lisp/double.el (double-translate-key):
16578         * lisp/comint.el (comint-dynamic-list-input-ring)
16579         (comint-dynamic-list-completions): Do not overwrite preexisting
16580         contents of `unread-command-events' when putting new events into it.
16582 2015-08-04  Daniel Colascione  <dancol@dancol.org>
16584         Improve ansi-color filtering of unrecognized escape sequences
16585         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
16586         escape sequences.
16587         (ansi-color-filter-apply, ansi-color-apply): Filter out
16588         unrecognized escape sequences.
16590 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
16592         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
16593         definitions to `easy-menu-define', improve a couple to account for
16594         async, and add a couple of new commands.
16596 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
16598         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
16600 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
16602         Add new 'calendar-weekend-days' option
16603         Make the days receiving the 'calendar-weekend-header' face freely
16604         customizable, as they differ by region/culture.
16605         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
16606         new variable.
16607         * lisp/calendar/calendar.el (calendar-generate-month): New variable
16608         calendar-weekend-days to customize day header fontification.
16610 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16612         Redo text-quoting-style variable
16613         Rename help-quote-translation to text-quoting-style,
16614         and use symbols rather than characters as values.
16615         This follows suggestions along these lines by Alan Mackenzie in:
16616         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
16617         and by Drew Adams in:
16618         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
16619         * doc/lispref/help.texi (Keys in Documentation)
16620         * etc/NEWS:
16621         * lisp/cus-start.el (standard):
16622         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
16623         Document and/or implement the new behavior instead of the old.
16624         (syms_of_doc): New symbols 'grave' and 'straight'.
16626 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
16628         nnimap.el: Use IMAP MOVE extension if available
16629         * lisp/gnus/nnimap.el (nnimap-request-move-article)
16630         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
16631         Use MOVE extension if available.
16633         nnimap.el: Explicitly ask for server capabilities
16634         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
16635         capabilities will be returned in the login-result.
16637 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16639         Treat help strings like other doc strings
16640         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
16641         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
16642         substitute-command-keys.
16643         * src/keyboard.c (show_help_echo, parse_menu_item): Call
16644         substitute-command-keys on the help string before displaying it.
16646         Also mention "curly quotes"
16647         See Drew Adams's email in:
16648         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
16649         * doc/lispref/help.texi (Keys in Documentation):
16650         Add index entry "curly quotes".
16651         * etc/NEWS: Use the phrase "curly quotes" too.
16653         ede-proj-target-makefile docstring tweaks
16654         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
16655         Consistently use "all:" to describe the all: target,
16656         replacing three different and confusingly-quoted usages.
16658 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
16660         Don't abort emacsclientw when -a was specified
16661         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
16662         out if we are in emacsclientw and -a was specified.
16664 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
16666         Fix handling of 1st keystroke on MS-Windows
16667         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
16668         This is needed to correctly handle the session's first keystroke,
16669         if it has any modifiers.  (Bug#19994)
16671 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16673         Substitute some customization etc. doc strings
16674         These changes apply substitute-command-keys to some
16675         doc strings that were going through untranslated
16676         when creating customization or other widgets.
16677         * lisp/cus-edit.el (custom-group-value-create):
16678         * lisp/wid-edit.el (widget-default-create):
16679         (widget-push-button-value-create):
16680         Treat the widget tag as a doc string.
16681         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
16682         Treat the :documentation value as a doc string.
16683         * lisp/wid-edit.el (widget-choose):
16684         Treat the choice names as doc strings.
16685         (widget-default-create): Treat the :doc value as a doc string.
16686         (widget-toggle-value-create): Treat the :on and :off values
16687         as doc strings.
16688         (widget-documentation-string-value-create):
16689         Substitute the doc string.
16691 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
16693         Add a second argument to project-ignores
16694         * lisp/progmodes/project.el (project-ignores): Add a second
16695         argument DIR.
16696         * lisp/progmodes/project.el (project-ignores): Only include the VC
16697         ignores if DIR is the VC root.
16698         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
16700 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
16702         Prevent incorrect display when 'line-spacing' variable is set
16703         * src/xdisp.c (try_window_id): Give up this optimization if the
16704         buffer has its 'line-spacing' variable set non-nil.
16706 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
16708         Don't pass NOVISIT to find-file
16709         * lisp/progmodes/etags.el (next-file):
16710         Don't pass NOVISIT to find-file (bug#21175).
16712         Ignore buffer restriction for tags-loop-eval
16713         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
16714         restriction (bug#21167).
16716 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
16718         Fix a thinko in 'ffap-gopher-at-point'
16719         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
16721         Honor 'line-spacing' for empty lines
16722         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
16723         property and 'line-spacing' frame parameter or variable or
16724         property for empty lines, by doing the same processing as in
16725         x_produce_glyph for newline characters.  (Bug#21165)
16727 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
16729         Simplify by assuming C99 integer division
16730         * src/floatfns.c (ceiling2, floor2, truncate2):
16731         Assume C99 (i.e., Fortran) semantics for integer division.
16732         This simplifies the code.
16734 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
16736         Don't overflow if computing approximate percentage
16737         * lisp/align.el (align-region):
16738         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
16739         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
16740         * lisp/cus-edit.el (custom-buffer-create-internal):
16741         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
16742         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
16743         (checkdoc-next-message-error):
16744         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
16745         * lisp/epa.el (epa-progress-callback-function):
16746         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
16747         * lisp/ffap.el (ffap-menu-rescan):
16748         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
16749         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
16750         * lisp/gnus/nneething.el (nneething-retrieve-headers):
16751         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
16752         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
16753         * lisp/gnus/nnml.el (nnml-retrieve-headers):
16754         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
16755         * lisp/gnus/nntp.el (nntp-retrieve-headers)
16756         (nntp-retrieve-articles):
16757         * lisp/imenu.el (imenu--relative-position):
16758         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
16759         (skkdic-convert-okuri-nasi):
16760         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
16761         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
16762         * lisp/org/org-list.el (org-update-checkbox-count):
16763         * lisp/org/org.el (org-table-map-tables)
16764         (org-update-parent-todo-statistics):
16765         * lisp/play/decipher.el (decipher-insert-frequency-counts)
16766         (decipher-analyze-buffer):
16767         * lisp/profiler.el (profiler-format-percent):
16768         * lisp/progmodes/cc-cmds.el (c-progress-update):
16769         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
16770         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
16771         (idlwave-list-load-path-shadows):
16772         * lisp/progmodes/opascal.el (opascal-step-progress):
16773         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
16774         (vhdl-scan-directory-contents):
16775         * lisp/textmodes/bibtex.el (bibtex-progress-message):
16776         * lisp/textmodes/flyspell.el (flyspell-small-region)
16777         (flyspell-external-point-words):
16778         * lisp/textmodes/table.el (table-recognize):
16779         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
16780         progress-report percentages and the like.  This avoids problems
16781         if (* 100 NUMERATOR) would overflow.
16782         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
16783         * lisp/gnus/registry.el (registry-reindex):
16784         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
16785         * lisp/descr-text.el (describe-char):
16786         * lisp/org/org-colview.el (org-nofm-to-completion):
16787         * lisp/ps-print.el (ps-plot):
16788         * lisp/simple.el (what-cursor-position):
16789         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
16790         more-complicated and less-accurate approximation.
16792         Fix some int overflows in profiler.c
16793         * src/profiler.c (make_log): Make args EMACS_INT, not int,
16794         to avoid unwanted behavior on 'int' overflow.
16795         (make_log, evict_lower_half, record_backtrace):
16796         Use ptrdiff_t, not int, for object indexes.
16798         Port to pedantic memcpy
16799         * src/keyboard.c (menu_bar_items, tool_bar_items):
16800         * src/xrdb.c (magic_db):
16801         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
16803         Merge from gnulib
16804         This incorporates:
16805         2015-07-29 time_rz: port to pedantic memcpy
16806         * lib/time_rz.c: Copy from gnulib.
16808 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
16810         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
16811         When updating the very last entry, tabulated-list-print would
16812         erase it and then try to look at the next one (which obviously
16813         isn't there).
16815 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
16817         Allow to use the old key processing code on MS-Windows
16818         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
16819         New variable.
16820         (w32_wnd_proc): Use it to invoke the old code that processed
16821         character keys, as fallback, when this variable is non-nil.
16822         Fix typos in comments.  (Bug#19994)
16824 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
16826         Improve handling of Unicode keyboard input on MS-Windows
16827         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
16828         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
16829         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
16830         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
16831         successful, don't call TranslateMessage.  (Bug#19994)
16833 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
16835         Fix default-directory in changeset diffs after vc-print-log
16836         * lisp/vc/log-view.el (log-view-diff-common): Move the
16837         revision-granularity check back into log-view-diff-changeset.
16838         (log-view-diff-changeset): Bind default-directory to the current
16839         VC root.
16841         Rename project-directories to project-roots
16842         * lisp/progmodes/project.el (project-search-path-function)
16843         (project-search-path): Update the docstring.
16844         (project-directories): Rename to `project-roots', update all
16845         callers and implementations accordingly.
16846         (project-root): Remove.
16847         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
16848         as the default file mask.
16850 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
16852         Support long URLs in w32-shell-execute
16853         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
16854         and filename_to_ansi to convert the DOCUMENT argument, as it could
16855         be a URL that is not limited to MAX_PATH characters.  Instead, use
16856         MultiByteToWideChar directly, and allocate heap storage as
16857         required to accommodate the converted string.  Likewise with
16858         non-Unicode operation.  Ensure OPERATION is null-terminated, even
16859         if it is longer than 32K bytes.  (Bug#21158)
16861 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
16863         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev.
16865 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
16867         Add docs for display-buffer action display-buffer-use-some-frame
16868         * lisp/window.el (display-buffer-use-some-frame): Improve doc string.
16869         * doc/lispref/windows.texi (Display Action Functions):
16870         Add display-buffer-use-some-frame.
16871         * etc/NEWS: Mention display-buffer-use-some-frame.
16873         Add display-buffer action display-buffer-use-some-frame
16874         * lisp/window.el (display-buffer-use-some-frame): New.
16876         Handle vc-mtn error more gently
16877         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when
16878         branch is nil.
16880 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
16882         Fix Tramp problems with multihops, and nc
16883         * lisp/net/tramp-cache.el (tramp-get-file-property)
16884         (tramp-set-file-property, tramp-flush-file-property)
16885         (tramp-get-connection-property, tramp-set-connection-property)
16886         (tramp-flush-connection-property): Remove hop from vector.
16887         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
16888         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
16889         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
16890         netstat to 60".
16891         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
16892         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
16893         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
16894         Keep hop in result.
16895         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
16896         Add hop tests.
16898 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
16900         Resurrect highlighting of repeated words by Flyspell Mode
16901         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
16902         characters between point and the doublon candidate, so that
16903         flyspell-word-search-backward finds it.  (Bug#21157)
16905         Fix redisplay of large images on expose events
16906         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
16907         between signed negative values and unsigned values.  This
16908         prevented redisplay on expose events when the window showed a very
16909         large image.
16911 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
16913         Remove unnecessary stack overflow dependency
16914         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
16915         Don't worry about $ac_cv_header_sys_resource_h and
16916         $ac_cv_func_getrlimit, as they're no longer needed for this.
16917         Problem reported by Eli Zaretskii in:
16918         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
16920 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
16922         Pacify compilation -Wincompatible-pointer-types warnings
16923         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
16924         warning.
16925         (CompareStringW_Proc): New typedef.
16926         (w32_compare_strings): Use it, to pacify compiler warnings under
16927         "-Wincompatible-pointer-types".
16928         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
16929         (GetDiskFreeSpaceExA_Proc): New typedefs.
16930         (Ffile_system_info): Use them, to pacify compiler warnings under
16931         "-Wincompatible-pointer-types".
16933 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
16935         Fix subscript error in calculate_direct_scrolling
16936         Use slightly-longer cost vectors.  Without this change,
16937         calculate_direct_scrolling can have a subscript violation when
16938         FRAME_LINES (frame) <= delta.
16939         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
16940         (line_ins_del, do_line_insertion_deletion_costs):
16941         Allocate and use slightly-larger cost vectors, ones based on
16942         FRAME_TOTAL_LINES instead of FRAME_LINES.
16944         Fix uninitalized value in encode_coding_object
16945         * src/coding.c (encode_coding_object): Also initialize
16946         coding->src_pos and coding->src_pos_byte when NILP (src_object).
16947         This avoids later use of uninitialized storage.
16949 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
16951         * doc/lispref/variables.texi (Variable Aliases): Typo fix.
16952         (Bug#21141)
16954 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
16956         Merge from gnulib
16957         This incorporates:
16958         2015-07-27 time_rz: port better to MinGW
16959         2015-07-27 time: port __need_time_t to MinGW
16960         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
16961         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
16962         * lib/time-internal.h: New file, from gnulib.
16964 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
16966         Handle NULL pointers in w32heap.c allocation routines
16967         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
16968         freeable".
16969         (realloc_after_dump, realloc_before_dump, free_before_dump):
16970         Handle NULL pointers gracefully, as Emacs now seems to expect that.
16972         Fix Cairo build without PNG
16973         * src/image.c: Define PNG function when USE_CAIRO is defined, even
16974         if HAVE_PNG is not.  (Bug#21133)
16976         MS-Windows follow-up for recent TZ-related changes
16977         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
16978         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
16979         picking up 'struct timespec' from pthread.h, if it is installed on
16980         the user's system.  We want either the definitions from MinGW
16981         system headers, if available, or the Gnulib replacements if not.
16982         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
16983         lib/time.h.
16984         * lib/time.in.h: Don't let __need_* symbols affect what happens on
16985         MinGW.  These symbols are defined by MinGW system headers, but we
16986         don't want that to affect whether Gnulib portions of the header
16987         are or aren't used.
16989 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
16991         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
16993         New optional ZONE arg for format-time-string etc.
16994         This simplifies time conversions in other time zones.
16995         It also prevents display-time-world tampering with TZ (Bug#21020).
16996         * admin/admin.el (add-release-logs):
16997         Use improved add-log-time-format API.
16998         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
16999         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
17000         * configure.ac (tzalloc): Remove test for this, since
17001         Emacs no longer uses HAVE_TZALLOC directly.
17002         * doc/lispref/os.texi (Time of Day, Time Conversion)
17003         (Time Parsing):
17004         * etc/NEWS: Document the new behavior.
17005         Merge from gnulib, incorporating:
17006         2015-07-25 strftime: fix newly-introduced bug on Solaris
17007         2015-07-23 fprintftime, strftime: use timezone_t args
17008         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
17009         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
17010         * m4/time_h.m4:
17011         Update from gnulib.
17012         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
17013         New files from gnulib.
17014         * lisp/time-stamp.el (time-stamp-string):
17015         * lisp/time.el (display-time-world-list)
17016         (display-time-world-display):
17017         Use new API, with time zone arg.
17018         * lisp/time.el (display-time-world-display):
17019         Fix race when current-time advances while we're running.
17020         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
17021         (add-log-iso8601-time-string): Accept optional time zone arg.
17022         * lisp/vc/add-log.el (add-change-log-entry):
17023         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
17024         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
17025         Add rules for the time module, since they're now needed
17026         for tzalloc etc.
17027         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
17028         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
17029         * src/editfns.c: Include errno.h.
17030         (set_time_zone_rule): Omit unnecessary forward decl.
17031         (initial_tz): Remove, replacing with ...
17032         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
17033         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
17034         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
17035         (tzlookup): New static functions.
17036         (init_editfns): New arg DUMPING.  All uses changed.
17037         (init_editfns): Omit most initialization if dumping, not if
17038         !initialized.  Initialize wall_clock_tz and local_tz.
17039         (emacs_nmemftime, format_time_string): Time zone argument can now
17040         be any time zone, not just a boolean for UTC or local time.  All
17041         callers changed.
17042         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
17043         (Fcurrent_time_zone): New optional arg ZONE.
17044         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
17045         the same form as with the other new additions.
17046         (decode_time_zone): Remove; no longer needed.
17047         (tzvalbuf): Now file-scope.
17048         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
17049         (syms_of_editfns): Define Qwall.
17050         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
17051         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
17052         [!HAVE_TZALLOC]:
17053         Remove; now supplied by gnulib.
17054         * src/emacs.c (main):
17055         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
17057 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
17059         Fix infinite loop in delete-consecutive-dups
17060         * lisp/subr.el (delete-consecutive-dups): Work even if the last
17061         element is nil (Bug#20588).  Avoid rescan of a circular list in
17062         deletion of last element.
17064 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
17066         Have `x-frame-geometry' return nil for terminal and initial
17067         frames (Bug#21132)
17068         * src/nsfns.m (Fx_frame_geometry):
17069         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
17070         terminal frames.
17071         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
17072         (Fx_frame_geometry): Return nil for terminal frames
17074 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
17076         * etc/tutorials/TUTORIAL.ja: Improve translation.
17078 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
17080         Avoid crashes when w32 GUI functions are called in -batch
17081         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
17082         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
17083         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
17085         Fix flyspell-check-previous-highlighted-word
17086         * lisp/textmodes/flyspell.el
17087         (flyspell-check-previous-highlighted-word): Really accept a
17088         numeric argument, as the doc string describes.  Fix an off-by-one
17089         error in looking up overlays, so invocation with point immediately
17090         after a word would check that word.  Clarify the doc string as
17091         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
17093 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
17095         Minor cleanup in tramp-tests.el
17096         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
17097         Implement using the documented interface
17098         `tramp-connection-properties', rather than with internal functions.
17100 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
17102         Pass lambdas to `skeleton-read'
17103         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
17104         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
17105         lambdas to `skeleton-read' (bug#20386).
17107 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
17109         * INSTALL (DETAILED BUILDING AND INSTALLATION):
17110         Mention --without-imagemagick.
17112         Don't require GUI frames and mouse for Flyspell menus
17113         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
17114         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
17115         support, since pop-up menus work with text terminals and can be
17116         controlled via the keyboard.
17118         Improve documentation of Flyspell commands
17119         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
17120         can be invoked via the keyboard.  Mention those commands by name
17121         and add them to the fn index.  (Bug#21125)
17123 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
17125         Fix some Tramp problems with HP-UX
17126         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
17127         Add "tab0" to stty call.
17128         * test/automated/tramp-tests.el (tramp-persistency-file-name):
17129         Set to nil.
17130         (tramp--test-hpux-p): New defun.
17131         (tramp--test-utf8): Use it.
17133 2015-07-22  Glenn Morris  <rgm@gnu.org>
17135         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
17137 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
17139         Fix point positioning in ffap-next-guess
17140         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
17141         as our callers expect.  This was clobbered as part of fixing
17142         bug#5673.  (Bug#21107)
17143         (ffap-gopher-at-point): Set ffap-string-at-point-region.
17145 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
17147         * lisp/window.el (even-window-sizes): Fix customization type.
17149         Optionally even widths of `display-buffer' windows.  (Bug#21100)
17150         * lisp/window.el (quit-restore-window): Restore width if
17151         requested.
17152         (display-buffer-record-window): Record width when window is
17153         reused and horizontally combined.
17154         (even-window-sizes): New option to allow evening window widths.
17155         (even-window-heights): Defalias to `even-window-sizes'.
17156         (window--even-window-heights): Rename to
17157         `window--even-window-sizes'.  Handle side-by-side windows.
17158         (display-buffer-use-some-window): Call `window--even-window-sizes'
17159         instead of `window--even-window-heights'.
17160         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
17161         * doc/lispref/windows.texi (Choosing Window Options): Describe
17162         `even-window-sizes'.
17163         (Coordinates and Windows): Fix typo.
17165 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
17167         Add file name to autoload error messages
17168         * lisp/emacs-lisp/autoload.el (autoload-save-buffers):
17169         Add condition-case to add file name to error message.
17171 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
17173         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
17174         Use 0.0.0.1 as test host.
17176 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
17178         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
17179         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
17180         Fix inf-loop (bug#21083).
17182 2015-07-21  Glenn Morris  <rgm@gnu.org>
17184         * test/automated/package-test.el (package-test-signed):
17185         Update for recent changes.
17187         * test/automated/elisp-mode-tests.el
17188         (elisp-xref-finds-both-function-and-variable)
17189         (elisp-xref-finds-only-function-for-minor-mode):
17190         Update for recent xref name changes.
17192 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
17194         Make eldoc timer non-repeatable
17195         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
17196         non-repeatable.  Since it's on post-command hook, that just wasted
17197         CPU cycles.
17199 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
17201         Mention `tramp-connection-properties' in NEWS
17203         Sync with Tramp repository
17204         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
17205         required prior changing its configuration.
17206         (Connection caching, Predefined connection information)
17207         (Remote shell setup): Fix typos.
17208         (Predefined connection information): Describe, how to overwrite
17209         parameters of `tramp-methods'.
17210         (Remote programs, Remote processes, Traces and Profiles):
17211         Simplify example.
17212         (Remote programs): Remove superfluous comment.
17213         * doc/misc/trampver.texi: Update release number.
17214         * lisp/net/tramp-cache.el (tramp-connection-properties):
17215         Adapt docstring.
17216         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
17217         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
17218         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
17219         "gvfs-mkdir -p ..." does not work robust.
17220         (tramp-gvfs-maybe-open-connection):
17221         Adapt `tramp-get-method-parameter' call.
17222         * lisp/net/tramp-sh.el (tramp-methods):
17223         Add `tramp-remote-shell-login' parameter where it fits.
17224         (tramp-get-remote-path): Use it.
17225         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
17226         (all): Adapt `tramp-get-method-parameter' calls.
17227         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
17228         (tramp-get-method-parameter): Replace argument METHOD by VEC.
17229         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
17230         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
17231         (all): Adapt `tramp-get-method-parameter' calls.
17232         * lisp/net/trampver.el Update release number.
17233         * test/automated/tramp-tests.el (tramp--instrument-test-case):
17234         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
17235         (tramp-test13-make-directory, tramp--test-adb-p)
17236         (tramp--test-smb-or-windows-nt-p): Simplify.
17237         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
17238         (tramp--test-special-characters): Fix docstring.  Add gvfs and
17239         ftp tests.
17240         (tramp--test-utf8): Fix docstring.
17242 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
17244         Add new xref-query-replace command
17245         * lisp/progmodes/xref.el (xref--match-buffer-bounds):
17246         New function, extracted from xref-pulse-momentarily.
17247         (xref-query-replace): New command.
17248         (xref--query-replace-1): New helper function.
17249         (xref--xref-buffer-mode-map): Add `r' binding.
17251 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
17253         Simplify icalendar decoding of Z dates
17254         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
17255         Simplify calculation of time strings with trailing "Z".
17257 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
17259         Do not corrupt grep-find-ignored-files
17260         * lisp/progmodes/project.el (project-ignores): Change the order of
17261         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
17263         Add xref-match-item, and use it
17264         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
17265         (xref-file-location): Add reader for the column slot.
17266         (xref-match-item): New class.
17267         (xref-match-bounds): A method implementation for it.
17268         (xref-make-match): New constructor function.
17269         (xref--current-item): New private variable.
17270         (xref-pulse-momentarily): Use it.
17271         (xref--pop-to-location): Change the first argument to an xref
17272         item, instead of location, bind xref--current-item.
17273         Update all callers.
17274         (xref-next-line, xref-prev-line, xref--next-error-function)
17275         (xref--mouse-2): Look for the property `xref-item',
17276         instead of `xref-location'.
17277         (xref--item-at-point): Likewise.  This function replaces
17278         `xref-location-at-point'.  Update all callers.
17279         (xref--insert-xrefs): Add the `xref-item' text property, instead
17280         of `xref-location'.
17281         (xref--collect-match): Use xref-make-match.
17283         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
17284         Update all references.
17286         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
17287         slot to `summary'.
17289         vc-hg: Perform the print-log call asynchronously
17290         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
17291         asynchronously (bug#21067).
17293         Add xref-after-jump-hook and xref-after-return-hook
17294         * lisp/progmodes/xref.el (xref-after-jump-hook)
17295         (xref-after-return-hook): New hooks.
17296         (xref-pulse-on-jump): Remove, in favor of the above.
17297         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
17298         (xref--pop-to-location, xref--display-position)
17299         (xref-pop-marker-stack): Use the new hooks, as requested in
17300         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
17302 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
17304         * lisp/progmodes/js.el (js-mode): Correct the lighter.
17306 2015-07-19  Leo Liu  <sdl.web@gmail.com>
17308         Fix a bug in cfengine3-mode
17309         * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil
17310         eldoc-documentation-function.
17312 2015-07-18  Julien Danjou  <julien@danjou.info>
17314         sieve-mode: support "body" test command
17315         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
17316         Add missing "body" test command.
17318 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
17320         Fix info-apropos when the default encoding is Latin-N
17321         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
17322         'undecided', so that it is set to the encoding of the Info file we
17323         are about to insert.  Otherwise, 'info-apropos' will fail to find
17324         some index nodes in some UTF-8 encoded files, if the buffer's
17325         previous encoding is Latin-N or some such.
17327 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
17329         * lisp/epg.el (epg--start): Check that gpgconf can be found
17330         before calling it.
17332         Expose more file types to OS X that Emacs understands
17333         * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for
17334         sty, dtx, json, and org files.  Export UTIs for el, elc, and org files.
17336 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
17338         Fix visual-order cursor movement when lines are truncated
17339         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
17340         simulate display in a window of infinite width, to allow move_it_*
17341         functions reach positions outside of normal window dimensions.
17342         Remove code that tried to handle a subset of these situations by
17343         manual iteration of buffer text.  (Bug#17777)
17345         Fix following Info cross-references to anchors
17346         * lisp/info.el (Info-read-subfile): Add to the returned value the
17347         length of subfile preamble, after converting it to file's byte
17348         offset, as expected by the caller.  Use bufferpos-to-filepos.
17349         (Info-find-node-2): If searching for a node with a
17350         1000-character slop fails, try again with a 10000-character slop,
17351         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
17352         * lisp/international/mule-util.el (bufferpos-to-filepos): New
17353         function.
17354         * etc/NEWS: Mention bufferpos-to-filepos.
17356         Fix scrolling backwards on TTY frames under scroll-conservatively
17357         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
17358         in moving backwards on TTY frames.  (Bug#21080)
17360 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
17362         Consider a jsdoc tag to be a beginning of a paragraph as well
17363         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
17364         consider a jsdoc tag to be a beginning of a paragraph as well.
17366 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
17368         * lisp/emacs-lisp/package.el: Fix warnings.
17370         * lisp/emacs-lisp/package.el (package-buffer-info):
17371         Add author and maintainers to `package-buffer-info'.
17373         * lisp/emacs-lisp/package.el: Many small changes.
17374         Replace all instances of 'face with 'font-lock-face.
17375         (describe-package-1): Improve some strings and move the summary
17376         up the list.
17377         (package-install-file): Update docstring.
17378         (package-menu-hide-package): Bind to `H'.
17380         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
17381         Fix error handling.
17383 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
17385         Fix hang with large yanks This should fix the bug fixed by Mike
17386         Crowe's patch in:
17387         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
17388         A problem in this area has been reported by several users; see
17389         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
17390         This fix differs from Mike Crowe's patch in that it should avoid a
17391         race condition that could lose SIGIO signals.  ignore_sigio dates
17392         back to the 1980s when some platforms couldn't block signals, and
17393         could only ignore them, which led to races when signals arrived
17394         while being ignored.  We shouldn't have to worry about those old
17395         platforms now.
17396         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
17397         * src/emacs.c (shut_down_emacs):
17398         Don't call ignore_sigio; unrequest_sigio should suffice.
17399         * src/keyboard.c (kbd_buffer_store_buffered_event):
17400         Use unrequest_sigio, not ignore_sigio.
17401         (kbd_buffer_get_event):
17402         Call request_sigio when getting the ball rolling again.
17404 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
17406         * lisp/obsolete/longlines.el (longlines-search-function):
17407         Fallback on `isearch-search-fun-default'.
17409 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
17411         Support @-mentions
17412         * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion
17413         of mentions/messages with @nick instead of just nick.
17415 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
17417         Fix bug#20943
17418         * lisp/autorevert.el (auto-revert-handler): Do not check for
17419         `buffer-modified-p'.
17420         * lisp/files.el (buffer-stale--default-function): Check for
17421         `buffer-modified-p'.
17422         * test/automated/auto-revert-tests.el
17423         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
17425 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
17427         Fix delete-dups bug on long lists
17428         * lisp/subr.el (delete-dups):
17429         Don't mistakenly keep some dups when applied to long lists.
17431 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17433         Better heuristic for C stack overflow
17434         Improve the heuristic for distinguishing stack overflows from
17435         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
17436         the getrlimit method wasn't portable to Cygwin; see:
17437         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
17438         Corinna suggested pthread_getattr_np but this also has problems.
17439         Instead, replace the low-level system stuff with a simple
17440         heuristic based on known good stack addresses.
17441         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
17442         * src/sysdep.c: Don't include <sys/resource.h>.
17443         (stack_direction): Remove.  All uses removed.
17444         (stack_overflow): New function.
17445         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
17446         Make SEGV fatal in non-main threads.
17448 2015-07-16  Daiki Ueno  <ueno@gnu.org>
17450         epg: Automatically start pinentry server
17451         * lisp/epg-config.el (epg-gpgconf-program): New variable.
17452         * lisp/epg.el (epg--start): Call `pinentry-start' if
17453         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
17455 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
17457         * lisp/gnus/nnimap.el: Fix my last bogus change.
17458         Reinstall Stefan Monnier's change that was made in
17459         <83d824bc4041332f338ad7e5e830f443535aa300>.
17461 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
17463         Merge from gnulib
17464         This incorporates:
17465         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
17466         2015-07-05 acl-permissions: Fix on FreeBSD
17467         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
17468         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
17469         * lib/set-permissions.c: Copy from gnulib.
17471         Port to stricter C99
17472         * src/keyboard.h (kbd_buffer_store_event_hold):
17473         Don't return a void expression.
17475 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
17477         * doc/emacs/frames.texi (Creating Frames):
17478         Fix the command `C-x 5 m' runs.
17480 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
17482         New autorevert tests
17483         * test/automated/auto-revert-tests.el: New file.
17485 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
17487         Clear gcprolist etc. after stack overflow
17488         After stack overflow, command_loop calls init_eval, and this needs to
17489         clear gcprolist and byte_stack_list (Bug#20996).
17490         * src/alloc.c (init_alloc):
17491         Move gcprolist and byte_stack_list initialization from here ...
17492         * src/eval.c (init_eval): ... to here.
17494 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
17496         * doc/emacs/windows.texi (Pop Up Window): Fix the description
17497         of `C-x 4 m'.
17499 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
17501         Avoid deprecated enums in mac-ct font backend driver
17502         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
17503         (mac_ctfont_get_advance_width_for_glyph)
17504         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
17506         Cache font family in mac-ct font backend driver
17507         * src/macfont.m (macfont_family_cache): New variable.
17508         (syms_of_macfont): Initialize it.
17509         (macfont_available_families_cache): New variable.
17510         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
17511         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
17512         (macfont_handle_font_change_notification)
17513         (macfont_init_font_change_handler)
17514         (macfont_copy_available_families_cache): New functions.
17515         (macfont_create_family_with_symbol): Use font family caches.
17516         (macfont_list, macfont_list_family):
17517         Use macfont_copy_available_families_cache instead of
17518         mac_font_create_available_families.
17520 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
17522         Show the default value in the prompt
17523         * lisp/progmodes/xref.el: Add `M-?' binding for
17524         xref-find-references.  Declare functions `grep-read-files' and
17525         `grep-expand-template'.
17526         (xref--read-identifier): Show the default value in the prompt.
17528         * lisp/progmodes/xref.el (xref-find-regexp): When called with
17529         prefix argument, ask for file patterns to search as well.  When
17530         prompting for the directory, require an existing one.
17531         (xref-collect-matches): Add a new argument, FILES.  Use it in the
17532         above function.
17534         Add `project-ignores'
17535         * lisp/progmodes/project.el (project-ignores): New generic
17536         function, and an implementation for the VC project type.
17537         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
17538         variant of rgrep-default-command that handles a generic list of
17539         ignores.
17540         (xref-collect-matches): Use it, and pass through to it the value
17541         of the newly added argument.
17542         (xref-find-regexp): Handle ignored paths within the project.
17543         Remove outdated comment.
17544         * lisp/vc/vc.el (vc-default-ignore-completion-table):
17545         Skip the comments and the empty lines.
17547 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
17549         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
17551 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
17553         gnus-registry.el: Correct function argument order
17554         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
17555         Reverse the order of function arguments.
17557 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
17559         Bind grep-highlight-matches to nil
17560         * lisp/progmodes/xref.el (xref-collect-matches):
17561         Bind grep-highlight-matches to nil (bug#20728).
17563 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
17565         nnimap.el: Fix IMAP message size parsing
17566         * lisp/gnus/nnimap.el (nnimap-transform-headers):
17567         Don't assume that UID comes before RFC822.SIZE.
17569 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
17571         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
17572         (auth-source-creation-prompts): Declare.
17573         (nnimap-retrieve-headers, nnimap-status-message)
17574         (nnimap-request-create-group, nnimap-request-delete-group)
17575         (nnimap-close-group, nnimap-request-move-article)
17576         (nnimap-request-accept-article, nnimap-request-newgroups)
17577         (nnimap-request-post, nnimap-dummy-active-number)
17578         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
17579         (nnimap-parse-flags): Remove unused var `p'.
17580         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
17581         (nnimap-flags-to-marks): Remove unused var `totalp'.
17583 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
17585         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
17587 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
17589         * src/macfont.m (macfont_list): Ignore font families lacking
17590         font descriptors.
17592 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
17594         Don't check the exit status, it can be misleading
17595         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
17596         exit status, it can be misleading.
17598         Introduce a Project API
17599         * lisp/progmodes/project.el: New file.
17600         * lisp/cedet/ede.el (project-try-ede): New function.
17601         (project-root): New implementation.
17602         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
17603         Set project-search-path-function.
17604         (elisp--xref-find-references): Delegate some logic to
17605         project-search-path.
17606         (elisp-search-path): New function.
17607         (elisp-xref-find): Don't implement `matches' anymore.
17608         * lisp/progmodes/etags.el: Don't implement `matches'.
17609         Delegate some logic to project-search-path.
17610         (etags-search-path): New function.
17611         * lisp/progmodes/xref.el (xref-find-function):
17612         Remove `matches' from the API.
17613         (xref-find-regexp): Move whatever common logic was in elisp and
17614         etags implementations, and search the directories returned by
17615         project-directories and project-search-path.
17617 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
17619         * test/automated/map-tests.el (test-map-delete-return-value):
17620         Uncomment test.
17622         Add support for gv.el in map.el
17623         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
17624         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
17625         * test/automated/map-tests.el: Update tests to work with the new
17626         implementations of map-elt and map-put.
17628 2015-07-09  Glenn Morris  <rgm@gnu.org>
17630         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
17632 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
17634         Syntax-propertize until the end of the line first
17635         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
17636         until the end of the line first.
17638 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
17640         * doc/emacs/files.texi (File Archives): Add a cross reference.
17642 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
17644         nnimap.el: Handle plain value for nnimap-stream
17645         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
17646         capabilities, so that a 'plain value for the `nnimap-stream' server
17647         variable is handled correctly.
17648         * doc/misc/gnus.texi (Customizing the IMAP Connection):
17649         Document the 'plain option.
17651 2015-07-08  Leo Liu  <sdl.web@gmail.com>
17653         Fix bug in thing-at-point--bounds-of-well-formed-url
17654         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
17655         sure boundary contains current point.
17657 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
17659         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse'
17660         in the end.
17662         Declare whitespace-line-column a safe file-local
17663         * lisp/whitespace.el (whitespace-line-column): Declare to be a
17664         safe file-local when the value is an integer.
17666 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
17668         gnus-group.el: Check if group names are already strings
17669         * lisp/gnus/gnus-group.el (gnus-group-group-name):
17670         The group name may already be a string.
17671         Specifically, in the group list reached from the *Server* buffer,
17672         the 'gnus-group text property returns a string.  Everywhere else
17673         it returns a symbol.
17675         nnimap.el: Remove unused let variables
17676         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
17678 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
17680         Support "maximized" property of runemacs's shortcut
17681         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
17682         the '--maximized' switch to Emacs.
17684         Support "minimized" property of runemacs's shortcut
17685         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
17686         pass the '--iconic' switch to Emacs.  (Bug#20991)
17688 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
17690         Doc fixes
17691         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
17692         C-w' in Diff mode.
17693         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
17694         Add a cross reference.
17696 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
17698         * lisp/obsolete/landmark.el: Add Obsolete-since header.
17700 2015-07-07  Glenn Morris  <rgm@gnu.org>
17702         * test/automated/ert-tests.el (ert-test-deftest):
17703         Update for recent changes.
17705 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17707         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
17708         * lisp/emacs-lisp/gv.el (gv-setter): New function.
17709         (gv-invalid-place): New error.
17710         (gv-get): Use them.
17711         (gv-synthetic-place, gv-delay-error): New places.
17712         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
17713         (cl-defgeneric, cl-defmethod): Use gv-setter.
17715 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
17717         Make vc-tests work with MSYS svn program
17718         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
17719         svn is an MSYS program.
17721 2015-07-07  Ken Brown  <kbrown@cornell.edu>
17723         Improve recent change to emacsclient on Cygwin
17724         * lisp/server.el (server-process-filter): Remove redundant check
17725         that 'cygwin-convert-file-name-from-windows' is defined as a
17726         function on Cygwin.  Don't call that function unless its argument
17727         starts with a drive letter.
17729 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
17731         * lisp/emacs-lisp/package.el (package-compute-transaction):
17732         Fix void variable due to `found-something' being in the wrong `let'.
17734 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
17736         * lisp/play/landmark.el: Move to lisp/obsolete/.
17738 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
17740         Have `x-show-tip' handle `right' and `bottom' frame parameters
17741         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
17742         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
17743         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
17744         tooltips also via `right' and `bottom' frame parameters.
17746 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17748         Add online-help support to describe types
17749         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
17750         (describe-symbol): Improve the selection of default.
17751         * lisp/help-mode.el: Require cl-lib.
17752         (describe-symbol-backends): Move from help-fns.el.
17753         (help-make-xrefs): Use it.
17754         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
17755         for types.
17756         (cl--typedef-regexp): New const.
17757         (find-function-regexp-alist): Add entry for types.
17758         (cl-help-type, cl-type-definition): New buttons.
17759         (cl-find-class): New function.
17760         (cl-describe-type): New command.
17761         (cl--describe-class, cl--describe-class-slot)
17762         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
17763         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
17764         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
17765         New functions.  Moved from eieio-opt.el.
17766         (cl--generic-class-parents): New function, extracted from
17767         cl--generic-struct-specializers.
17768         (cl--generic-struct-specializers): Use it.
17769         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
17770         Improve constructor's docstrings.
17771         (cl-struct-unknown-slot): New error.
17772         (cl-struct-slot-offset): Use it.
17773         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
17774         definition in current-load-list.
17775         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
17776         (eieio--add-new-slot): Set it.
17777         (eieio-defclass-internal): Use new name for current-load-list.
17778         (eieio-oref): Add compiler-macro to warn about unknown slots.
17779         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
17780         as compile-time as well.  Improve constructor docstrings.
17781         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
17782         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
17783         (eieio-class-def): Remove button.
17784         (eieio-help-constructor): Use new name for load-history element.
17785         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
17786         (eieio-method-documentation): Move to cl-generic.el.
17787         (eieio-display-method-list): Use new names.
17788         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
17789         Add "define-linline".
17790         (lisp-fdefs): Remove "defsubst".
17791         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
17792         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
17793         (macroexp--warn-and-return): Use it to avoid inf-loops.
17794         Add `compile-only' argument.
17796 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17798         python.el: Fix local/remote shell environment setup
17799         * lisp/progmodes/python.el (python-shell-with-environment):
17800         Fix remote/local environment setup.
17801         * test/automated/python-tests.el (python-shell-with-environment-1)
17802         (python-shell-with-environment-2): New tests.
17804 2015-07-06  Glenn Morris  <rgm@gnu.org>
17806         * lisp/simple.el (set-variable): Tweak recent doc fix.
17808 2015-07-06  Ken Brown  <kbrown@cornell.edu>
17810         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE.
17812 2015-07-06  Glenn Morris  <rgm@gnu.org>
17814         * lisp/simple.el (set-variable): Use user-error for type mismatch.
17816 2015-07-06  Ken Brown  <kbrown@cornell.edu>
17818         * src/emacs.c (main): Don't increase the stack size on Cygwin.
17820 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
17822         (describe-symbol): Rewrite describe-function-or-variable
17823         * lisp/help-fns.el (describe-symbol-backends): New var.
17824         (help-xref-stack-item): Declare.
17825         (describe-symbol): Rename from describe-function-or-variable.
17826         Rewrite using describe-symbol-backends instead of help-xref-interned.
17827         * lisp/help.el (help-map): Use it.
17828         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
17829         (help-xref-interned): Make it into an obsolete alias.
17831         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
17832         `file' arg (bug#20972).  Always use utf-8-emacs.  Use with-temp-buffer
17833         and cl-letf.
17835 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
17837         Fix parsing glitches in dired-mark-sexp (bug#13575)
17838         * lisp/dired-x.el (dired-x--string-to-number): New function.
17839         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
17840         of directory-listing-before-filename-regexp.  Consider
17841         forward-word harmful and replace it.  Add more verbiage in
17842         comments and doc string.
17844 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17846         python.el: Respect process environment for remote shells
17847         * lisp/progmodes/python.el
17848         (python-shell-calculate-process-environment): Calculate
17849         process-environment or tramp-remote-process-environment depending
17850         whether current file is remote.
17851         (python-shell-calculate-exec-path): Calculate exec-path or
17852         tramp-remote-path depending whether current file is remote.
17853         (python-shell-with-environment): New macro.
17854         (python-shell-prompt-detect, python-shell-calculate-command)
17855         (python-shell-make-comint, python-check): Use it.
17857         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
17858         * lisp/progmodes/python.el (python-shell--interpreter)
17859         (python-shell--interpreter-args): New vars.
17860         (inferior-python-mode, python-shell-make-comint): Use them.
17862         python.el: Fixes for IPython 3.x  (Bug#20580)
17863         * lisp/progmodes/python.el:
17864         (python-shell-completion-native-setup): Fix IPython 3.x setup.
17865         (python-shell-completion-native-get-completions): Fix timeout
17866         logic.
17868         python.el: Fix mark-defun behavior  (Bug#19665)
17869         * lisp/progmodes/python.el (python-mark-defun): New function.
17870         * test/automated/python-tests.el (python-mark-defun-1)
17871         (python-mark-defun-2, python-mark-defun-3): New tests.
17873 2015-07-05  Glenn Morris  <rgm@gnu.org>
17875         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
17876         such as "extends(parent), private".  (Bug#20969)
17877         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
17878         New tests.
17880 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
17882         Avoid duplicate calls to current_timespec
17883         * src/process.c (wait_reading_process_output):
17884         Cache current_timespec results as long as we're not waiting.
17886 2015-07-05  Ian Kelling  <ian@iankelling.org>
17888         Avoid returning early reading process output due to SIGIO
17889         * src/process.c (wait_reading_process_output): Extend the behavior of
17890         not breaking due to not finding output when a timer has lowered the
17891         timeout to include when SIGIO lowers the timeout.
17893         Don't return as fast reading any process output
17894         * src/process.c (wait_reading_process_output):
17895         The patch for Bug#17647 returns too fast sometimes when reading
17896         from any processes.  Revert part of it, and limit the timeout more
17897         sensibly (Bug#20978).
17899         Refactor timeouts in wait_reading_process_output
17900         * src/process.c (wait_reading_process_output):
17901         Simplify timeouts with an enum.  Remove a redundant condition.
17902         (Bug#20978)
17904         Remove ADAPTIVE_READ_BUFFERING ifdef
17905         * src/process.c (make-process, make-pipe-process, deactivate_process)
17906         (wait_reading_process_output, read_process_output, send_process)
17907         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
17908         added in case there was an operating system in which it was not
17909         useful.  That was 11 years ago and it hasn't happened.  Make
17910         development easier by not considering the effect of changes on a
17911         theoretical OS where this is disabled (Bug#20978).
17913 2015-07-05  Glenn Morris  <rgm@gnu.org>
17915         * lisp/simple.el (set-variable): Doc fix.
17917         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
17919 2015-07-05  Ian Kelling  <ian@iankelling.org>
17921         accept-process-output fix
17922         This is a followon to the fix for bug#17647 (Bug#20976).
17923         * src/process.c (status_notify): Fix too high return in some cases.
17925 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
17927         * lisp/character-fold.el (character-fold-table):
17928         Only fold decompositions if at least one character is non-spacing.
17929         (Bug#20975)
17931 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
17933         Merge from gnulib
17934         This incorporates:
17935         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
17936         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
17937         2015-07-02 update-copyright: fix test failure with perl >= 5.22
17938         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
17939         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
17940         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
17941         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
17943 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
17945         Respect `prog-indentation-context' in python.el
17946         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
17947         (python-indent-context, python-indent--calculate-indentation)
17948         (python-info-current-defun)
17949         (python-info-dedenter-opening-block-message)
17950         (python-info-line-ends-backslash-p)
17951         (python-info-beginning-of-backslash)
17952         (python-info-continuation-line-p): Use `prog-widen'.
17953         (python-indent--calculate-indentation)
17954         (python-indent--calculate-levels)
17955         (python-indent-calculate-indentation): Use `prog-first-column'.
17956         (python-indent--calculate-levels): Simplify.
17957         Ignore also initial empty lines for syntax calculation.
17958         * lisp/progmodes/python.el (python-indent-context): Return
17959         :no-indent for first non-empty line, not just in line 1.
17960         * test/automated/python-tests.el (python-indent-base-case)
17961         (python-indent-inside-paren-1, python-indent-inside-paren-2)
17962         (python-indent-inside-paren-3, python-indent-inside-paren-4)
17963         (python-indent-inside-paren-5, python-indent-inside-paren-6)
17964         (python-indent-after-backslash-1)
17965         (python-indent-after-backslash-2)
17966         (python-indent-after-backslash-3)
17967         (python-indent-after-backslash-4, python-indent-inside-string-1):
17968         Expect :no-indent for first non-empty line.
17970 2015-07-04  Daniel Colascione  <dancol@dancol.org>
17972         Factor isearch word description into new function
17973         * lisp/isearch.el (isearch--describe-word-mode): New function.
17974         (isearch-message-prefix, isearch-query-replace): Use it.
17976 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
17978         Fix mouse pointer on w32 when a menu is active
17979         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
17980         shape while a menu is in use.  This started happening since we now
17981         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
17983 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
17985         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
17986         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
17987         parameter.  (Bug#17344)
17989         Have `compilation-set-window' use right window for getting fringes
17990         (Bug#20829)
17991         * lisp/progmodes/compile.el (compilation-set-window):
17992         Take `window-fringes' from argument window.
17994 2015-07-03  Glenn Morris  <rgm@gnu.org>
17996         Update eieio tests for recent eieio-core change.
17997         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
17998         * test/automated/eieio-tests.el
17999         (eieio-test-32-slot-attribute-override-2):
18000         Replace the deleted eieio--class-v with cl--find-class.
18002 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
18004         Fix some issues with `window-divider-mode'
18005         * lisp/frame.el (window-divider-default-places): New option.
18006         (window-divider-mode): Remove option.
18007         (window-divider-mode): Make it a "regular" minor mode.
18008         (window-divider-width-valid-p): Drop frame- prefix.
18009         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
18010         prefix.  Handle `window-divider-default-places'.
18011         (frame--window-divider-mode-set-and-apply): Remove.
18012         (window-divider-default-bottom-width)
18013         (window-divider-default-right-width): Drop :group entries.
18014         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
18015         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
18016         (menu-bar-no-window-divider): Set `window-divider-default-places'
18017         and call `window-divider-mode'.
18018         * doc/emacs/frames.texi (Window Dividers): Document
18019         `window-divider-default-places'.
18021 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
18023         * doc/emacs/display.texi (Displaying Boundaries):
18024         * doc/emacs/search.texi (Word Search): Add cross references.
18026 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
18028         -batch should not affect ‘’ -> `' display
18029         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
18030         -batch (Bug#20926).
18032 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
18034         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
18035         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el:
18036         * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
18037         Use cl--find-class instead.
18039         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
18041 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
18043         Some further fixes in Change Window node (Bug#20183)
18044         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
18045         by "resizing" in section title.  Add some concept indices.
18046         Suggested by N. Jackson (Bug#20183).
18048         * doc/emacs/windows.texi (Change Window): Reference window
18049         dividers.
18051         Document new `window-divider-mode'.
18052         * lisp/frame.el (window-divider-mode): Fix doc-string.
18053         * doc/emacs/frames.texi (Window Dividers): New section.
18055         Improve accessibility of window dividers (Bug#20183)
18056         * lisp/faces.el (window-divider)
18057         (window-divider-first-pixel, window-divider-last-pixel): Change
18058         membership from `frames' to `window-divider' customization group.
18059         * lisp/frame.el (window-divider): New customization group.
18060         (window-divider-mode): New minor mode.
18061         (window-divider-default-bottom-width)
18062         (window-divider-default-right-width): New options.
18063         (frame--window-divider-previous-mode): New variable.
18064         (frame-window-divider-width-valid-p)
18065         (frame--window-divider-mode-apply)
18066         (frame--window-divider-mode-set-and-apply): New functions.
18067         * lisp/menu-bar.el (menu-bar-options-save): Save
18068         window-divider-mode settings.
18069         (menu-bar-window-divider-customize)
18070         (menu-bar-bottom-and-right-window-divider)
18071         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
18072         (menu-bar-no-window-divider): New functions.
18073         (menu-bar-showhide-window-divider-menu): New variable.
18074         (menu-bar-showhide-menu): Show/hide window divider menu.
18075         * lisp/mouse.el (mouse-split-window-vertically)
18076         (mouse-split-window-horizontally): Replace `error' by
18077         `user-error'.  Bind `window-combination-resize' to nil.
18078         (top-level): Add/reorder mouse key bindings on mode- and
18079         vertical-line.
18081 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
18083         Don't display ‘’ as `' under X in en_GB
18084         The curved quote setup code invokes (char-displayable-p ?‘),
18085         but this isn’t reliable until after the X frame replaces the
18086         terminal frame (Bug#20926).
18087         * lisp/international/mule-cmds.el (set-locale-environment):
18088         Move curved quote setup code from here ...
18089         * lisp/startup.el (command-line): ... to here, after creating
18090         the X frame.
18092 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
18094         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring.
18096         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
18097         to reverse the meaning (Bug#15631).
18099 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
18101         Be more tolerant to fonts named "Foobar-12"
18102         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
18103         don't barf; instead, request a new fontset to be generated.  This
18104         avoids unnecessarily rejecting fonts named against XLFD rules.  See
18105         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
18106         for the description of the original problem.
18107         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
18108         by a hyphen in a font's name.
18110         Fix value of posn-at-pont in R2L lines
18111         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
18112         coordinate of -1, for a newline in a right-to-left line that
18113         overflowed into the left fringe.
18115 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
18117         (cl--copy-slot-descriptor): Copy the `props' alist as well
18118         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
18119         Rename from cl--copy-slot-descriptor.
18120         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
18122 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
18124         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
18125         (xterm-query-timeout): New var.
18126         (xterm--query): Use it.  Fallback on async method if we timeout before
18127         getting the first byte of the reply (bug#12354).
18129 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18131         Spelling fixes
18132         * lisp/character-fold.el (character-fold-search):
18133         * lisp/emacs-lisp/package.el (package-hidden-regexps):
18134         Fix typos.
18136 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
18138         * doc/emacs/frames.texi (Frame Commands): Typo fix.  (Bug#20946)
18140 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18142         In strings, prefer plain ` and ' to \` and \'
18143         * lisp/allout.el (allout-insert-listified):
18144         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
18145         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
18146         (ls-lisp-string-lessp):
18147         * lisp/menu-bar.el (menu-bar-open):
18148         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
18149         * lisp/progmodes/compile.el (compile):
18150         * lisp/progmodes/etags.el (tags-loop-scan):
18151         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
18152         * lisp/subr.el (posn-actual-col-row):
18153         * lisp/term/pc-win.el (x-list-fonts):
18154         * lisp/textmodes/texinfmt.el (texinfmt-version):
18155         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
18156         * lisp/time.el (display-time-world-list):
18157         * lisp/tmm.el (tmm-menubar):
18158         * src/buffer.c (syms_of_buffer):
18159         * src/fileio.c (syms_of_fileio):
18160         Omit unnecessary and confusing backslash before quote.
18161         * lisp/erc/erc.el (erc-cmd-LASTLOG):
18162         * lisp/progmodes/flymake.el (flymake-fix-file-name):
18163         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
18164         Fix string that was intended to escape a backslash and not a quote.
18166 2015-06-30  Glenn Morris  <rgm@gnu.org>
18168         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
18170         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
18171         Replace hard-coded lists with wildcard + filter-out.
18173         * configure.ac (system-configuration-features): Add X11, NS.
18175         Improve reproducibility of generated loaddefs file
18176         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
18177         Make the return value the modtime of the input file (if no autoloads).
18178         (update-directory-autoloads): In the "no autoloads" section,
18179         use "most recent modtime" rather than "current time".
18181 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
18183         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic.
18184         (Bug#20930)
18186 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
18188         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
18190         Add seq-min and seq-max
18191         Bump version number.
18192         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
18193         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
18195 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
18197         Make sure sleep-for always delays for as long as it's told
18198         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
18199         a loop, to ensure we always wait exactly the required amount of
18200         time.  (Bug#15990)
18202 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18204         Fix pointer signedness glitch
18205         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
18207 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
18209         Don't block changes in mouse pointer inside 'track-mouse'
18210         * etc/NEWS:
18211         * doc/lispref/frames.texi (Mouse Tracking): Document the special
18212         effect of setting 'track-mouse' to 'dragging'.
18213         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
18214         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
18215         * lisp/mouse-drag.el (mouse-drag-throw):
18216         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
18217         to avoid changes in the shape of the mouse pointer.
18218         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
18219         pointer shape when do_mouse_tracking has the value of 'dragging',
18220         not just any non-nil value.  (Bug#20934)
18221         (syms_of_xdisp): DEFSYM 'dragging'.
18223 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
18225         * lisp/isearch.el (isearch-toggle-word): Fix toggle.
18227         * lisp/emacs-lisp/package.el (package-compute-transaction):
18228         Don't assume version sorting.
18230         * lisp/emacs-lisp/package.el (package--save-selected-packages):
18231         Don't save before init time, to avoid overwriting configurations.
18232         (Bug#20855)
18234 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
18236         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
18237         references.
18239 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
18241         Update for the upcoming CFEngine 3.7 release: support macros and
18242         quoted context strings; reformat JSON; indent promise attributes 2
18243         units by default; give function parameter descriptions in the eldoc
18244         glue.
18245         * lisp/progmodes/cfengine.el: Update version and docs and fix name.
18246         Autoload `json-pretty-print'.  Support new features in 3.7.
18247         (cfengine-parameters-indent): Set default promise attribute indent to
18248         2 more than the promise itself.
18249         (cfengine3-macro-regex): New variable to match the new macro syntax.
18250         (cfengine3-font-lock-keywords): Use it to highlight macros.
18251         (cfengine3-indent-line): Use it to indent macros to column 0.
18252         (cfengine3-class-selector-regex): Update for the new quoted strings
18253         format.
18254         (cfengine3-reformat-json-string): New function to reformat a JSON
18255         string using `json-pretty-print'.
18256         (cfengine3-format-function-docstring): Use function parameter
18257         description if it's provided by the cf-promises syntax dump.
18259 2015-06-29  Michael R. Mauger  <michael@mauger.com>
18261         Cygwin emacsclient handles w32 file names
18262         * lisp/server.el (server-process-filter): Allow Cygwin's
18263         emacsclient to be used as a file handler on MS-Windows.
18265 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
18267         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice
18268         (bug#20925).
18270 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
18272         * doc/lispref/text.texi (Sticky Properties): Improve wording.
18273         (Bug#20924)
18275         Allow font names that end in "-NN", where NN is a number
18276         * src/font.c (font_load_for_lface): If the font-spec didn't match
18277         any available fonts, try again without interpreting trailing "-NN"
18278         as the font size.  For the description of the original problem, see
18279         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
18281         .gdbinit followup to changes in !USE_LSB_TAG
18282         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
18283         !USE_LSB_TAG, as Emacs no longer does.
18285 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
18287         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
18288         Otherwise `s p' of f and F will stomp on each other's value.
18289         (Bug#20916)
18291 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
18293         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
18294         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
18296 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
18298         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point
18299         as additional guess.
18301         * lisp/emacs-lisp/package.el (describe-package): Convert the guess
18302         to a string.
18304 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
18306         apropos-library quoting fix
18307         * lisp/apropos.el (apropos-library): Quote library consistently
18308         with the rest of the quoting used by apropos.
18310         Clarify interpreter-mode-alist doc
18311         * lisp/files.el (interpreter-mode-alist):
18312         Reword to avoid confusing quoting that wasn't working anyway.
18314 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
18316         Sync with Tramp 2.2.12
18317         * doc/misc/trampver.texi:
18318         * lisp/net/trampver.el: Update release number.
18319         * test/automated/tramp-tests.el (tramp-test13-make-directory):
18320         Fix cleanup.
18322 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
18324         * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913).
18326 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
18328         Bind grep-highlight-matches around the rgrep call
18329         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
18330         around the rgrep call (bug#20728).
18332         Put "--color" before the other options in grep-command
18333         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
18334         before the other options in grep-command (bug#20912).
18336         Add --color Grep option to the command dynamically
18337         * lisp/progmodes/grep.el (grep-template, grep-find-template):
18338         Update the description for <C>.  (Bug#20728)
18339         (grep-compute-defaults): Don't add the --color option to
18340         grep-options.  Only add it to grep-command.
18341         (grep-expand-keywords): Expand the env value opts into <C>.
18342         (grep-expand-template): Replace cf in the env with the opts list,
18343         that can include -i and --color.
18344         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
18345         "--color=always" from the template, because we don't have to.
18347 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
18349         cl-extra fixes for most-negative-fixnum
18350         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
18351         Don't mishandle an argument equal to most-negative-fixnum,
18352         whose absolute value equals itself.
18353         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
18355         Initialize cl--gensym-counter to 0
18356         Previously it was initialized to a random value, which made it
18357         harder to reproduce earlier Emacs runs.  The need for a random
18358         value went away when Emacs introduced and used the #: syntax for
18359         uninterned symbols (Bug#20862).
18360         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
18361         Document that cl--gensym-counter now starts with 0.
18362         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
18363         (cl--random-time): Move to near only remaining use.
18364         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
18366         Improve docstring for macroexp-let2
18367         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
18368         Improve as per suggestion by RMS in:
18369         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
18370         Also, rename args to match new doc string.
18372 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
18374         Fix VC test suite on MS-Windows
18375         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
18376         always starts with 3 slashes after the colon.
18377         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
18378         'w32-application-type' to invoke CVS on MS-Windows with properly
18379         formatted CVSROOT directory name.
18381         Add a new function w32-application-type
18382         * src/w32proc.c (Fw32_application_type): New function.
18384         Avoid error in TLS connections due to incorrect format
18385         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
18386         the call to 'error', instead of the unsupported %u.  Reported by
18387         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
18389 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
18391         * lisp/replace.el (replace-search): Fix regexp case (bug#20901).
18393 2015-06-26  Leo Liu  <sdl.web@gmail.com>
18395         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
18396         `with-output-to-string' in elisp.
18398         Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of
18399         with-output-to-string".
18400         This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
18402 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
18404         Minor corrections in ELisp manual
18405         * doc/lispref/nonascii.texi (Character Properties): Correct
18406         inaccuracies in description of values of the Unicode properties.
18408         Fix invisible mouse pointers on Windows.
18409         * src/w32fns.c: Include windowsx.h.
18410         (w32_wnd_proc): If the mouse moved and the mouse pointer is
18411         invisible, make it visible again even when the main (Lisp)
18412         thread is busy.
18413         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
18414         garbaging the frame have the input thread call SetCursor.
18416 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
18418         Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922)
18419         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
18420         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
18421         * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible.
18422         (w32_toggle_invisible_pointer): New function.
18423         (w32_create_terminal): Add w32_toggle_invisible_pointer as
18424         toggle_invisible_pointer_hook for this terminal.
18426 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
18428         Doc fix for deletion commands
18429         'delete-char' does not respect the value of 'delete-active-region'.
18430         * doc/emacs/killing.texi (Deletion):
18431         Fix documentation for some single-char deletion commands.
18433         * doc/emacs/help.texi (Apropos):
18434         Improve documentation of 'apropos-do-all'.
18436         * doc/emacs/help.texi (Help Summary):
18437         Improve documentation of 'describe-mode'.
18439 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18441         Fix submake dependency bug with .h files
18442         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
18443         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
18444         before the submake in $(libsrc) would spin off a subsubmake
18445         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
18447 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
18449         * lisp/character-fold.el (character-fold-table): Reuse `table'.
18451 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18453         Translate undisplayable ‘ to `
18454         * doc/lispref/help.texi (Keys in Documentation):
18455         * lisp/international/mule-cmds.el (set-locale-environment):
18456         * lisp/term/w32console.el (terminal-init-w32console):
18457         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
18458         If ‘ is not displayable, transliterate it to `, not to '.  See:
18459         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
18461         Fix C99 incompatibilities in Cairo code
18462         * src/image.c (xpm_load) [USE_CAIRO]:
18463         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
18464         Fix pointer signedness problem.
18466 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
18468         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
18469         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
18470         `with-output-to-string' should have the same indent as `progn'.
18471         This is in line with the declaration of `with-output-to-string'.
18473 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
18475         Get ‘./configure; make -C src emacs’ to work
18476         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
18477         * lib-src/Makefile.in (../lib/libgnu.a):
18478         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
18480 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18482         Fix GC bugs --with-wide-int and Qnil == 0
18483         Use the same alignment for the !USE_LSB_TAG case as for the
18484         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
18485         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
18486         once we changed the representation of symbols so that Qnil == 0.
18487         Problem reported by Eli Zaretskii (Bug#20862).
18488         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
18489         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
18490         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
18491         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
18492         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
18493         This optimization in the !USE_LSB_TAG case is no longer valid when
18494         symbols are represented via offsets.  Change the only use to
18495         assume that pointers might hide in objects.
18496         * src/lisp.h (alignas) [!USE_LSB_TAG]:
18497         Require support in this case, too.
18498         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
18499         This is OK, because the !USE_LSB_TAG case now applies only when
18500         Lisp_Object is wider than void *, so there's no longer any need
18501         to shift the offset.  Not shifting the offset means that
18502         symbol representations have the same alignment as pointers,
18503         which the GC assumes.
18505 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
18507         * doc/lispintro/emacs-lisp-intro.texi (Data types):
18508         Improve documentation of 'substring'.
18510 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
18512         * lisp/character-fold.el (character-fold-table): Fix table generation.
18514 2015-06-24  Glenn Morris  <rgm@gnu.org>
18516         * nextstep/Makefile.in (all): Make it the first target.
18517         (../src/emacs${EXEEXT}): Add rule for making it.
18519 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
18521         * etc/NEWS: Fix mention to old function name.
18523         * lisp/character-fold.el: New file (Bug#20887)
18524         (character-fold-to-regexp): New function.
18525         * lisp/replace.el (replace-search): Check value of
18526         `character-fold-search'.
18527         * lisp/isearch.el: Move character-folding code to
18528         character-fold.el
18529         (isearch-toggle-character-fold): New command.
18530         (isearch-mode-map): Bind it to "\M-sf".
18531         (isearch-mode): Check value of `character-fold-search'.
18533 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18535         lisp/subr.el (remove-from-invisibility-spec): Handle the t case
18536         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
18537         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
18539         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
18540         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
18542 2015-06-24  Glenn Morris  <rgm@gnu.org>
18544         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
18546 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18548         lisp/gnus/nnmaildir.el: Silence lexical warnings
18549         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
18550         functional style.
18551         (nnmaildir--update-nov): Remove unused var `numdir'.
18552         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
18553         (nnmaildir-request-group, nnmaildir-request-create-group)
18554         (nnmaildir-request-post, nnmaildir-request-move-article)
18555         (nnmaildir-request-accept-article, nnmaildir-active-number):
18556         Mark unused args.
18557         (nnmaildir-get-new-mail, nnmaildir-group-alist)
18558         (nnmaildir-active-file): Declare.
18559         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
18560         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
18561         `mark', `end', `new-mark', and `mark-sym'.
18562         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
18563         `nlist2'.
18564         (nnmaildir-request-expire-articles):
18565         Remove unused vars `article', `stop' and `nlist2'.
18566         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
18567         `end'.  Use nnmaildir--article when dyn-binding is needed.
18568         Give the value directly in the `let' for `del-mark', `del-action',
18569         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
18570         (nnmaildir-close-server): Declare those local vars that need to be
18571         dyn-bound.
18573 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18575         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
18577         Port selection info fix to clang
18578         * src/keyboard.h (kbd_buffer_store_event_hold):
18579         Don't assume C11 semantics for alignof (Bug#20756).
18581         Fix bug that munged selection info
18582         On some optimizing C compilers, copying a structure did not
18583         copy the padding bytes between elements, and the type punning
18584         between struct input_data and struct selection_input_data did
18585         not work.  Change the C code to use a proper union type instead.
18586         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
18587         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
18588         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
18589         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
18590         (mark_kboards):
18591         Use union buffered_input_event, not struct input_event.
18592         (clear_event, deliver_input_available_signal, process_special_events):
18593         Remove unnecessary forward decls.
18594         (kbd_buffer_store_buffered_event): New function, mostly just the
18595         old kbd_buffer_store_event_hold, except its argument is of type
18596         union buffered_input_event, not struct input_event.
18597         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
18598         not needed otherwise.  Argument is now of type
18599         struct selection_input_event *, not struct input_event *.
18600         All callers changed.
18601         (clear_event): Arg is now of type union buffered_input_event *,
18602         not struct input_event *.  All callers changed.
18603         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
18604         (union buffered_input_event): New type.
18605         (kbd_buffer_store_event_hold): Now an inline function,
18606         defined here.
18607         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
18608         (struct input_event): Use it.
18609         * src/xselect.c (struct selection_event_queue):
18610         Make elements be of type struct selection_input_event,
18611         not struct input_event.
18612         (selection_input_event_equal): New static function.
18613         (x_queue_event): Use it.
18614         (x_queue_event, x_decline_selection_request)
18615         (x_selection_current_request, x_reply_selection_request)
18616         (x_handle_selection_request, x_handle_selection_clear)
18617         (x_handle_selection_event): Use struct selection_input_event,
18618         not struct input_event.  All callers changed.
18619         (x_convert_selection): Omit unused first arg.  All callers changed.
18620         (Fx_disown_selection_internal): Omit unnecessary union.
18621         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
18622         rather than rolling our own equivalent.  Prefer sie.kind when
18623         setting up that kind of structure.
18624         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
18625         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
18626         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
18627         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
18628         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
18629         (SELECTION_EVENT_TIME, x_handle_selection_event):
18630         Arg is now of type struct selection_input_event *)
18631         not struct input_event *.  All callers changed.
18633 2015-06-23  Glenn Morris  <rgm@gnu.org>
18635         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
18637 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
18639         * lisp/isearch.el: Fold many unicode characters to ASCII.
18640         (isearch-character-fold-search, isearch--character-fold-extras)
18641         (isearch--character-fold-table): New variable.
18642         (isearch--character-folded-regexp): New function.
18643         (isearch-search-fun-default): Use them.
18644         * lisp/replace.el (replace-character-fold): New variable.
18645         (replace-search): Use it.
18646         * etc/NEWS: Document it.
18648 2015-06-23  Glenn Morris  <rgm@gnu.org>
18650         Check for an input event before showing a dialog box.  (Bug#20813)
18651         * lisp/subr.el (y-or-n-p):
18652         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
18653         as last-nonmenu-event.
18655 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
18657         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
18658         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
18659         (switch-to-prev-buffer, switch-to-next-buffer): Respect
18660         switch-to-visible-buffer independent of the windows history.
18662 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18664         * src/keyboard.c (last_timer_event): Remove unused var.
18666 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
18668         * test/automated/package-test.el (package-test-update-listing):
18669         Fix test.
18671 2015-06-23  Glenn Morris  <rgm@gnu.org>
18673         Revert 2014-06-25 nextstep/Makefile change.
18674         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
18675         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
18676         not as an order-only prerequisite.
18678         * configure.ac (--with-ns): Enable by default on OS X.
18680 2015-06-23  Leo Liu  <sdl.web@gmail.com>
18682         Fix shell-for/backward-command to exclude spaces
18683         * lisp/shell.el (shell-forward-command, shell-backward-command):
18684           Handle the 'move case from re-search-forward/backward.
18685           fixes debbugs:20873
18687 2015-06-22  Juri Linkov  <juri@linkov.net>
18689         * lisp/replace.el (query-replace-read-from): Add separator to
18690         the local binding of text-property-default-nonsticky.  (Bug#20690)
18692         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
18693         (Bug#20785)
18695 2015-06-22  Ken Brown  <kbrown@cornell.edu>
18697         Enable CPU profiling on Cygwin
18698         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
18699         change that undefined this.
18700         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
18701         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
18702           Cygwin.
18704         Improve diagnostics of profiler-cpu-start
18705         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
18706         return -1 if the sampling interval is invalid.
18707         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
18708         fails.  (Bug#20843)
18710 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
18712         * lisp/emacs-lisp/package.el: Exclude packages by name.
18713         (package-hidden-regexps): New variable.
18714         (package-menu--refresh): Use it.
18715         (package-menu-hide-package): New command.
18717         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding.
18719 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
18721         Fix debug-timer-check on systems without HAVE_TIMERFD
18722         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
18723         the expired timers, since wait_reading_process_output doesn't.
18724         (debug_timer_callback): Enlarge the tolerance to 20 msec.
18726         Fix RCS crashes in vc-test
18727         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
18728         ports of 'ci' on MS-Windows by always passing the -t- switch.
18730 2015-06-22  Glenn Morris  <rgm@gnu.org>
18732         * doc/emacs/package.texi (Packages):
18733         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
18735         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
18737 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18739         Port tests to help-quote-translation
18740         * test/automated/ert-x-tests.el (ert-test-describe-test):
18741         * test/automated/package-test.el (package-test-describe-package)
18742         (package-test-signed): Allow straight quotes, too.
18744 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
18746         Make find-function-on-key use the current window
18747         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
18748         Extract from `find-function-on-key', add a second argument.
18749         (find-function-on-key): Use it (bug#19679).
18750         (find-function-on-key-other-window)
18751         (find-function-on-key-other-frame): New commands.
18753 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
18755         Revert "Define `map-elt' as a generalized variable"
18756         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
18758 2015-06-21  Ken Brown  <kbrown@cornell.edu>
18760         Drop support for CPU profiling on Cygwin
18761         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
18762         (Bug#20843)
18764 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18766         Fix some “nested” quoting confusion in doc strings
18767         * lisp/emacs-lisp/advice.el (ad-map-arglists):
18768         * lisp/kermit.el (kermit-clean-on):
18769         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
18770         * src/keyboard.c (Frecursive_edit):
18771         Use curved quotes when quoting text containing apostrophe,
18772         so that the apostrophe isn't curved in the output.
18774 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
18776         Define `map-elt' as a generalized variable
18777         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
18778         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
18779         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
18780         `setf' with `map-elt'.
18781         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
18783 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
18785         Improve error handling in tramp-adb.el
18786         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
18787         Improve error handling.
18789 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
18791         Reuse `alist-get' in map.el
18792         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
18793         elements.
18795 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
18797         Fix bytecomp-tests--warnings when $TMPDIR has a long name
18798         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
18799         Allow the warning to begin on the 3rd, not only 2nd line, which
18800         happens if temporary-file-directory has a very long name.
18802         Expect 2 icalendar tests to fail on MS-Windows
18803         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
18804         (icalendar-real-world): Make them expected failures on MS-Windows.
18806 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
18808         Improve port of settings UI to older displays
18809         * lisp/cus-start.el (standard): Don't assume curved quotes are
18810         easily distinguishable when users are tinkering with a setting
18811         that affects how curved quotes are generated.
18813         Fix quoting in electric-quote-mode doc string
18814         * lisp/electric.el (electric-quote-mode): Fix quoting.
18815         This is a fallout from the recent change introducing
18816         ‘help-quote-translation’.
18818         Spelling fix
18820         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
18822         * src/doc.c (syms_of_doc): Remove unused symbols.
18824 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
18826         * lisp/window.el (window-state-put): Undedicate target window
18827         before putting STATE into it.  (Bug#20848)
18829 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18831         Merge from origin/emacs-24
18832         a5e6f33 Fixes: debbugs:20832
18833         b9f02cf Fixes: debbugs:20832
18835 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
18837         Fix file-in-directory-p when the directory is UNC
18838         * lisp/files.el (file-in-directory-p): Support files and
18839         directories that begin with "//".  (Bug#20844)
18841 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
18843         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
18844         in the minibuffer.  (Bug#20832)
18846 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
18848         * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer
18849         for adding new todo file is empty but modified.  (Bug#20832)
18851 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
18853         (filepos-to-bufferpos): Further tweaks to the utf-16 code
18854         * lisp/international/mule-util.el (filepos-to-bufferpos):
18855         Fix typo.  Move non-exact check to the utf-16 branch (the only one
18856         affected).  Don't use byte-to-position for the utf-16 case.
18858 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
18860         Minor fixes in filepos-to-bufferpos
18861         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
18862         test for utf-8-emacs.  Exempt single-byte encodings from the
18863         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
18864         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
18865         UTF-16 encoded files for CR-LF EOLs.
18867 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18869         Improve the optional translation of quotes
18870         Fix several problems with the recently-added custom variable
18871         help-quote-translation where the code would quote inconsistently
18872         in help buffers.  Add support for quoting 'like this', which
18873         is common in other GNU programs in ASCII environments.  Change
18874         help-quote-translation to use more mnemonic values: values are now the
18875         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
18876         traditional Emacs help-buffer quoting style `like this'.  Change the
18877         default behavior of substitute-command-keys to match what's done in
18878         set-locale-environment, i.e., quote ‘like this’ if displayable,
18879         'like this' otherwise.
18880         * doc/lispref/help.texi (Keys in Documentation): Document
18881         new behavior of substitute-command-keys, and document
18882         help-quote-translation.
18883         * doc/lispref/tips.texi (Documentation Tips):
18884         Mention the effect of help-quote-translation.
18885         * etc/NEWS: Mention new behavior of substitute-command-keys,
18886         and merge help-quote-translation news into it.
18887         When talking about doc strings, mention new ways to type quotes.
18888         * lisp/cedet/mode-local.el (overload-docstring-extension):
18889         Revert my recent change to this function, which shouldn't be
18890         needed as the result is a doc string.
18891         * lisp/cedet/mode-local.el (mode-local-print-binding)
18892         (mode-local-describe-bindings-2):
18893         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
18894         * lisp/cus-theme.el (describe-theme-1):
18895         * lisp/descr-text.el (describe-text-properties-1, describe-char):
18896         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
18897         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
18898         (eieio-help-constructor):
18899         * lisp/emacs-lisp/package.el (describe-package-1):
18900         * lisp/faces.el (describe-face):
18901         * lisp/help-fns.el (help-fns--key-bindings)
18902         (help-fns--compiler-macro, help-fns--parent-mode)
18903         (help-fns--obsolete, help-fns--interactive-only)
18904         (describe-function-1, describe-variable):
18905         * lisp/help.el (describe-mode):
18906         Use substitute-command-keys to ensure a more-consistent quoting
18907         style in help buffers.
18908         * lisp/cus-start.el (standard):
18909         Document new help-quote-translation behavior.
18910         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
18911         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
18912         (help-xref-url-regexp):
18913         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
18914         * lisp/wid-edit.el (widget-documentation-link-regexp):
18915         Also match 'foo', in case we're in a help buffer generated when
18916         help-quote-translation is ?'.
18917         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
18918         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
18919         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
18920         (Fsubstitute_command_keys): Document and implement new behavior.
18921         (Vhelp_quote_translation): Document new behavior.
18923 2015-06-18  Glenn Morris  <rgm@gnu.org>
18925         * lisp/cus-start.el (help-quote-translation): Add :version.
18927         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
18929 2015-06-18  Alan Mackenzie  <acm@muc.de>
18931         Make translation of quotes to curly in doc strings optional.
18932         * src/doc.c (traditional, prefer-unicode): New symbols.
18933         (help-quote-translation): New variable.
18934         (Fsubstitute_command_keys): Make translation of quotes dependent on
18935         `help-quote-translation'; also translate curly quotes back to ASCII
18936         ones.
18937         * lisp/cus-start.el (top-level): Add a customization entry for
18938         `help-quote-translation'.
18940 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
18942         * lisp/emacs-lisp/package.el: Don't always propagate async errors
18943         (package--with-work-buffer-async): Only propagate the error if the
18944         callback returns non-nil.
18945         (package--download-one-archive): Return nil on the signature
18946         checking callback if we accept unsigned.
18947         (package--download-and-read-archives): Return non-nil on the
18948         archive download callback.
18950 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
18952         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
18953         * src/nsfns.m (Fx_create_frame):
18954         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
18955         image_cache_refcount before first x_default_parameter call.
18957 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
18959         Improve and extend filepos-to-bufferpos
18960         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
18961         Don't barf if F returns nil for some argument.
18962         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
18963         that every encoding of type 'charset' is single-byte.
18965 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
18967         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
18968         Properly delete packages.  (Bug#20836)
18970 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
18972         Update data files from just-released Unicode 8.0
18973         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
18974         status.
18975         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
18976         * admin/unidata/BidiMirroring.txt:
18977         * admin/unidata/BidiBrackets.txt:
18978         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
18980 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
18982         Document curved quotes a bit better
18983         * doc/emacs/basic.texi (Inserting Text):
18984         Mention C-x 8.  Change example to use curved quote rather
18985         than infinity, as this lets us give more ways to do it.
18986         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
18987         and quotation marks.
18988         * doc/emacs/text.texi (Quotation Marks):
18989         * doc/lispref/tips.texi (Documentation Tips):
18990         Add "curly quotes" and "curved quotes" to the index.
18991         * doc/emacs/text.texi (Quotation Marks):
18992         Give the C-x 8 shorthands for curved quotes.
18993         Cross-reference to "Quotation Marks".
18995 2015-06-17  Daiki Ueno  <ueno@gnu.org>
18997         Add pinentry.el for better GnuPG integration
18998         * lisp/pinentry.el: New file.
18999         * etc/NEWS: Add entry about pinentry.el.
19000         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
19001         (Bug#20550)
19003 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
19005         * lisp/emacs-lisp/package.el: Slightly better error reporting.
19007 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
19009         (define-minor-mode): Use setq-default for :global minor modes
19010         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
19011         Use setq-default for :global minor modes (bug#20712).
19013 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
19015         Avoid infloop in redisplay with tall images
19016         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
19017         down near ZV.  (Bug#20808)
19018         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
19019         instead of CHARPOS.
19021 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
19023         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
19024         Fix error reporting.
19026         * lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
19028         * lisp/emacs-lisp/package.el: Revert buffer after any operation
19029         Call `package-menu--post-refresh' after any operation that changes
19030         the package database (`package-install' and `package-delete').  To
19031         avoid performance issues in large transactions, these functions
19032         add `post-refresh' to `post-command-hook' instead of calling it
19033         immediately.
19034         (package-menu--mark-or-notify-upgrades): New function.
19035         (list-packages): Add it to `package--post-download-archives-hook'.
19036         (package-menu--post-refresh): Lose the upgrade-checking code, add
19037         code to remove itself from `post-command-hook'.
19038         (package-install, package-delete): Add it to `post-command-hook'.
19039         (package-menu-execute): Don't call `package-menu--post-refresh'.
19041 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
19043         Add missing function xref-location-group for elisp-mode.
19044         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
19046 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
19048         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
19049         The behavior now matches the description in the manual.  (Bug#20783)
19051 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
19053         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
19055 2015-06-17  Glenn Morris  <rgm@gnu.org>
19057         Generate char-script-table from Unicode source.  (Bug#20789)
19058         * admin/unidata/Makefile.in (AWK): New, set by configure.
19059         (all): Add charscript.el.
19060         (blocks): New variable.
19061         (charscript.el, ${unidir}/charscript.el): New targets.
19062         (extraclean): Also remove generated charscript.el.
19063         * admin/unidata/blocks.awk: New script.
19064         * admin/unidata/Blocks.txt: New data file, from unicode.org.
19065         * lisp/international/characters.el: Load charscript.
19066         * src/Makefile.in (charscript): New variable.
19067         (${charscript}): New target.
19068         (${lispintdir}/characters.elc): Depend on charscript.elc.
19069         (temacs$(EXEEXT)): Depend on charscript.
19071         * lisp/international/characters.el (char-script-table): Tweak
19072         some ranges to better match the source.  (Bug#20789#17)
19074         Remove "no-byte-compile: t" from a few files.
19075         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
19076         * lisp/obsolete/patcomp.el: No reason not to compile these.
19078 2015-06-16  Glenn Morris  <rgm@gnu.org>
19080         Fix some typos in copied Unicode data.  (Bug#20789)
19081         * lisp/international/characters.el (char-script-table):
19082         * lisp/international/fontset.el (script-representative-chars)
19083         (setup-default-fontset): Fix typos.
19085         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
19086         Don't print filename twice (it's in the prefix now).
19088         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
19089         No longer needed.
19091         Address a compilation warning.
19092         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
19093         Replace 't' with '_' in pcase.
19095         Address some check-declare warnings.
19096         * lisp/simple.el (tabulated-list-print):
19097         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
19098         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
19099         (ns-get-selection): Update declarations.
19101         Address some compilation warnings.
19102         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
19103         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
19104         Replace 't' with '_' in pcase.
19106         Address some compilation warnings.
19107         * lisp/face-remap.el (text-scale-adjust):
19108         * lisp/menu-bar.el (popup-menu-normalize-position):
19109         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
19110         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
19111         * lisp/emacs-lisp/generator.el (cps--transform-1):
19112         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
19113         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
19114         * lisp/progmodes/octave.el (octave-goto-function-definition)
19115         (octave-find-definition-default-filename):
19116         Replace 't' with '_' in pcase.
19118         * lisp/emacs-lisp/pcase.el (pcase--u1):
19119         Paper-over today's bootstrap failure.
19121 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
19123         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
19125         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
19127         Better confirmation message in `find-alternate-file' (Bug#20830)
19128         * lisp/files.el (find-alternate-file'): Improve the confirmation
19129         message to show the buffer name.
19131         Better docstring for null.  (Bug#20815)
19132         * src/data.c (null): Improves the docstring, saying what null returns
19133         when OBJECT is non-nil.
19135 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
19137         * lisp/net/newst-treeview.el: Use lexical-binding.
19139         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
19140         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
19141         New auxiliary function, extracted from filepos-to-bufferpos.
19142         Make sure it terminates.
19143         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
19144         Add support for the `exact' quality.
19146 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
19148         Identify feeds in newsticker treeview with :nt-feed property
19149         * lisp/net/newst-treeview.el:
19150         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
19152 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
19154         * lisp/emacs-lisp/pcase.el: Improve docs and error handling.
19155         (pcase--self-quoting-p): Floats aren't self-quoting.
19156         (pcase): Tweak docstring.
19157         (pcase--u1): Deprecate the t pattern.  Improve error detection for
19158         the nil pattern.
19159         (\`): Tweak docstring.  Signal an error for unrecognized cases.
19160         (bug#20784)
19162 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
19164         Fix infloop in filepos-to-bufferpos
19165         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
19166         offset calculation, and make it conditional on the eol-type of the
19167         file's encoding.  (Bug#20825)
19169 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
19171         Fix handling of image cache refcounts.  (Bug#20802)
19172         This backports Eli Zaretskii's solution of this problem for W32
19173         to X and NS.
19174         * src/nsfns.m (image_cache_refcount): Define unconditionally.
19175         (unwind_create_frame): If the image cache's reference count
19176         hasn't been updated yet, do that now.
19177         (Fx_create_frame): Set image_cache_refcount unconditionally.
19178         * src/xfns.c (image_cache_refcount): Define unconditionally.
19179         (unwind_create_frame): If the image cache's reference count
19180         hasn't been updated yet, do that now.
19181         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
19182         unconditionally.
19183         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
19184         X and NS.
19186 2015-06-16  Nils Ackermann  <nils@ackermath.info>
19188         Improve reftex-label-regexps default value
19189         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
19190         keyvals label regexp more strict to better cope with unbalanced
19191         brackets common in math documents.
19193 2015-06-16  Glenn Morris  <rgm@gnu.org>
19195         * doc/emacs/calendar.texi (Format of Diary File):
19196         Move "nonmarking" from here...
19197         (Displaying the Diary): ... to here.
19199         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
19200         Swap the order of these nodes.
19201         * doc/emacs/emacs.texi: Update detailed menu for the above change.
19203         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
19204         Update date of examples.
19205         (Diary, Format of Diary File): Move example from former to latter.
19206         Reduce duplication.
19208         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
19209         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
19210         Don't set no-byte-compile in the outputs.
19211         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
19213 2015-06-15  Glenn Morris  <rgm@gnu.org>
19215         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
19216         * doc/emacs/calendar.texi (Diary, Format of Diary File):
19217         Update for above diary-file change.
19219         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
19220         (apply-macro-to-region-lines): Use user-error.
19222         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
19223         (pages-directory-for-addresses): Doc fixes.
19225 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
19227         * lisp/info.el: Cleanup bytepos/charpos issues
19228         * lisp/international/mule-util.el: Use lexical-binding.
19229         (filepos-to-bufferpos): New function.
19230         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
19231         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
19232         (Info-read-subfile, Info-search): Use 0-based file positions.
19234         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
19235         (perl--syntax-exp-intro-keywords): New var.
19236         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
19237         (bug#20800).
19239 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19241         Fix quoting when making derived mode docstring
19242         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
19243         Nest regexp-quote inside format, not the reverse.
19244         Problem reported by Artur Malabarba in:
19245         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
19247 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
19249         Fix current-iso639-language on MS-Windows
19250         * lisp/international/mule-cmds.el (set-locale-environment):
19251         Downcase the locale name before interning it.  This is so the
19252         'current-iso639-language' on MS-Windows matches the ':lang'
19253         property of font-spec objects.
19255         Limit Symbola usage some more
19256         * lisp/international/fontset.el (setup-default-fontset): Limit
19257         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
19258         (Bug#20727)
19260 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
19262         * lisp/emacs-lisp/map.el (map-let): Better docstring.
19264 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19266         * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f):
19267         (help-fns-test-funny-names): Spelling fixes.
19269 2015-06-14  Glenn Morris  <rgm@gnu.org>
19271         * lisp/version.el (emacs-repository-version-git): Demote errors.
19272         Check result is a hash.
19274 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
19276         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
19277         Catch errors that happen before going async.  (Bug#20809)
19279 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
19281         Another improvement of documentation of set-fontset-font
19282         * doc/lispref/display.texi (Fontsets): Say explicitly that
19283         CHARACTER can be a single codepoint.
19284         * src/fontset.c (Fset_fontset_font): Doc fix.
19286         Another improvement for symbol and punctuation characters
19287         * lisp/international/fontset.el (setup-default-fontset): Exclude
19288         from Symbola character ranges for symbols and punctuation covered
19289         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
19290         installed and where its coverage of symbols and punctuation is
19291         known to be good.  (Bug#20727)
19293 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
19295         Some generic support for multi-mode indentation.
19296         * lisp/progmodes/prog-mode.el (prog-indentation-context):
19297         New variable.
19298         (prog-first-column, prog-widen): New convenience functions.
19300 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
19302         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
19303         Don't assume that `tabulated-list-printer' will leave point at the
19304         end of the buffer.  (Bug#20810)
19306 2015-06-13  Glenn Morris  <rgm@gnu.org>
19308         Tweaks for getting repository version; a bit more like it was for bzr
19309         * lisp/version.el (emacs-repository-version-git)
19310         (emacs-repository--version-git-1): New functions,
19311         split from emacs-repository-get-version.
19312         (emacs-repository-get-version): Make the second argument meaningful.
19314         * lisp/startup.el (command-line-1): Inform if skipping relative
19315         file names due to deleted PWD.
19317         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
19318         when starup directory is missing.  (Bug#18851)
19319         (errno.h): Include it.
19321 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19323         Better fix for documenting `X as "`X"
19324         Fix suggested by Stefan Monnier.
19325         * lisp/help-fns.el (help-fns--signature):
19326         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
19327         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
19328         Don't treat `X specially, as help-fns--signature now handles this.
19330 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
19332         Improve the default fontset when Symbola is not installed
19333         * lisp/international/fontset.el (setup-default-fontset): Only
19334         prepend Symbola and FreeMono font specs for symbols and
19335         punctuation; do not replace the default spec for them.  This
19336         should have better results when Symbola/FreeMono are not
19337         installed.  (Bug#20727)
19339         Improve documentation of ':lang' in font specs
19340         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
19341         use of the ':lang' property of the font spec.
19342         * doc/emacs/frames.texi (Fonts): Document the language names that
19343         can be in the STYLE part of XLFD.
19344         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
19345         property.
19347         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
19349         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
19351         Revert last change in fontset.el
19352         * lisp/international/fontset.el (setup-default-fontset): Revert
19353         the change "Configure Symbola font only if installed", since font
19354         search is evidently not yet set up when this function is called.
19355         (Bug#20727)
19357 2015-06-12  Glenn Morris  <rgm@gnu.org>
19359         Ensure early startup warnings are visible at the end.  (Bug#20792)
19360         * lisp/emacs-lisp/warnings.el (display-warning):
19361         If startup isn't complete, delay the warning.
19362         * lisp/startup.el (normal-top-level, command-line):
19363         Let display-warning automatically handle the needed delays.
19364         Run delayed-warnings-hook.
19366         * lisp/version.el (emacs-repository-get-version):
19367         Avoid calling external executable if possible.  (Bug#20799)
19369 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19371         Document `X as "`X", not as "(` X)"
19372         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
19373         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
19375         * src/print.c (print_object): Minor simplification.
19377 2015-06-12  Glenn Morris  <rgm@gnu.org>
19379         * src/buffer.c (init_buffer): Add final newline to message.
19381 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19383         Configure Symbola font only if installed
19384         * lisp/international/fontset.el (setup-default-fontset):
19385         Don't specify the Symbola font if it's not installed.
19386         Likewise for FreeMono.  (Bug#20727)
19388 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
19390         Configure Symbola font only for symbols and punctuation
19391         * lisp/international/fontset.el (setup-default-fontset): Leave
19392         only symbols and punctuation in the fontset setup for Symbola
19393         font; remove "Greek and Coptic" and "Cyrillic Supplement".
19394         (Bug#20798)
19396 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
19398         Fix crash in fontset-info
19399         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
19400         non-nil.
19402 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
19404         Port to Solaris 10 sparc + Sun C 5.13
19405         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
19406         Adjust to process.c change.
19407         * src/process.c (create_process): Declare volatile variables at
19408         top level of this function, so that they're less likely to be
19409         reused later in the function in the code executed by the vforked
19410         child.  Do not declare locals used only in the vforked child, as
19411         they might share memory with locals still live in the parent.
19412         Instead, use the same variables in the child as in the parent.
19413         This works around a subtle bug that causes a garbage collector
19414         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
19416 2015-06-12  Glenn Morris  <rgm@gnu.org>
19418         * lisp/startup.el (normal-top-level): Don't let *Messages* get
19419         a nil default-directory.
19421 2015-06-11  Glenn Morris  <rgm@gnu.org>
19423         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
19425         Some progress towards starting with PWD deleted.  (Bug#18851)
19426         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
19427         * lisp/startup.el (normal-top-level, command-line-1):
19428         * lisp/minibuffer.el (read-file-name-default):
19429         Handle default-directory being nil.
19431 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
19433         Fix "not a tty" bug on Solaris 10
19434         * configure.ac (PTY_OPEN): Define to plain 'open'
19435         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
19436         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
19437         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
19438         hosts that call grantpt which does its work via a setuid subcommand
19439         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
19440         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
19441         seems relevant in that case too.
19443 2015-06-11  Juri Linkov  <juri@linkov.net>
19445         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
19446         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
19447         (Bug#20785)
19449 2015-06-11  Glenn Morris  <rgm@gnu.org>
19451         * lisp/international/characters.el (char-script-table): Fix typo.
19453 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
19455         Fix quoting of help for functions with odd names
19456         While investigating Bug#20759, I discovered other quoting problems:
19457         C-h f mishandled characters like backslash and quote in function names.
19458         This fix changes the behavior so that 'C-h f pcase RET' now
19459         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
19460         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
19461         in src/lread.c's read1 function says that the backslash will be
19462         needed starting in Emacs 25, which implies that 'format' is
19463         correct and the old pcase documention was wrong to omit the backslash.
19464         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
19465         * lisp/help-fns.el (help-fns--signature):
19466         * lisp/help.el (help-add-fundoc-usage):
19467         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
19468         Use help--make-usage-docstring rather than formatting
19469         help-make-usage.
19470         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
19471         Return raw docstring.
19472         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
19473         raw docstring.  Take more care to distinguish raw from cooked dstrings.
19474         (describe-function-1): Let help-fns--signature substitute
19475         command keys.
19476         * lisp/help.el (help--docstring-quote): New function.
19477         (help-split-fundoc): Use it, to quote funny characters more
19478         systematically.
19479         (help--make-usage): Rename from help-make-usage, since this
19480         should be private.  Leave an obsolete alias for the old name.
19481         (help--make-usage-docstring): New function.
19482         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
19484 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
19486         * lisp/thingatpt.el (in-string-p): Revert last change,
19487         since in-string-p is not used in thingatpt.el but only from outside.
19488         Also, use lexical binding.
19490 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
19492         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
19493         * test/automated/let-alist.el (let-alist-cons): Test it.
19495 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
19497         * src/syntax.c (Fbackward_prefix_chars): Reword docstring.
19499 2015-06-10  Glenn Morris  <rgm@gnu.org>
19501         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
19503         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
19504         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
19505         * admin/gitmerge.el (gitmerge-commit-message):
19506         Exclude "skipped" messages from ChangeLog once again.
19508         Slight namespace cleanup for thingatpt.el.
19509         * lisp/thingatpt.el (thing-at-point--in-string-p)
19510         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
19511         (thing-at-point--read-from-whole-string): Rename from
19512         old versions without "thing-at-point--" prefix.
19513         Keep old versions as obsolete aliases.  Update all uses.
19515         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
19516         Move requiring of finder from here...
19517         (checkdoc-package-keywords): ... to here.
19519         Use 'user-error' in a few calendar files.
19520         * lisp/calendar/appt.el (appt-add):
19521         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
19522         (calendar-generate):
19523         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
19524         Replace 'error' with 'user-error'.
19526         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
19528         * lisp/files-x.el (add-file-local-variable):
19529         Special-case 'lexical-binding'.  (Bug#20641)
19531         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
19532         No longer autoload.
19533         * doc/misc/autotype.texi (Executables):
19534         Undocument executable-self-display.
19536         * lisp/progmodes/executable.el (executable-self-display):
19537         Use non-obsolete tail syntax.  (Bug#20779)
19538         (executable-self-display): Doc update.
19540 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
19542         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
19543         (finder-known-keywords): Silence byte-compiler.
19545 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
19547         * lisp/simple.el (eval-expression): Macroexpand before evaluating
19548         (bug#20730).
19550         * lisp/progmodes/sh-script.el: Better handle nested quotes.
19551         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
19552         (sh-font-lock-quoted-subshell): Make sure double quotes within single
19553         quotes don't mistakenly end prematurely the surrounding string.
19555         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
19557 2015-06-09  Glenn Morris  <rgm@gnu.org>
19559         * test/automated/Makefile.in (ELFILES): Sort.
19561         * Makefile.in (SUBDIR_MAKEFILES):
19562         * lwlib/Makefile.in (WARN_CFLAGS):
19563         Use built-in Make functions rather than echo+sed.
19565 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
19567         Update char-script-table
19568         * lisp/international/characters.el (char-script-table): Update
19569         from Unicode 8.0 Draft.
19571         Improve font selection for punctuation and other symbols
19572         * src/fontset.c (face_for_char): If the character's script is
19573         'symbol', and the font used for ASCII face has a glyph for it, use
19574         the font for the ASCII face instead of searching the fontsets.
19575         This comes instead of NS-specific code that used the current
19576         face's font instead, which is now disabled due to undesirable
19577         consequences.  (Bug#20727)
19579 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
19581         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
19582         Skip past `#' to find BEG (bug#20771).
19583         * test/automated/elisp-mode-tests.el
19584         (elisp-completes-functions-after-hash-quote): New test.
19586 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
19588         Fix compilation warning/error in --without-x builds
19589         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
19590         code on HAVE_WINDOW_SYSTEM.
19592         Improve the default fontset wrt symbols
19593         * lisp/international/fontset.el (setup-default-fontset): Better
19594         setup of fontset-default for symbols: use Symbola and FreeMono.
19595         (Bug#20727)
19597 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
19599         Add new command checkdoc-package-keywords
19600         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
19601         New defcustom.
19602         (checkdoc-list-of-strings-p): Add doc.
19603         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
19604         non-nil, call `checkdoc-package-keywords'.
19605         (checkdoc-get-keywords): New defun.
19606         (checkdoc-package-keywords): New command.  Warns if the current file
19607         has package.el-style keywords that aren't in `finder-known-keywords'.
19608         * etc/NEWS: Add entry.
19610 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
19612         Avoid crashes when key-binding is called from a timer
19613         * src/keymap.c (Fkey_binding): Don't segfault if called with an
19614         empty vector as KEY.  (Bug#20705)
19616         Fix a thinko in arc-mode.el
19617         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
19618         non-Zip64 case.  (Bug#20769)
19620 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
19622         * lisp/emacs-lisp/package.el (package-delete): Make interactive.
19624 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
19626         * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function.
19627         (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to
19628         "*warn*", print the warning to the standard output.  (bug#20754)
19630 2015-06-07  Glenn Morris  <rgm@gnu.org>
19632         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
19634         * src/font.c (syms_of_font) <font-log>: Doc fix.
19636         Remove the obsolete leading "*" from some C doc strings.
19637         * src/coding.c (syms_of_coding):
19638         * src/font.c (syms_of_font): Remove leading "*" from docs.
19639         * lisp/cus-start.el (enable-character-translation): Add it.
19641 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19643         Move gen_origin from program to data
19644         That way, 'make change-history' needs to change only ChangeLog.2,
19645         instead of having to change two files.
19646         * ChangeLog.2: Add commit info for range that this file covers.
19647         * Makefile.in (new_commit_regexp): New macro.
19648         (change-history-nocommit): Simplify, by putting what used to be
19649         the gen_origin value into the data (ChangeLog.2) rather than
19650         into the program (gitlog-to-emacslog).
19651         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
19652         the input file (e.g., ChangeLog.2) rather than by having a
19653         constant in the program.  Substitute it into the output.
19655 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
19657         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
19658         function name (bug#20759).
19660 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
19662         Adapt 'struct timespec' to next release of MinGW runtime
19663         * nt/inc/ms-w32.h (struct timespec): Don't declare if
19664         __struct_timespec_defined is defined.
19666 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
19668         Merge from gnulib
19669         This incorporates:
19670         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
19671         2015-06-05 stdio: Don't redefine gets when using C++
19672         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
19673         2015-06-02 file-has-acl: fix build on Mac OS X 10
19674         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
19675         2015-06-01 pthread_sigmask: discount system version if a simple macro
19676         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
19677         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
19678         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
19679         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
19680         * lib/gnulib.mk: Regenerate.
19682 2015-06-06  Juri Linkov  <juri@linkov.net>
19684         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
19685         before calling grep-compute-defaults because now it affects the
19686         command lines computed in grep-compute-defaults.  (Bug#20728)
19688 2015-06-06  Glenn Morris  <rgm@gnu.org>
19690         Address some compilation warnings.
19691         * lisp/international/mule-cmds.el (w32-get-console-codepage)
19692         (w32-get-console-output-codepage):
19693         * lisp/progmodes/elisp-mode.el (xref-collect-references):
19694         * lisp/version.el (cairo-version-string): Declare.
19695         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
19697 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
19699         Fix display when a font claims large values of ascent and descent
19700         This fixes bug#20628.
19701         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
19702         coordinate of a hollow cursor glyph when the original glyph's
19703         ascent is too small.
19704         (get_font_ascent_descent, normal_char_ascent_descent)
19705         (normal_char_height): New functions.
19706         (handle_single_display_spec, append_space_for_newline)
19707         (calc_pixel_width_or_height, produce_stretch_glyph)
19708         (calc_line_height_property): Use normal_char_ascent_descent and
19709         normal_char_height.
19710         (x_produce_glyphs): When font-global values of ascent and descent
19711         are too large, use per-character glyph metrics instead, if
19712         possible.  But don't allow the glyph row's ascent and descent
19713         values become smaller than the values from the metrics of the
19714         font's "normal" character.
19715         * src/xftfont.c (xftfont_draw):
19716         * src/w32font.c (w32font_draw): Correct the values of ascent and
19717         descent used to draw glyphless characters' hex code in a box.
19718         * src/xterm.c (x_draw_glyph_string_background):
19719         * src/xdisp.c (x_produce_glyphs):
19720         * src/w32term.c (x_draw_glyph_string_background):
19721         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
19722         to detect fonts whose global ascent and descent values are too
19723         large to be used in layout decision, and redraw the background
19724         when that happens.
19725         * src/dispextern.h (FONT_TOO_HIGH): New macro.
19726         (get_font_ascent_descent): Add prototype.
19727         * src/xterm.c (x_new_font):
19728         * src/w32term.c (x_new_font):
19729         * src/nsterm.m (x_new_font):
19730         * src/font.c (font_open_entity):
19731         * src/composite.c (composition_gstring_width):
19732         Use get_font_ascent_descent to obtain reasonable values for ascent
19733         and descent of a font.
19735 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
19737         Add assertion in adjust_point_for_property
19738         * src/keyboard.c (adjust_point_for_property): Add eassert for
19739         current buffer being shown in selected window.
19741 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
19743         Replace uses of in-string-p; make it obsolete
19744         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
19745         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
19747 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
19749         Fix Dired display of an explicit list of files by ls-lisp.el
19750         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
19751         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
19752         correct for when displaying individual files separately, not as
19753         part of listing a directory, in which case these values are not
19754         recomputed by 'ls-lisp-insert-directory', but used verbatim.
19756         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
19758 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
19760         Do not adjust point in a non-selected window
19761         * src/keyboard.c (command_loop_1): Do not adjust point when
19762         current buffer is not shown in selected window (Bug#20590).
19764         * etc/DEBUG: Mention 'maybe_call_debugger'
19766 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
19768         Fix a unit test for map.el
19769         * test/automated/map-tests.el (test-map-let): Fix the test to work
19770         with the new syntax of `map-let'.
19772         * lisp/emacs-lisp/map.el (map-let): Better docstring.
19774         Better syntax for the map pcase pattern
19775         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
19776         bindings of the form (KEY PAT) or SYMBOL.  KEY is not quoted.
19778         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
19780         Fix a byte-compiler error in map-put and map-delete
19781         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
19782         called with a symbol.
19784 2015-06-05  Glenn Morris  <rgm@gnu.org>
19786         * admin/gitmerge.el (gitmerge-commit-message):
19787         Revert to including "skipped" messages in ChangeLog once again.
19789 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
19791         Use string> instead of equiv lambda with string<
19792         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
19793         lambda with string<.
19795 2015-06-05  Glenn Morris  <rgm@gnu.org>
19797         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
19798         (map--delete-array): Fix typo.
19800         * test/automated/map-tests.el: Replace "assert" with "should".
19802         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
19803         (SUBDIRS_REL): Derive from SUBDIRS.
19805         Tweak some build messages.
19806         * lisp/Makefile.in ($(lisp)/loaddefs.el):
19807         * lisp/cus-dep.el (custom-make-dependencies):
19808         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
19809         * lisp/international/titdic-cnv.el (batch-titdic-convert):
19810         Don't say how to compile.
19812 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
19814         Omit U+0332 COMBINING LOW LINE in previous change
19815         It turns out that it does not work on Ubuntu 15.04.
19817         Fix transliteration of Bahá'í months
19818         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
19819         Improve quality of Latin transliteration of Bahá'í month names.
19821         Fix curved quotes in a few places
19822         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
19823         The strings in question are not doc strings, so this partially
19824         undoes the recent change that assumed they were doc strings.
19825         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
19826         * lisp/info.el (Info-finder-find-node):
19827         Use curved quotes.
19828         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
19829         Also allow curved quotes in doc strings.
19831 2015-06-04  Glenn Morris  <rgm@gnu.org>
19833         * lisp/Makefile.in (AM_V_at): Add missing definition.
19835         * lisp/Makefile.in: Quieten output a bit.
19836         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
19837         Don't echo directories, since the commands we invoke print them.
19839         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
19840         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
19841         (SUBDIRS_SUBDIRS): New variables.
19842         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
19843         Remove.
19844         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
19845         (update-subdirs, compile-main, compile-clean):
19846         Replace "setwins" usage with new "SUBDIRS" variables.
19848         * lisp/vc/compare-w.el (compare-windows-get-window-function):
19849         Fix :version tag.
19851 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
19853         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
19855         Undo removal of x_clear_area call on expose for GTK3 or cairo
19856         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]:
19857         Clear exposed area.  (Bug#20677)
19859 2015-06-04  Glenn Morris  <rgm@gnu.org>
19861         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
19863         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
19865         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
19866         Rename from quail-lao-update-translation, since lao.el defines that.
19868 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
19870         Handle new-style advice in find-funct
19871         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
19872         Handle new-style advice.  Return the symbol's function definition.
19873         (Bug#20718)
19874         (find-function-library): Update accordingly.
19876 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
19878         Merge branch 'map'
19880         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
19882         Add new function string-greaterp
19883         * lisp/subr.el (string-greaterp): New function.  Also aliased to
19884         `string>'.
19885         * test/automated/subr-tests.el (string-comparison-test): Add unit
19886         tests for `string>'and `string<'.
19887         * src/fns.c (string-lessp): Better docstring.
19889 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
19891         Fix timezone-related functions on MS-Windows
19892         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
19893         'xputenv', even if no reallocation of tzvalbuf was necessary.
19894         This fixes a bug in timezone-related functions on MS-Windows.
19895         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
19897 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
19899         Don't pass raw directory name to 'error'
19900         * lisp/files.el (basic-save-buffer-2): Avoid format error if
19901         a directory name contains a string like "%s".
19903 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
19905         Override 'grep --color=always'
19906         * lisp/progmodes/xref.el (xref-collect-matches):
19907         Override --color=always in grep-find-template.
19909 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
19911         Fix error introduced recently in file-notify-tests.el
19912         * test/automated/file-notify-tests.el
19913         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
19914         (file-notify--deftest-remote): Revert previous patch, not
19915         necessary anymore.
19917 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
19919         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
19920         Starting from a display string after a newline, point went to the
19921         previous line.  Also, fix an inadvertent use of a buffer position
19922         with FETCH_BYTE.  (Bug#20701)
19924 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
19926         Instrument file-notify-test.el in order to catch hydra error
19927         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
19928         Wrap body by `ignore-case', in order to trap non-local errors.
19930 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
19932         Undo previous changes in non-toolkit scroll bar drawing
19933         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
19934         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
19936 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
19938         * .gitignore: Also ignore doc/*/*/*.html and .ps.
19940         Support quotes 'like this' in info files
19941         This is possible when 'makeinfo --disable-encoding' is used
19942         in Texinfo 5.
19943         * lisp/calc/calc-help.el (calc-describe-thing):
19944         * lisp/gnus/gnus-art.el (gnus-button-alist):
19945         * lisp/info.el (Info-find-index-name):
19946         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
19947         Also support quotes 'like this'.
19948         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
19949         * lisp/finder.el (finder-font-lock-keywords): Remove var that
19950         hasn't been used in years, instead of bothering to fix its quoting.
19952 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19954         * .gitignore: Remove !test/etags/html-src/*.html.
19955         It's no longer needed, since *.html was removed.  Sort.
19957 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
19959         Restore <D> instead of '.' in grep-find-template
19960         * lisp/cedet/semantic/symref/grep.el
19961         (semantic-symref-grep-use-template): Update a comment.
19962         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
19963         instead of '.' in grep-find-template (bug#20719).
19964         (rgrep): Pass nil as the directory to rgrep-default-command.
19965         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
19966         default value for DIR.
19967         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
19968         workaround.
19970 2015-06-02  Glenn Morris  <rgm@gnu.org>
19972         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
19974         * configure.ac (emacs_config_features): Add Cairo.
19976         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
19978 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
19980         Ensure that autorevert works for remote files in file-notify-tests.el
19981         * test/automated/file-notify-tests.el (file-notify--test-desc):
19982         New defvar.
19983         (file-notify--test-remote-enabled)
19984         (file-notify-test00-availability, file-notify-test01-add-watch)
19985         (file-notify-test02-events): Use it.
19986         (file-notify--test-event-test): Check proper descriptor.
19987         (file-notify-test03-autorevert): Ensure that
19988         `visited-file-modtime' has changed.  (Bug#20392)
19990 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
19992         Add a pcase pattern for maps and `map-let' based on it
19993         * lisp/emacs-lisp/map.el (map-let): New macro.
19994         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
19995         * test/automated/map-tests.el: New test for `map-let'.
19997 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
19999         Reuse rgrep mechanics in xref-find-regexp
20000         * lisp/progmodes/grep.el (rgrep-default-command):
20001         Extract from `rgrep'.
20002         * lisp/progmodes/xref.el (xref-collect-references): Split from
20003         `xref-collect-matches'.  Only handle the case of symbol search.
20004         (xref-collect-matches): Instead of Semantic Symref, use
20005         `rgrep-default-command', to take advantage of its directory and
20006         file ignore settings.
20007         (xref--collect-match): Remove the last argument, leaving the
20008         regexp construction up to the caller.
20009         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
20010         Change to take the xref-collect- function to use as an argument.
20011         (elisp-xref-find): Update accordingly.
20012         * lisp/progmodes/etags.el (etags--xref-find-matches)
20013         (etags-xref-find): Same.
20015         Move xref-elisp-location to elisp-mode.el
20016         * lisp/progmodes/xref.el (xref-elisp-location)
20017         (xref-make-elisp-location, xref-location-marker): Remove here.
20018         (xref--xref): Don't limit the type of the location slot.
20019         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
20020         Define as a cl-struct here.
20021         (xref-location-marker): Move here.
20023 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
20025         Minor tweaks for .gitignore
20026         * .gitignore: Don't ignore versioned *.html and *.ps files.
20027         Don't ignore admin/notes/tags that might be ignored as TAGS
20028         on case-insensitive filesystems.  (Bug#20710)
20030 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20032         Generate curved quotes in ert doc
20033         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
20034         (ert-results-mode-menu)
20035         (ert-results-pop-to-backtrace-for-test-at-point)
20036         (ert-results-pop-to-messages-for-test-at-point)
20037         (ert-results-pop-to-should-forms-for-test-at-point)
20038         (ert-describe-test):
20039         Quote ‘like this’, not `like this', when generating doc strings
20040         and the like.
20041         * test/automated/ert-x-tests.el (ert-test-describe-test):
20042         Allow quoting ‘like this’.
20044 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
20046         Add test for previous commit
20047         * test/automated/replace-tests.el: New file.
20048         (query-replace--split-string-tests): Add test for previous commit.
20050         Avoid confusion in query-replace history when replacing NUL chars
20051         * lisp/replace.el (query-replace--split-string): New function.
20052         (query-replace-read-from): Rely on the 'separator' property
20053         instead of searching for the NUL character (Bug#20690).
20055 2015-06-02  Glenn Morris  <rgm@gnu.org>
20057         Merge from origin/emacs-24
20058         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
20060         * admin/gitmerge.el (gitmerge-commit-message):
20061         Exclude "skipped" messages from ChangeLog.
20063 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
20065         Sync with Tramp repository
20066         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
20067         messages.
20068         (tramp-handle-make-auto-save-file-name): When calling
20069         `make-auto-save-file-name' internally, make sure it uses Unix-like
20070         behavior, not Windows-like behavior.
20071         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
20072         the local case, because "chown" might fail on w32.
20073         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
20074         for XEmacs.
20076 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
20078         MS-Windows followup for batch stdout/stderr output changes
20079         * lisp/international/mule-cmds.el (set-locale-environment):
20080         In batch mode, use console codepages for keyboard and terminal
20081         encoding.  (Bug#20545)
20083         Update .gitattributes for DOS EOL files
20084         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
20085         CRLF end-of-line format.
20087         NS equivalents of xterm.c and w32term.c changes
20088         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
20089         glyph string background also when the font in use claims
20090         preposterously large global height value.  Helps to remove
20091         artifacts left from previous displays when glyphless characters
20092         are displayed as hex code in a box.
20093         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
20094         value for FRAME_LINE_HEIGHT, even when a font claims very large
20095         value for its height.
20097 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
20099         Avoid grave accent quoting in stderr diagnostics
20100         A few Emacs diagnostics go directly to stderr, and so can't easily
20101         contain curved quotes (as non-UTF-8 locales might mishandle them).
20102         Instead of bothering to add support for this rarity, reword the
20103         diagnostics so that they don't use grave accent to quote.
20104         * src/alloc.c (mark_memory): Fix comment.
20105         * src/buffer.c (init_buffer):
20106         * src/dispnew.c (init_display):
20107         * src/emacs.c (main, sort_args):
20108         * src/lread.c (dir_warning):
20109         * src/term.c (init_tty):
20110         * src/unexmacosx.c (unexec):
20111         * src/xfns.c (select_visual):
20112         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
20113         Reword stderr diagnostics to avoid quoting `like this'.
20114         * src/unexmacosx.c: Include errno.h.
20115         * src/xfns.c (select_visual): Encode value for locale.
20117 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
20119         Treat batch stdout/stderr like standard display
20120         Calls like (print FOO) could generate improperly encoded or
20121         hard-to-read output if FOO contains characters outside the system
20122         locale.  Fix this by treating batch stdout and stderr like
20123         interactive standard display, when it comes to transliterating and
20124         encoding characters (Bug#20545).
20125         * doc/emacs/mule.texi (Communication Coding):
20126         * doc/lispref/display.texi (Active Display Table):
20127         * doc/lispref/nonascii.texi (Locales):
20128         * etc/NEWS:
20129         * src/coding.c (syms_of_coding):
20130         * src/dispnew.c (syms_of_display):
20131         Document this.
20132         * src/print.c: Include disptab.h.
20133         (printchar_to_stream): New function, with much of the guts of the
20134         old Fexternal_debugging_output, except this one also uses the
20135         standard display table.
20136         (printchar, strout, Fexternal_debugging_output): Use it.
20138 2015-05-31  Glenn Morris  <rgm@gnu.org>
20140         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
20142 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
20144         Remove DEFSYMs that aren't used at the C level.  Also:
20145         * src/decompress.c (Qzlib_dll):
20146         * src/font.c (Qunicode_sip):
20147         * src/frame.c (Qtip_frame):
20148         * src/ftfont.c (Qserif):
20149         * src/gnutls.c (Qgnutls_dll):
20150         * src/xml.c (Qlibxml2_dll):
20151         Move from here ...
20152         * src/w32fns.c (syms_of_w32fns): ... to here,
20153         as these are used only on MS-Windows.
20155 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
20157         Use another default value for tramp-histfile-override
20158         * lisp/net/tramp-sh.el (tramp-histfile-override):
20159         Use ".tramp_history" as default.
20160         Fixes bug#20446
20162 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
20164         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
20166 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
20168         * etc/NEWS: Add an entry about map.el.
20170         Improve the docstring of functions in map.el
20171         Since a map is not a data structure but a concept, adding information
20172         about the possible types of maps can be useful information.
20173         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
20174         each public function.
20176 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
20178         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
20179         specific tests depending on the type of the map.
20181         * lisp/emacs-lisp/map.el: Better docstrings.
20183 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
20185         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda.
20187 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
20189         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
20191         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
20193         Fix a false negative in `map-elt' with alists and values being nil
20194         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
20195         found but its associated value is nil, do not return the default
20196         value.
20197         * test/automated/map-tests.el: Add a regression test.
20199 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
20201         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
20203         Do not signal an error when trying to delete a key from an array
20204         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
20205         the key is present to avoid signaling an error.
20206         * test/automated/map-tests.el: Add a test for deleting non-existing
20207         keys from maps.
20209         * lisp/emacs-lisp/map.el: Better docstring.
20211         Minor improvement in map-elt
20212         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
20213         doing a lookup in arrays, but check the boundaries of the array
20214         instead.
20215         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
20216         and a negative integer as key.
20218 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
20220         * test/automated/map-tests.el: Refactoring of test methods.
20222         * test/automated/map-tests.el: Renamed from map-test.el.
20224 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
20226         * lisp/emacs-lisp/map.el (map-into): Better error message.
20228         * lisp/emacs-lisp/map.el: Remove byte-compilation warnings.
20230         Throw an error when converting a map into an unknown map type
20231         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
20232         not valid.
20233         * test/automated/map-test.el: Add a regression test.
20235         New library map.el similar to seq.el but for mapping data structures.
20236         * test/automated/map-test.el: New file.
20237         * lisp/emacs-lisp/map.el: New file.
20239 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
20241         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
20242         there's no explicit tag name (bug#20629).
20244 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20246         Remove format2
20247         * src/editfns.c, src/lisp.h (format2): Remove.
20248         It is more trouble than it's worth, now that we have CALLN.
20249         This is just a minor refactoring.
20250         * src/buffer.c (Fkill_buffer):
20251         * src/dbusbind.c (XD_OBJECT_TO_STRING):
20252         * src/fileio.c (barf_or_query_if_file_exists):
20253         Adjust to format2 going away.
20255         Don't misencode C-generated messages
20256         Also, be more consistent about calls to 'Fmessage' vs 'message'.
20257         * src/alloc.c (Fgc_status):
20258         Prefer AUTO_STRING to build_string for Fmessage call.
20259         * src/data.c (Fmake_variable_buffer_local)
20260         (Fmake_local_variable, Fmake_variable_frame_local):
20261         * src/doc.c (store_function_docstring):
20262         Use Fmessage, not message, since the argument can contain
20263         non-ASCII characters, and this can cause the resulting message
20264         to be incorrectly encoded for the current environment.
20265         * src/fns.c (maybe_resize_hash_table):
20266         * src/xselect.c (x_clipboard_manager_save_all):
20267         Use message, not Fmessage, since Fmessage's power isn't needed here.
20268         * src/process.c (Fmake_network_process): Reword message to avoid %s.
20269         * src/xdisp.c (vmessage): Document restrictions on message contents.
20270         (message_nolog) [false]: Remove unused code.
20272         Use \r rather than ^M in string literals
20273         This is less likely to cause problems on platforms that
20274         use CRLF (or CR!) termination for lines.
20276         Update .gitattributes to match current sources
20277         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
20278         * .gitattributes: Accommodate tests that insist on DOS format.
20279         Remove test/automated/data/decompress/foo-gzipped.
20280         Add etc/e/eterm-color.
20282 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
20284         * doc/emacs/mule.texi (Modifying Fontsets):
20285         Document face-ignored-fonts.  (Bug#20628)
20287         Add etags test for the new -Q option
20288         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
20289         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
20290         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
20291         test-case changes below.
20292         * test/etags/ETAGS.good_6: New file.
20293         * test/etags/cp-src/x.cc: New file.
20294         * test/etags/Makefile (CPSRC): Add x.cc.
20295         (check): Add one more test, for -Q.
20297 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
20299         Use list for the tags completion table, not obarray
20300         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
20301         list instead of an obarray
20302         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
20303         (tags-completion-table): Combine those lists.
20304         (tags-completion-table): Update the docstring.
20306 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
20308         Restore EOL format testing in etags
20309         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
20310         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
20311         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
20312         test-case changes below.
20313         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
20314         * test/etags/cp-src/c.C (B): Add back stray CR character.
20315         * test/etags/c-src/dostorture.c: Add back.
20316         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
20318 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
20320         Declare Emacs on MS-Windows to be DPI-aware
20321         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
20322         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
20323         This avoids Windows entering compatibility mode for Emacs,
20324         which causes fonts to look less nice.
20326 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
20328         Improve Tramp traces
20329         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
20330         * lisp/net/tramp.el (tramp-debug-message): Use it.
20332 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
20334         backup-buffer minor reworking of internals
20335         * lisp/files.el (backup-buffer): Rework to avoid a couple of
20336         unused locals inadvertently introduced in the previous change.
20338         backup-buffer now reports .emacs.d/%backup% ills
20339         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
20340         fails due to disk space exhaustion or whatever, do not pretend
20341         that it succeeded.  More generally, do a better job of checking
20342         for I/O failures, and limit the scope of the condition-case to
20343         just the operations where file errors should be caught and ignored
20344         (Bug#20595).  Also, don't bother trying to delete later backups if
20345         an earlier deletion fails, as this is a sign of trouble and it's
20346         better to stop when there's trouble.
20348         copy-file now truncates output after writing
20349         * src/fileio.c (Fcopy_file): Truncate output after writing rather
20350         than before.  This is more likely to work than truncation before
20351         writing, if the file system is out of space or the user is over
20352         disk quota (Bug#20595).  Also, check for read errors.
20354 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
20356         * lisp/emacs-lisp/package.el (package-load-all-descriptors):
20357         Don't load descriptors from directories above the package directories.
20359 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20361         Merge from gnulib
20362         This incorporates the following (Bug#20681):
20363         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
20364         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
20365         * lib/set-permissions.c: Copy from gnulib.
20367 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
20369         Improve Tramp traces
20370         * lisp/net/tramp.el (tramp-call-process-region): New defun.
20371         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
20373 2015-05-29  Glenn Morris  <rgm@gnu.org>
20375         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
20377 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
20379         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
20380         The signature was changed in the cairo branch, merged on 2015-05-23.
20381         This oversight broke compiling only the non-toolkit X version.
20383 2015-05-29  Samer Masterson  <samer@samertm.com>
20385         * doc/lispref/os.texi: Update initial-buffer-choice docs.
20387 2015-05-29  Glenn Morris  <rgm@gnu.org>
20389         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
20390         Mark as an expected failure.
20392 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20394         Change package test to look for curved quotes
20395         * test/automated/package-test.el (package-test-describe-package)
20396         (package-test-signed): Search for curved single quotes as well as
20397         for grave accent and apostrophe.
20399 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
20401         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
20402         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
20404 2015-05-28  Samer Masterson  <samer@samertm.com>
20406         Show files when `initial-buffer-choice' is non-nil
20407         * lisp/startup.el (command-line-1): When Emacs is given a file as an
20408         argument and `initial-buffer-choice' is non-nil, display both the file
20409         and `initial-buffer-choice'.  For more than one file, show
20410         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
20411         commands out of the command line arg parser.
20412         (initial-buffer-choice): Clarify docstring.
20414 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
20416         Fix last commit
20417         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
20418         (gnulib module qcopy-acl): Add back, as it is harmless.  This
20419         minimizes differences wrt lib/gnulib.mk.
20421         Fix the MS-Windows build as followup to gnulib update
20422         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
20423         set-permissions.c, as they don't compile on MinGW.
20424         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
20426 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
20428         Revert my change to gnus-art.el
20429         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
20430         It wasn't that important, and it caused a Gnus build to fail.  See:
20431         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
20433         New minor mode Electric Quote
20434         This lets you easily insert quotes ‘like this’ by typing
20435         quotes `like this', and similarly you can easily insert
20436         quotes “like this” by typing quotes ``like this'' (Bug#20545).
20437         * doc/emacs/basic.texi (Inserting Text):
20438         * doc/emacs/modes.texi (Minor Modes):
20439         * etc/NEWS: Document it.
20440         * doc/emacs/text.texi (Quotation Marks): New section.
20441         * lisp/electric.el (electric-quote-comment)
20442         (electric-quote-string, electric-quote-paragraph):
20443         New custom vars.
20444         (electric--insertable-p)
20445         (electric-quote-post-self-insert-function): New functions.
20446         (electric-quote-mode, electric-quote-local-mode): New minor modes.
20447         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
20448         Add curved single quotes to electric-pair-text-pairs.
20449         Set electric-quote-string in this buffer.
20451         A few more doc string fixes (Bug#20385)
20453         Accept curved quotes in doc strings
20454         * lisp/info-look.el (info-lookup-guess-custom-symbol):
20455         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
20457         Generate curved quotes in pseudo-info nodes
20458         * lisp/info.el (Info-virtual-index-find-node)
20459         (Info-virtual-index, Info-apropos-find-node, info-apropos):
20460         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
20462         Fix minor quoting problems in doc strings
20463         Most of these fixes involve escaping grave accents that are
20464         actually intended to be grave accents, not left quotes.
20465         (Bug#20385)
20467         Support curved quotes in doc strings
20468         Emacs's traditional doc string style has been to quote symbols
20469         `like this'.  This worked well on now-obsolete terminals where
20470         ` and ' were symmetric quotes, but nowadays curved quotes
20471         ‘like this’ look better.  Support quoting the new way too.
20472         (Bug#20385)
20473         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
20474         ‘like-this’ as well as `like-this'.
20475         * etc/NEWS: Mention this.
20476         * lisp/cedet/mode-local.el (overload-docstring-extension)
20477         (mode-local-print-binding, mode-local-describe-bindings-2):
20478         * lisp/cus-theme.el (describe-theme-1):
20479         * lisp/descr-text.el (describe-text-properties-1, describe-char):
20480         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
20481         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
20482         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
20483         (eieio-help-constructor):
20484         * lisp/emacs-lisp/package.el (describe-package-1):
20485         * lisp/faces.el (describe-face):
20486         * lisp/help-fns.el (help-fns--key-bindings)
20487         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
20488         (help-fns--interactive-only, describe-function-1):
20489         (describe-variable):
20490         * lisp/help.el (describe-mode):
20491         * lisp/international/mule-cmds.el (describe-input-method)
20492         (describe-language-environment):
20493         * lisp/international/mule-diag.el (describe-character-set)
20494         (print-coding-system-briefly, list-input-methods)
20495         (list-input-methods-1):
20496         Insert curved quotes rather than grave accent and apostrophe.
20497         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
20498         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
20499         (checkdoc-proper-noun-region-engine):
20500         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
20501         (lisp-cl-font-lock-keywords-2):
20502         * lisp/finder.el (finder-font-lock-keywords):
20503         * lisp/gnus/gnus-art.el (gnus-button-alist):
20504         * lisp/help-fns.el (help-do-arg-highlight)
20505         (describe-function-1, describe-variable):
20506         * lisp/help-mode.el (help-xref-symbol-regexp)
20507         (help-xref-info-regexp, help-xref-url-regexp):
20508         * lisp/help.el (describe-mode):
20509         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
20510         * lisp/wid-edit.el (widget-documentation-link-regexp):
20511         Parse symbols quoted ‘like-this’ as well as `like-this'.
20512         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
20513         Add "‘" and "’" to electric-pair-text-pairs.
20514         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
20515         (elisp-completion-at-point, elisp--preceding-sexp):
20516         Also treat "‘" and "’" as quoting chars.
20518         substitute-command-keys now curves quotes
20519         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
20520         * doc/lispref/help.texi (Keys in Documentation):
20521         * etc/NEWS: Document this.
20522         * src/doc.c (Fsubstitute_command_keys): Implement it.
20524 2015-05-28  Glenn Morris  <rgm@gnu.org>
20526         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
20527         (rmail-summary-by-topic, rmail-summary-by-senders):
20528         No longer strip leading/trailing whitespace.
20530         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
20531         (f90-no-block-limit): Add "enum".  (Bug#20680)
20532         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
20533         New tests.
20535 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20537         * lisp/isearch.el (isearch--current-buffer): Give a default value.
20538         Un-revert changes mistakenly dropped by f9fabb2b.
20540 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20542         Merge from gnulib
20543         This incorporates:
20544         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
20545         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
20546         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
20547         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
20548         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
20549         2015-05-26 stdio: fix probe on mingw under gcc 5.1
20550         * admin/merge-gnulib (GNULIB_MODULES):
20551         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
20552         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
20553         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
20554         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
20555         Get latest versions from gnulib.
20556         * lib/get-permissions.c, lib/set-permissions.c: New files.
20557         * lib/gnulib.mk, m4/gnulib-comp.m4:
20558         Regenerate.
20559         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
20561 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
20563         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
20564         process here.
20565         (vc-do-command): Rather than here (bug#20608).
20567 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
20569         Avoid gratuitous delete-dups in face-at-point
20570         * lisp/faces.el (face-at-point): Do not compute the properly
20571         ordered, duplicate-free list if only a single value is
20572         requested anyway.  (Bug#20519)
20574         Show the exact C-x 8 RET invocation in describe-char
20575         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
20576         invocation instead of a template.  (Bug#20522)
20578 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
20580         * lisp/emacs-lisp/package.el: Don't erase tags on refresh.
20581         (package-menu--post-refresh): Call `tabulated-list-print' with the
20582         UPDATE argument.  This only affects the refresh action, the revert
20583         action still erases tags.
20584         (package-menu-get-status): Change `assq' to `assoc'.
20585         (package-menu--mark-upgrades-1): New function.
20586         (package-menu--mark-upgrades-pending): New variable.
20587         (package-menu-mark-upgrades): Use them to delay marking until
20588         after refresh is done.
20589         (package-menu--post-refresh): Call mark-upgrades-1 if
20590         mark-upgrades-pending is non-nil.
20592 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
20594         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
20595         Fix typo in "Improve tramp-handle-make-auto-save-file-name"
20596         (commit 3953c4be2816537be95520605d45b866dc731f4b).
20598 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20600         * lisp/isearch.el (isearch--current-buffer): New var.
20601         (isearch-update): Set cursor-sensor-inhibit here.
20602         (isearch-done): Unset cursor-sensor-inhibit in the right buffer
20603         (bug#20532).
20605         Change inhibit-point-motion-hooks to t
20606         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
20607         to t and document it as obsolete.
20609 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
20611         Support ZIP files that use Zip64 extensions
20612         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
20613         format of central directory offsets used by Zip64 extensions.
20614         (Bug#20665)
20616 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
20618         New test tramp-test30-make-auto-save-file-name
20619         * test/automated/tramp-tests.el
20620         (tramp-test30-make-auto-save-file-name): New test.
20621         (tramp-test31-special-characters)
20622         (tramp-test31-special-characters-with-stat)
20623         (tramp-test31-special-characters-with-perl)
20624         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
20625         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
20626         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
20627         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
20629         Improve tramp-handle-make-auto-save-file-name
20630         * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags.
20631         (tramp-handle-make-auto-save-file-name): Let native
20632         `make-auto-save-file-name' use `auto-save-file-name-transforms',
20633         if `tramp-auto-save-directory' is not set.
20635 2015-05-27  Glenn Morris  <rgm@gnu.org>
20637         No longer set dired-directory in eshell.  (Bug#16477)
20638         * lisp/eshell/esh-mode.el (eshell-mode):
20639         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
20641         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
20643         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
20644         * lisp/progmodes/cc-mode.el (c-mode-help-address):
20645         Change to submit@debbugs.
20646         (c-mode-bug-package): New constant.
20647         (mail-position-on-field): Declare.
20648         (c-submit-bug-report): Insert X-Debbugs-Package header.
20649         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
20650         Mention debbugs.gnu.org.
20652 2015-05-26  Glenn Morris  <rgm@gnu.org>
20654         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
20655         (rmail-summary-by-recipients, rmail-summary-by-topic)
20656         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
20657         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
20659 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
20661         Handle curved quotes in info files
20662         * lisp/calc/calc-help.el (calc-describe-thing):
20663         * lisp/info.el (Info-find-index-name)
20664         (Info-try-follow-nearest-node, Info-fontify-node):
20665         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
20666         In info files, process quotes ‘like this’ the same way we process
20667         quotes `like this'.  This catches a few places we missed earlier.
20669 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
20671         xref-prompt-for-identifier: Use a list value
20672         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
20673         value, to be interpreted as a list of commands.
20674         (xref--prompt-p): New function.
20675         (xref--read-identifier): Use it.
20677 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
20679         Teach MS-Windows font back-end return per-glyph ascent/descent
20680         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
20681         values.
20682         * src/w32font.c (w32font_text_extents): Compute, cache, and
20683         accumulate per-glyph ascent and descent values, instead of copying
20684         global values from the font.  If the values are not available from
20685         the font data, i.e., non-TTF fonts, fall back on font-global values.
20686         (compute_metrics): Compute and return per-glyph ascent and descent
20687         values, if returned by GetGlyphOutlineW, falling back on
20688         font-global values.  (Bug#20628)
20689         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
20690         height of rectangle to be drawn, to be compatible with
20691         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
20692         box, when per-glyph ascent/descent values are used.
20694 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
20696         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
20697         Don't sort if sorter is nil.
20699 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
20701         Fix Bug#20621
20702         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
20703         are major modes which set `auto-save-mode' on their own rules;
20704         Tramp shall not overwrite such settings.
20706 2015-05-26  Glenn Morris  <rgm@gnu.org>
20708         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
20709         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
20710         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
20711         Doc updates.
20712         (vc-dir-mode): Remove unnecessary autoload.
20714 2015-05-25  Philipp Stephani  <phst@google.com>
20716         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52.
20717         (xterm--extra-capabilities-type): Add `getSelection'.
20718         (xterm--query): Add `no-async' argument.
20719         (xterm--init-activate-get-selection): New function.
20720         (terminal-init-xterm): Use it.
20721         (xterm--init-modify-other-keys): Rename from
20722         terminal-init-xterm-modify-other-keys.
20723         (xterm--init-bracketed-paste-mode): Rename from
20724         terminal-init-xterm-bracketed-paste-mode.
20725         (xterm--init-activate-set-selection): Rename from
20726         terminal-init-xterm-activate-set-selection.
20727         (xterm--selection-char): New function.
20728         (gui-backend-set-selection): Use it.  Use the &context to only apply
20729         this method in terminals where we enabled the feature.
20730         (gui-backend-get-selection): New method.
20732 2015-05-25  Daniel Colascione  <dancol@dancol.org>
20734         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
20735         keyword constants to C++.
20737 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
20739         Make TAGS files more portable to MS-Windows
20740         * etc/NEWS: Document this.
20741         * lib-src/etags.c (readline_internal) [DOS_NT]:
20742         Don't treat CRs differently from GNUish hosts.
20743         * lisp/progmodes/etags.el (etags-goto-tag-location):
20744         Adjust STARTPOS to account for the skipped CRs in dos-style files.
20746 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
20748         Improve fix of bug#20634 in tramp-sh.el
20750 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
20752         Fix a typo in last commit
20753         * lib-src/etags.c (C_entries): Fix a typo.
20754         * test/etags/ETAGS.good_1:
20755         * test/etags/ETAGS.good_2:
20756         * test/etags/ETAGS.good_3:
20757         * test/etags/ETAGS.good_4:
20758         * test/etags/ETAGS.good_5:
20759         * test/etags/CTAGS.good: Update due to the change in etags.c.
20761         Fix tagging of class members in C-like OO languages
20762         * lib-src/etags.c (longopts): Add new option --class-qualify and
20763         its shorthand -Q.
20764         (print_help): Add help text for --class-qualify.
20765         (main): Add handling of -Q.
20766         (consider_token, C_entries) <omethodparm>: Append argument types
20767         to Objective C methods only if --class-qualify was specified.
20768         Qualify C++, Objective C, and Java class members with their class
20769         names only if --class-qualify was specified.
20770         (C_entries): If --class-qualify was not specified, remove the
20771         namespace and class qualifiers from tag names of C++ methods.
20772         This allows to use etags.el as xref back-end without the
20773         tag-symbol-match-p method, which greatly increases the number of
20774         potentially false positives.  (Bug#20629)
20775         * doc/man/etags.1: Update to document the new --class-qualify
20776         option.
20777         * test/etags/ETAGS.good_1:
20778         * test/etags/ETAGS.good_2:
20779         * test/etags/ETAGS.good_3:
20780         * test/etags/ETAGS.good_4:
20781         * test/etags/ETAGS.good_5:
20782         * test/etags/CTAGS.good: Update due to changes in etags.c.
20784 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
20786         (cl-generic-define-method): Side effects are evil (bug#20644)
20787         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
20788         cons-cells that might be used as keys in an `equal' hash-table.
20790 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
20792         Make erc timestamps visible again
20793         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec):
20794         Make timestamps visible again (if requested).
20796 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
20798         Fix last change in etags.c that broke tagging compresed files
20799         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
20800         quoting of decompression shell command for MS-Windows/MS-DOS.
20802 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
20804         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist.
20805         (Bug#20639)
20807 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
20809         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
20810         Fix typo in "Inhibit `epa-file-handler' in Tramp"
20811         (commit 89035e247591c8d688fce922b7079881aa110f33).
20813 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
20815         Fix IPv6 addresses in Tramp
20816         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
20817         Add square brackets around host name.
20819 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
20821         Inhibit `epa-file-handler' in Tramp (Bug#20634)
20822         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
20823         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
20824         `epa-file-handler'.
20826 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20828         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring.
20829         (pcase-let): Document the behavior in case the pattern doesn't match.
20831 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
20833         * lisp/emacs-lisp/tabulated-list.el: New optional print method.
20834         (tabulated-list-print): New optional argument, UPDATE.  If
20835         non-nil, the list is printed by only adding and deleting the
20836         changed entries, instead of erasing the whole buffer.  This method
20837         is much faster when few or no entries have changed.
20838         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
20839         * etc/NEWS: Document it.
20841         * lisp/emacs-lisp/tabulated-list.el: Improve printing.
20842         (tabulated-list--get-sorter): New function.
20843         (tabulated-list-print): Restore window-line when remember-pos is
20844         passed and optimize away the `nreverse'.
20846 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20848         Simpilify etags TEX mode scanning
20849         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
20850         Remove static vars.
20851         (TeX_commands): Deduce escapes here instead.
20852         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
20853         This removes the need for a reset_input call.
20855         Improve etags I/O error reporting
20856         * lib-src/etags.c:
20857         Don't include sys/types.h and sys/stat.h; no longer needed.
20858         (infilename): New static var.
20859         (process_file_name): Don't call 'stat'.  Instead, just open the
20860         file for reading and report any errors.  Don't bother making
20861         a copy of the file argument; it's not needed.  Be more careful to
20862         use the failing errno when reporting an error.
20863         Quote the real name better (though no perfectly)
20864         when passing it to the shell.
20865         (reset_input): New function, which reports I/O errors.
20866         All uses of 'rewind' changed to use this function.
20867         (perhaps_more_input): New function, which also checks for
20868         I/O errors.  All uses of 'feof' changed to use this function.
20869         (analyze_regex): Report an error if fclose fails.
20870         (readline_internal): Report an error if getc fails.
20871         (etags_mktmp): Return an error if close fails.
20873         etags.c: avoid side effects in 'if'
20874         * lib-src/etags.c (process_file_name, Perl_functions)
20875         (TEX_decode_env): Hoist side effects into previous statement.
20877         .gitignore tweaks
20878         * .gitignore: Ignore all *.stamp files.  Sort.
20879         Ignore [0-9]*.txt (commonly used name for git patches)
20880         and /vc-dwim-log-* (vc-dwim temporary).
20882 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
20884         Fix last change in etags.c, which failed the test suite
20885         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
20886         before the last change.
20888 2015-05-23  Glenn Morris  <rgm@gnu.org>
20890         Remove charset map files from repository, generate in first bootstrap
20891         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
20892         (all): Create the stamp file.
20893         (extraclean): Delete the stamp file.
20894         * src/Makefile.in (lispintdir, charsets): New variables.
20895         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
20896         New rules.
20897         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
20898         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
20899         * etc/charsets/*.map: Remove from repository.
20901 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20903         Cleanup etags.c to use locale-independent code
20904         Although this doesn't alter behavior (as etags doesn't use
20905         setlocale), the new version is more clearly locale-independent and
20906         the executable is a bit smaller on my platform.
20907         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
20908         Include <c-ctype.h> instead of <ctype.h>.
20909         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
20910         (begtk, midtk):
20911         Remove; no longer needed.
20912         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
20913         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
20914         c_islower, c_tolower, respectively.
20915         (notinname, begtoken, intoken, endtoken): Rewrite as functions
20916         instead of macros, and initialize the tables at compile-time
20917         rather than at run-time.
20919         Put default action first in src/Makefile
20920         * src/Makefile.in (all): Put this rule before lisp.mk.
20921         That way, plain 'make' works in the src directory again.
20923 2015-05-23  Glenn Morris  <rgm@gnu.org>
20925         * Makefile.in: Fix extraclean rule.
20926         (extraclean_dirs): New.
20927         (extraclean): Use it.
20929 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
20931         Avoid compiler warning in image.c on MS-Windows
20932         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
20933         warning in image.c.
20935 2015-05-23  Glenn Morris  <rgm@gnu.org>
20937         Fix --without-toolkit-scroll-bars builds.
20938         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
20939         Add new argument to x_clear_area1.
20940         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
20941         Update x_clear_area arguments.
20943         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
20944         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
20945         Change to included version.
20946         (LOCAL, local, totalclean): Remove.
20947         (extraclean): Delete all generated files.
20949 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
20951         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume
20952         CVS/Entries exists.
20954         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
20956         * lisp/progmodes/etags.el (tags-completion-at-point-function):
20957         Don't trust the find-tag function.
20959 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20961         Pacify --enable-gcc-warnings
20962         * src/frame.h (x_query_color): Remove redundant extern decl.
20963         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
20964         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
20965         (ftcrfont_text_extents, ftcrfont_draw):
20966         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
20967         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
20968         (x_ins_del_lines, frame_highlight, frame_unhighlight)
20969         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
20970         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
20971         (x_update_window_begin, x_connection_closed)
20972         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
20973         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
20974         (*x_gc_get_ext_data, x_extension_initialize)
20975         (x_cr_accumulate_data):
20976         Remove redundant static decl.  Many of these GCC doesn't complain
20977         about, but we might as well clean out the duplication while we're
20978         in the neighborhood.
20979         * src/xterm.c (x_fill_trapezoid_for_relief):
20980         Remove decl of nonexistent function.
20982 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
20984         Replace gui-method macros with cl-generic with &context
20985         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
20986         (gui-method-declare, gui-call): Remove.
20987         (frame-creation-function): Use cl-defgeneric.
20988         (make-frame): Adjust callers.
20989         * lisp/menu-bar.el (menu-bar-edit-menu):
20990         Use gui-backend-selection-exists-p.
20991         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
20992         (gui-backend-get-selection): New cl-generic to replace
20993         gui-get-selection method.
20994         (gui-backend-set-selection): New cl-generic to replace
20995         gui-set-selection method.
20996         (gui-selection-owner-p): New cl-generic to replace
20997         gui-selection-owner-p method.
20998         (gui-backend-selection-exists-p): New cl-generic to replace
20999         gui-selection-exists-p method.  Adjust all callers.
21000         * lisp/server.el (server-create-window-system-frame): Don't ignore
21001         window-system spec even when unsupported.
21002         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
21003         * lisp/startup.el (handle-args-function, window-system-initialization):
21004         Use cl-defgeneric.
21005         (command-line): Adjust calls accordingly.
21006         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
21007         a window-system-initialization method.
21008         (handle-args-function, frame-creation-function): Use cl-defmethod.
21009         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
21010         (gui-get-selection): Use cl-defmethod on the new functions instead.
21011         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
21012         a gui-backend-get-selection method.
21013         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
21014         Use cl-defmethod on the new functions instead.
21015         (msdos-window-system-initialization): Turn into
21016         a window-system-initialization method.
21017         (frame-creation-function, handle-args-function): Use cl-defmethod.
21018         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
21019         a window-system-initialization method.
21020         (handle-args-function, frame-creation-function): Use cl-defmethod.
21021         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
21022         (gui-get-selection): Use cl-defmethod on the new functions instead.
21023         * lisp/term/x-win.el (x-window-system-initialization): Turn into
21024         a window-system-initialization method.
21025         (handle-args-function, frame-creation-function): Use cl-defmethod.
21026         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
21027         (gui-get-selection): Use cl-defmethod on the new functions instead.
21028         * lisp/term/xterm.el (xterm--set-selection): Turn into
21029         a gui-backend-set-selection method.
21030         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
21031         (Fns_selection_owner_p): Remove unused arg `terminal'.
21032         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
21034 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
21036         Revert "Fix etags Bug#20629 that broke C++ support"
21037         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
21039 2015-05-23  Jan D  <jan.h.d@swipnet.se>
21041         Fix etags Bug#20629 that broke C++ support
21042         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
21043         Revert commit from Sun May 10 (Bug#20629).
21045         Merge branch 'cairo'.
21046         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
21047         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
21049         Merge branch 'master' into cairo
21051         Fixes to compile cairo branch without cairo
21052         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
21053         first argument.
21054         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
21055         USE_CAIRO.
21057 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
21059         * lisp/emacs-lisp/package.el: Always update selected-packages.
21060         (package--update-selected-packages): New function.
21061         (package-menu-execute): Use it before starting the transaction,
21062         this way the list of selected packages is updated even when the
21063         transaction fails.
21064         (package-menu--perform-transaction): Don't edit selected-packages.
21066 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
21068         Fix etags reading of compressed files
21069         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
21070         Include fcntl.h, for O_CLOEXEC.
21071         (process_file_name): Don't use 'popen', whose streams cannot be
21072         rewound.  Instead, uncompress the file to a temporary file,
21073         created by 'etags_mktmp', and read from that as usual.
21074         (etags_mktmp): New function.
21075         * test/etags/ETAGS.good_1:
21076         * test/etags/ETAGS.good_2:
21077         * test/etags/ETAGS.good_3:
21078         * test/etags/ETAGS.good_4:
21079         * test/etags/ETAGS.good_5: Update to be consistent with latest
21080         changes in etags.c regarding reading compressed files.
21082         Improve documentation of 'set-fontset-font'
21083         * doc/lispref/display.texi (Fontsets): Document the value of nil
21084         for the 3rd argument of 'set-fontset-font'.
21086         Fix documentation of forward-line
21087         * src/cmds.c (Fforward_line): Clarify the return value if the line
21088         at end of accessible portion of the buffer has no newline.
21089         * doc/lispref/positions.texi (Text Lines): Document what happens
21090         if the line at end of accessible portion of buffer has no newline.
21091         (Bug#20587)
21093 2015-05-22  Glenn Morris  <rgm@gnu.org>
21095         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
21097         * admin/charsets/mapconv (LC_ALL): Set to C.
21099         * Makefile.in: Add admin/charsets into top-level clean rules.
21100         (clean): Add admin/charsets.
21101         (maybeclean_dirs): New variable.
21102         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
21104         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
21106 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
21108         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc.
21110 2015-05-22  Glenn Morris  <rgm@gnu.org>
21112         Generate admin/charsets Makefile via configure, and make more portable
21113         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
21114         (admin/charsets/Makefile): Generate it.
21115         * admin/charsets/Makefile.in: Rename from Makefile.
21116         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
21117         New variables, set by configure.
21118         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
21119         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
21120         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
21121         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
21122         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
21123         (all): Declare PHONY.
21124         (local): New PHONY target.
21125         (map_template): New template.  Use to define short PHONY aliases.
21126         (*.map): Add directory prefixes to targets and prerequisites.
21127         Respect make verbosity.
21128         (JISC6226.map): Replace non-portable sed append without newline.
21129         (install): Remove rule.
21130         (clean): Only delete temporary sedscript.
21131         (bootstrap-clean, distclean, maintainer-clean, extraclean)
21132         (totalclean): New PHONY rules.
21133         * admin/charsets/mapconv (BASE): Replace basename with expr.
21134         (FILE): Add "mapfiles" subdirectory.
21135         (AWK): New variable.  Use throughout in place of "awk".
21136         (main): Use "gunzip -c" in place of "zcat".
21137         Don't leave whitespace before "p", for older sed.
21138         * admin/charsets/mapfiles/PTCP154: Add final newline,
21139         to make older sed versions happy.
21141 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
21143         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
21144         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
21145         (auto-revert-notify-watch-descriptor): Use defvar-local.
21146         (find-file-hook, auto-revert-tail-mode)
21147         (auto-revert-notify-add-watch): Use setq-local.
21148         (auto-revert-notify-add-watch): Don't call make-local-variable on
21149         kill-buffer-hook (bug#20601).
21151 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
21153         Change defgeneric so it doesn't completely redefine the function
21154         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
21155         previously defined methods.
21156         (cl-generic-define-method): Let-bind purify-flag instead of
21157         using `fset'.
21158         (cl--generic-prefill-dispatchers): Only define during compilation.
21159         (cl-method-qualifiers): Remove redundant alias.
21160         (help-fns-short-filename): Silence byte-compiler.
21161         * test/automated/cl-generic-tests.el:
21162         Adjust to new defgeneric semantics.
21164 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
21166         * lisp/emacs-lisp/package.el (package-menu-execute):
21167         Remove reference to remove-dups.
21169 2015-05-21  kwhite  <kwhite@gnu.org>
21171         * lisp/erc/erc.el: Hide network/channel messages.
21172         (erc-network-hide-list, etc-channel-hide-list): New lists to define
21173         message types per network/channel.
21174         (erc-add-targets): New function to parse list of targets.
21175         (erc-hide-current-message-p): Modified to check for new targets.
21177 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21179         Don't quote nil and t in doc strings
21180         This is as per "Tips for Documentation Strings" in the elisp manual.
21181         For consistency, do the same in diagnostics and comments.
21183 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
21185         Fix a minor problem with mouse-face on mode line
21186         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
21187         mouse face also if the mouse pointer hovers above mode-line glyphs
21188         that don't come from any Lisp string.  (Bug#20620)
21190 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
21192         * lisp/emacs-lisp/package.el: Fix selected-package logic.
21193         (package-menu-execute): Mark as selected all non-upgrade packages
21194         being installed.
21195         (package-menu--perform-transaction): Don't mark anything.
21197         * lisp/emacs-lisp/package.el: Mode-line progress report.
21198         (package-menu--transaction-status): New variable.
21199         (package-menu-mode, package-menu--perform-transaction): Use it.
21201         * lisp/emacs-lisp/package.el: Better transaction messages.
21202         (package-menu--partition-transaction): New function.
21203         (package-menu--prompt-transaction-p, package-menu-execute):
21204         Use it.
21205         (package-menu--perform-transaction): Don't do any messaging.
21207         * lisp/emacs-lisp/package.el: Revert async package transactions.
21208         (package-menu-async): Update doc.
21209         (package-install-from-archive, package-download-transaction)
21210         (package-install, package-menu--perform-transaction)
21211         (package-menu-execute): Remove asynchronous functionality.
21213 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
21215         Revert doc string changes to f90.el
21216         Problem reported by Glenn Morris in:
21217         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
21218         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
21219         Revert recent changes to doc strings, as it's intended that they
21220         use grave accent, not quote.
21222 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
21224         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p):
21225         Improve parameter name.
21227         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function.
21229 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
21231         Don't require help-fns when not needed
21232         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
21233         * lisp/emacs-lisp/elint.el:
21234         Don't require help-fns at the top level
21235         * lisp/emacs-lisp/advice.el (ad-arglist):
21236         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
21237         Don't require help-fns.  (Bug#17001)
21239 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
21241         Fix slash collapsing in etags on MS-Windows
21242         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
21243         MS-Windows code from the Posix code, and support collapsing both
21244         forward- and back-slashes on MS-Windows.  Fixes a regression found
21245         by the test suite.
21247         Improve documentation of glyphless-char-display
21248         * doc/lispref/display.texi (Glyphless Chars): Improve
21249         documentation of glyphless character display.
21251         Fix "acronym" display of glyphless characters on w32
21252         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
21253         ignore "acronym" substitutes of 1 character for glyphless characters.
21255 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
21257         Add an automated test for let-when-compile
21258         * test/automated/subr-tests.el (let-when-compile): New test.
21260         Add let-when-compile macro instead of using pcase-let
21261         * lisp/subr.el (let-when-compile): New let-like macro that makes its
21262         bindings known to macros like `eval-when-compile' in the body.
21263         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to
21264         a `let-when-compile'.  Also comment out the unused lexical var
21265         `el-kws-re'.
21266         The change greatly improves readability, while providing almost the
21267         same (even shorter) byte code: instead of pre-evaluating 10 variables,
21268         tossing them into a list, and destructuring that list a full screen
21269         page later, the variables are simply bound as they are evaluated,
21270         wrapped individually in `eval-when-compile'.
21272 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
21274         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer.
21275         (package-delete-button-action): New function.
21276         (describe-package-1): Add Delete button.
21278         * lisp/emacs-lisp/package.el: Better dependency description.
21279         (package--used-elsewhere-p): New optional arg, ALL, and return
21280         package-desc objects instead of names.
21281         (package-delete): Update accordingly.
21282         (describe-package-1): Describe which packages require the package.
21284 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
21286         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
21287         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
21288         Fix doc-string.
21290         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
21291         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
21292         (switch-to-buffer): If the selected window is strongly dedicated
21293         to its buffer, signal error before prompting for buffer name.
21294         Handle `switch-to-buffer-in-dedicated-window'.
21295         * doc/lispref/windows.texi (Switching Buffers):
21296         Document `switch-to-buffer-in-dedicated-window'.
21298 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
21300         Prefer "this" to “this” in doc strings
21301         This mostly just straightens quotes introduced in my previous patch.
21302         Suggested by Dmitry Gutov in:
21303         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
21304         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
21305         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
21306         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
21307         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
21308         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
21309         Prefer straight double quotes to curved double quotes in doc strings.
21311         Fix minor quoting problems in doc strings
21312         These were glitches regardless of how or whether we tackle the
21313         problem of grave accent in doc strings.
21314         * lisp/calc/calc-aent.el (math-restore-placeholders):
21315         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
21316         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
21317         * lisp/leim/quail/hebrew.el ("hebrew-new")
21318         ("hebrew-biblical-sil"):
21319         * lisp/leim/quail/thai.el ("thai-kesmanee"):
21320         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
21321         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
21322         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
21323         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
21324         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
21325         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
21326         (semantic-tag-components):
21327         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
21328         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
21329         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
21330         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
21331         * lisp/emacs-lisp/generator.el (iter-next):
21332         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
21333         (gnus-article-mode-syntax-table):
21334         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
21335         * lisp/net/soap-client.el (soap-wsdl-get):
21336         * lisp/net/telnet.el (telnet-mode):
21337         * lisp/org/org-compat.el (org-number-sequence):
21338         * lisp/org/org.el (org-remove-highlights-with-change)
21339         (org-structure-template-alist):
21340         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
21341         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
21342         (handwrite-12pt, handwrite-13pt):
21343         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
21344         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
21345         * lisp/progmodes/verilog-mode.el (verilog-tool)
21346         (verilog-string-replace-matches, verilog-preprocess)
21347         (verilog-auto-insert-lisp, verilog-auto-insert-last):
21348         * lisp/textmodes/makeinfo.el (makeinfo-options):
21349         * src/font.c (Ffont_spec):
21350         Fix minor quoting problems in doc strings, e.g., missing quote,
21351         ``x'' where `x' was meant, etc.
21352         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
21353         Fix minor quoting problem in other string.
21354         * lisp/leim/quail/ethiopic.el ("ethiopic"):
21355         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
21356         Omit unnecessary quotes.
21357         * lisp/faces.el (set-face-attribute, set-face-underline)
21358         (set-face-inverse-video, x-create-frame-with-faces):
21359         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
21360         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
21361         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
21362         * lisp/net/tramp.el (tramp-methods):
21363         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
21364         * lisp/textmodes/artist.el (artist-ellipse-right-char)
21365         (artist-ellipse-left-char, artist-vaporize-fuzziness)
21366         (artist-spray-chars, artist-mode, artist-replace-string)
21367         (artist-put-pixel, artist-text-see-thru):
21368         * lisp/vc/ediff-util.el (ediff-submit-report):
21369         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
21370         Use double-quotes rather than TeX markup in doc strings.
21371         * lisp/skeleton.el (skeleton-pair-insert-maybe):
21372         Reword to avoid the need for grave accent and apostrophe.
21373         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
21374         Don't use grave and acute accents to quote.
21376 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
21378         * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1):
21379         Silence compiler.
21381 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
21383         Try to port new etags tests to MS-Windows
21384         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
21385         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
21386         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
21387         Adjust to test-case changes below.
21388         * test/etags/Makefile (CSRC): Remove dostorture.c.
21389         Whatever it was trying to test, wasn't working portably.
21390         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
21391         just a line-ending problem.
21392         * test/etags/c-src/dostorture.c: Remove.
21393         * test/etags/cp-src/c.C: Remove stray CR.
21394         * test/etags/html-src/algrthms.html: Remove trailing CRs.
21395         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
21396         but if someone edits it later it should stay UTF-8-compatible.
21398 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
21400         Fix display of overlapping window-specific overlays
21401         * src/keyboard.c (adjust_point_for_property): When adjusting point
21402         due to display strings, ignore overlays that are specific to
21403         windows other than the currently selected one.
21404         * src/xdisp.c (handle_single_display_spec): If the display
21405         property comes from an overlay, arrange for buffer iteration to
21406         resume only after the end of that overlay.  (Bug#20607)
21408 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
21410         New command icomplete-force-complete-and-exit
21411         * lisp/icomplete.el (icomplete-force-complete-and-exit):
21412         New command
21413         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
21414         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
21415         (icomplete-minibuffer-map): Bind C-j to it.
21416         (icomplete-forward-completions, icomplete-backward-completions):
21417         Mention the new command in the docstring.
21418         * lisp/minibuffer.el (minibuffer-force-complete-and-exit):
21419         Revert the previous fix for bug#17545.
21421 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
21423         Fix last commit
21425         In Elisp manual explain how to override window manager positioning
21426         (Bug#20552)
21427         * doc/lispref/frames.texi (Position Parameters): Give example of
21428         how to override a window manager positioning decision.
21430         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
21431         * src/frame.c (Fdelete_frame): In doc-string mention that frame
21432         can't be deleted if it has a surrogate minibuffer.
21433         * doc/lispref/frames.texi (Minibuffers and Frames)
21434         (Deleting Frames): Explain "surrogate minibuffer frames".
21436         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
21438 2015-05-18  Glenn Morris  <rgm@gnu.org>
21440         Add option to ignore commit lines matching a pattern in ChangeLog
21441         * build-aux/gitlog-to-changelog: Add --ignore-line option.
21442         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
21444 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
21446         Don't skip new etags tests on non-UTF-8 hosts
21447         Problem reported by Eli Zaretskii for MS-Windows.
21448         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
21449         (LC_ALL): Set to C if the current locale isn't UTF-8.
21450         (.PHONY): Remove ediff_1 thru ediff_5.
21451         (check): Always run.
21453 2015-05-18  Glenn Morris  <rgm@gnu.org>
21455         * lisp/calculator.el (calculator-funcall):
21456         * lisp/textmodes/artist.el (artist-spray-random-points):
21457         Use standard degree/radian conversion utilities.
21459         Further lisp-complete-symbol related cleanup.
21460         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
21461         Unadvertise non-functional argument.  Replace obsolete alias.
21463 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
21465         Add a test case for Maven warning ouput
21466         * test/automated/compile-tests.el
21467         (compile-tests--test-regexps-data): Add a case for Maven warning
21468         ouput.
21469         (compile--test-error-line): Check the compilation message type, if
21470         it's specified in the test data.
21472 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
21474         Update Maven compilation-mode entry to distinguish warnings
21475         * lisp/progmodes/compile.el
21476         (compilation-error-regexp-alist-alist): Update Maven entry to
21477         distinguish warnings (bug#20556).
21479 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
21481         * test/automated/sgml-mode-tests.el: New file.
21483 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
21485         Improve handling of the first Git revision
21486         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
21487         there's no next entry, delete until the end of the buffer.
21488         (log-view-end-of-defun-1): Stop at eob.
21489         * lisp/vc/vc-annotate.el
21490         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
21491         when previous-revision is nil.
21492         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
21493         with `--' to avoid ambiguity.
21494         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
21495         returned revision string.
21496         (vc-git-annotate-time): Expect `^' before the first revision.
21497         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
21498         REV1 is nil, and REV2 is not.
21499         * lisp/vc/vc.el: Update the description of the `diff' function.
21501 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
21503         Allow checkdoc to be called in batch
21504         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
21505         is non-nil, echo the error with `warn'.
21506         How it can be used in -batch:
21507         (with-current-buffer (find-file "checkdoc.el")
21508           (checkdoc-current-buffer t))
21510 2015-05-18  Glenn Morris  <rgm@gnu.org>
21512         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
21514 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
21516         * admin/notes/unicode: New section "binary files".
21518         Change new etags test to use UTF-8 encoding
21519         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
21520         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
21521         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
21522         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
21523         * test/etags/html-src/softwarelibero.html:
21524         Switch to UTF-8 encoding.
21525         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
21526         Remove Makefile, as it's too incestuous to have the test input
21527         include the build procedure.
21528         (UTF8_LOCALE, UTF_ENCODING): New macros.
21529         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
21530         (check): Skip if not UTF-8.
21531         (.PHONY): New rule.
21532         (FRC): Remove, as superseded by .PHONY.  All uses removed.
21533         (regexfile): Prefer printf to echo when outputting oddball chars.
21534         (.PRECIOUS): Remove, as these files are not built.
21536         Rename 'foo-gzipped' to 'foo.gz'
21537         * test/automated/data/decompress/foo.gz:
21538         Rename from test/automated/data/decompress/foo-gzipped,
21539         to make it easier for other tools to tell that it's compressed.
21540         * test/automated/zlib-tests.el (zlib--decompress):
21541         Adjust to renamed file.
21543 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
21545         Set up default-directory
21546         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
21547         binding for `v'.
21548         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
21549         appropriate value for default-directory.
21551 2015-05-17  Samer Masterson  <samer@samertm.com>
21553         * lisp/eshell/em-term.el (eshell-term-sentinel):
21554         No-op by default, only kills term buffer if
21555         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
21556         (eshell-destroy-buffer-when-process-dies): New custom to preserve
21557         previous behavior.
21559         eshell: Introduce new buffer syntax
21560         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
21561         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
21562         needed (Bug#19319).
21563         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
21564         (eshell-get-target): Remove shorthand-specific code.
21565         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
21566         '#<buffer-name>'.
21568 2015-05-17  Jan D  <jan.h.d@swipnet.se>
21570         Merge branch 'master' into cairo
21572 2015-04-26  Jan D  <jan.h.d@swipnet.se>
21574         Merge branch 'master' into cairo
21576         Add PBM support for cairo
21577         * src/image.c (xcolor_to_argb32): New function.
21578         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
21579         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
21580         XImagePtr if ! USE_CAIRO.
21581         (pbm_load): Add cairo support.
21583 2015-04-12  Jan D  <jan.h.d@swipnet.se>
21585         * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw.
21586         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
21587         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
21588         x_free_cr_resources.
21590         Handle specified bg in images.  Use generic libpng code for PNGs.
21591         * src/image.c (get_spec_bg_or_alpha_as_argb)
21592         (create_cairo_image_surface): New functions when USE_CAIRO.
21593         (xpm_load): Call the above functions.  Handle XPM without mask
21594         when USE_CAIRO.
21595         (png_load_body): Handle USE_CAIRO case.
21596         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
21597         instead.
21598         (jpeg_load_body): Call create_cairo_image_surface.
21599         (gif_load, svg_load_image): Handle specified background, call
21600         create_cairo_image_surface.
21601         * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO.
21603 2015-04-11  Jan D  <jan.h.d@swipnet.se>
21605         Support GIF and TIFF with cairo
21606         * configure.ac: Allow jpeg with cairo.
21607         Allow tiff and gif with cairo.
21608         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
21609         (tiff_load): Create cairo image surface if USE_CAIRO.
21610         (gif_load): Ditto.
21612         Support JPEG with USE_CAIRO
21613         * configure.ac: Allow jpeg with cairo.
21614         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
21616 2015-04-05  Jan D  <jan.h.d@swipnet.se>
21618         Support RSVG and cairo
21619         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
21620         * src/dispextern.h (struct image): Add cr_data2 if cairo.
21621         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
21622         (x_clear_image): Free cr_data and cr_data2 if set.
21623         (xpm_load): Assign data to cr_data2.
21624         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
21626 2015-04-03  Jan D  <jan.h.d@swipnet.se>
21628         Introduce limited Xpm support (32 bit ZPixmap) for Cairo
21629         * configure.ac (HAVE_RSVG): Move after cairo.
21630         (USE_CAIRO): Disable rsvg, don't disable Xpm.
21631         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
21632         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
21633         don't return early.
21634         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
21635         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
21636         and create a surface.
21638         Tool tips for menus did not show any text.
21639         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
21640         tip frames, the geometry may be wrong.
21642         Merge branch 'master' into cairo, fixes tooltips not shown.
21644         Merge branch 'master' into cairo
21646         Add CAIRO_CFLAGS to lwlib/Makefile.in
21647         * Makefile.in (CAIRO_CFLAGS): Add.
21649 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21651         * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
21653 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21655         Draw outermost line using black relief and erase corners also for cairo.
21656         * src/xterm.c [USE_CAIRO]: Include math.h.
21657         (enum corners) [USE_CAIRO]: New enum.
21658         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
21659         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
21660         than 1, draw the outermost line using the black relief.
21662         * src/xterm.c (x_fill_trapezoid_for_relief):
21663         Remove unnecessary cairo_close_path.
21665 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21667         * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
21669         * src/xterm.c (x_draw_stretch_glyph_string):
21670         Call x_reset_clip_rectangles instead of XSetClipMask.
21672         Use int instead of unsigned int for width and height args.
21673         * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
21674         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
21675         width and height args.
21677         Modernize k&r cairo-related function declarations.
21678         * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
21679         (xg_print_frames_dialog): Modernize k&r declarations.
21680         * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
21681         (Fx_print_frames_dialog): Modernize k&r declarations.
21682         * src/xterm.c (x_gc_get_ext_data, x_extension_initialize)
21683         (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground)
21684         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
21685         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
21686         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
21687         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
21688         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
21689         (x_clear_area): Modernize k&r declarations.
21691         Implement wave-style variant of underlining for cairo.
21692         * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
21693         (x_draw_underwave) [USE_CAIRO]: Use it.
21695         * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle
21696         instead of XFillRectangle.
21698 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21700         Fix fringe bitmap initialization for cairo
21701         * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap
21702         data for cairo image surface.
21703         * src/xterm.c (x_cr_define_fringe_bitmap):
21704         Call cairo_surface_mark_dirty.
21706 2015-02-11  Jan D  <jan.h.d@swipnet.se>
21708         Add cairo drawing
21709         * configure.ac (with-cairo): New option.
21710         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
21711         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
21712         Output "Does Emacs use cairo?".
21713         * lisp/version.el (emacs-version): Add cairo version.
21714         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
21715         (FONT_OBJ): Add comment about ftcrfont.
21716         (ALL_CFLAGS): Add CAIRO_CFLAGS.
21717         (LIBES): Add CAIRO_LIBS.
21718         * src/dispextern.h (struct image): Add cr_data for cairo.
21719         (x_cr_init_fringe): Declare.
21720         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
21721         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
21722         * src/fringe.c (x_cr_init_fringe): New function name that shares code
21723         with w32_init_fringe.
21724         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
21725         * src/ftfont.c (ftfont_info_size); New global variable.
21726         (ftfont_open2): New extern function almost the same as old ftfont_open,
21727         but takes the font_object as argument.
21728         (ftfont_open): Build font object and call ftfont_open2.
21729         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
21730         * src/gtkutil.c (xg_clear_under_internal_border)
21731         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
21732         Only queue_draw if not cairo.  Change args to x_clear_area.
21733         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
21734         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
21735         (xg_print_frames_dialog): New functions for printing.
21736         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
21737         (xg_print_frames_dialog): Declare.
21738         * src/image.c: Add defined (USE_CAIRO) for PNG.
21739         Add !defined USE_CAIRO for W32 PNG code.
21740         (x_clear_image): If cairo, destroy the surface in cr_data.
21741         (png_load): Add new cairo compatible implementation.
21742         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
21743         * src/xfns.c: New section Printing.
21744         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
21745         (x-print-frames-dialog): New printing functions.
21746         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo.
21747         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
21748         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
21749         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
21750         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
21751         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
21752         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
21753         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
21754         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
21755         Declare.
21756         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
21757         (max_fringe_bmp, fringe_bmp): New variables.
21758         (x_gc_get_ext_data, x_extension_initialize)
21759         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
21760         (x_set_cr_source_with_gc_foreground)
21761         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
21762         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
21763         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
21764         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
21765         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
21766         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
21767         (x_update_begin): Create cairo surface if needed.
21768         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
21769         (x_update_end): Paint cairo drawing surface to xlib surface.
21770         (x_clear_under_internal_border, x_after_update_window_line): Adjust
21771         arguments to x_clear_area.
21772         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
21773         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
21774         of XSetClipMask.
21775         (x_set_glyph_string_clipping)
21776         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
21777         instead of XSetClipRectangles.
21778         (x_clear_glyph_string_rect, x_draw_glyph_string_background):
21779         Use x_fill_rectangle instead of XFillRectangle.
21780         (x_draw_glyph_string_foreground)
21781         (x_draw_composite_glyph_string_foreground)
21782         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle
21783         instead of XDrawRectangle.
21784         (x_draw_relief_rect): Add code for USE_CAIRO.
21785         Call x_reset_clip_rectangles instead of XSetClipMask.
21786         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
21787         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
21788         instead of XSetClipMask.
21789         (x_draw_image_foreground, x_draw_image_foreground_1):
21790         x_draw_rectangle instead of XDrawRectangle.
21791         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
21792         XFillRectangle.
21793         (x_draw_image_glyph_string): If img has cr_data, use it as
21794         a cairo surface.
21795         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
21796         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
21797         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
21798         x_reset_clip_rectangles instead of XSetClipMask.
21799         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
21800         (x_clear_area1): New function that calls XClearArea.
21801         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
21802         non-cairo.
21803         (x_clear_frame): x_clear_window instead of XClearWindow.
21804         (x_scroll_run): Set frame garbaged if cairo.
21805         (XTmouse_position): Initialize *part to 0.
21806         (x_scroll_bar_create): Adjust arguments to x_clear_area.
21807         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
21808         x_fill_rectangle instead of XFillRectangle.
21809         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
21810         arguments to x_clear_area.
21811         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
21812         (handle_one_xevent): Adjust arguments to x_clear_area.
21813         Destroy cairo surface for frame if ConfigureNotify.
21814         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
21815         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
21816         x_reset_clip_rectangles instead of XSetClipMask.
21817         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
21818         x_reset_clip_rectangles instead of XSetClipMask.
21819         (x_clear_frame_area): Adjust arguments to x_clear_area.
21820         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
21821         (x_term_init): Call x_extension_initialize if cairo.
21822         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
21823         x_cr_destroy_fringe_bitmap for cairo.
21824         (x_initialize): Call x_cr_init_fringe for cairo.
21825         * src/xterm.h: Add include of cairo header files.
21826         (x_bitmap_record): Add img if cairo.
21827         (x_gc_ext_data): New struct for cairo.
21828         (x_display_info): Add ext_codes for cairo.
21829         (x_output): Add cr_context and cr_surface for cairo.
21830         (x_clear_area): Change arguments from Display*/Window to frame pointer.
21831         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
21832         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
21833         (x_cr_draw_frame, x_cr_export_frames): Declare.
21835 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
21837         Fix integer-valued `mouse-highlight' (Bug#20590)
21838         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
21840 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
21842         MS-Windows followup for ASCIIfication of curved quotes
21843         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
21844         test for curved quotes being displayable, after switching the
21845         terminal encoding.  (Bug#20545)
21847 2015-05-17  Jan D  <jan.h.d@swipnet.se>
21849         Add comment that x_shift_glyphs_for_insert is never called
21850         * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface):
21851         Add comment that this function is never called.
21853 2015-05-16  Glenn Morris  <rgm@gnu.org>
21855         * src/lisp.mk: Remove from repository and generate at build-time.
21856         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
21857         (shortlisp_filter): New variable.
21858         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
21859         (distclean): Remove lisp.mk.
21860         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
21861         * lisp/loadup.el: Tweak layout to make it easier to parse.
21862         * make-dist: Do not distribute src/lisp.mk.
21864 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
21866         Display shorter dates in Git annotate output
21867         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
21868         format (when not overridden with vc-git-annotate-switches).
21869         (vc-git-annotate-time): Support the short format, as well as ISO
21870         8601 that has been used until now (bug#5428).
21872 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
21874         ASCIIfy curved quotes on displays lacking them
21875         * lisp/international/mule-cmds.el (set-locale-environment):
21876         If curved quotes don't work, display straight ASCII approximations
21877         (Bug#20545).
21879 2015-05-16  Glenn Morris  <rgm@gnu.org>
21881         Small src/Makefile simplification
21882         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
21883         * src/Makefile.in (lisp): Derive from shortlisp.
21884         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
21886 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
21888         * lisp/help-mode.el (help-go-forward): Doc fix.
21889         (Bug#20577)
21891         * doc/lispref/debugging.texi (Profiling): Improve indexing.
21892         (Bug#20576)
21894 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
21896         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
21897         have one fewer `not'.
21899         * lisp/vc/vc-git.el (vc-git-diff-switches)
21900         (vc-git-annotate-switches, vc-git-resolve-conflicts)
21901         (vc-git-program, vc-git-root-log-format): Remove the redundant
21902         :group declarations.
21904 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
21906         Removes the predicate from lisp-complete-symbol (Bug#20456)
21907         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
21908         and remove it from the docstring.
21910 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
21912         Add new option vc-git-resolve-conflicts
21913         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
21914         (vc-git-find-file-hook): Add to after-save-hook only when the
21915         above is non-nil.
21916         (vc-git-resolve-when-done): Update to honor the new variable.
21917         (Bug#20292)
21919 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
21921         * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string.
21922         (tabulated-list-init-header): Document new behavior.
21923         (tabulated-list-print-fake-header): Do nothing if
21924         `tabulated-list--header-string' is nil.
21925         (tabulated-list--header-string): Add a docstring.
21926         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
21927         * etc/NEWS: Document it.
21929 2015-05-15  Leo Liu  <sdl.web@gmail.com>
21931         Revert "Fix cps--gensym"
21932         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
21933         fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
21935 2015-05-15  Glenn Morris  <rgm@gnu.org>
21937         Replace AC_SUBST_FILE in configure with include in Makefiles
21938         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
21939         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
21940         (AUTO_DEPEND): New output variable.
21941         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
21942         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
21943         (lwlib_deps_frag): Replace by conditional include.
21944         * lwlib/autodeps.mk: Remove file.
21945         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
21946         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
21947         (oldxmenu_deps_frag): Replace by conditional include.
21948         * oldXMenu/autodeps.mk: Remove file.
21949         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
21950         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
21951         (lisp_frag): Replace by an include.
21952         (deps_frag): Replace by conditional include.
21953         * src/autodeps.mk: Remove file.
21955         Tweak japanese.el's loading of dependencies
21956         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
21957         * lisp/language/japanese.el: Use require rather than load.
21958         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
21959         Provide a feature.
21960         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
21961         Provide a feature in the generated file.
21963 2015-05-15  Jan D  <jan.h.d@swipnet.se>
21965         Fix NS warnings
21966         * src/nsmenu.m (ns_popup_dialog)
21967         * src/nsimage.m (initFromXBM:width:height:fg:bg:)
21968         * src/nsfns.m (Fx_create_frame): Remove unused variables.
21969         (Fns_read_file_name): Initialize fname, remove ret.
21970         * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
21971         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown):
21972         Remove unused variable.
21973         (init): Add parantesis in if.
21974         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
21976 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
21978         Fix a enum conversion warning in macfont.m
21979         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
21980         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
21982 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
21984         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
21985         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
21987 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
21989         * lisp/cus-start.el: Add ns-confirm-quit.
21991         Fix warnings on OSX 10.10
21992         * src/nsfns.m (MODAL_OK_RESPONSE): New define for different
21993         OSX versions.
21994         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
21995         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
21996         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:)
21997         * src/nsimage.m (allocInitFromFile, setPixmapData): Only call
21998         setScalesWhenResized for OSX < 10.6.
21999         * src/nsterm.h (EmacsScroller): Declare scrollerWidth.
22000         * src/nsterm.m (ns_copy_bits): New function that does not use
22001         deprecated NSCopyBits.
22002         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
22003         (runAlertPanel): New function.
22004         (applicationShouldTerminate:): Call runAlertPanel.
22005         (initFrameFromEmacs, toggleFullScreen:): Only call
22006         useOptimizedDrawing for OSX < 10.10.
22007         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
22008         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
22009         (draggingEntered:): Returns NSDragOperation.
22010         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
22012 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
22014         * lisp/emacs-lisp/package.el: Don't ensure-init during startup.
22015         (package--init-file-ensured): New variable.
22016         (package-initialize, package--ensure-init-file): Use it.
22018 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
22020         Honor :fore/background for XBM on NS (Bug#14969)
22021         * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
22022         initFromXBM takes bg, fg args, remove flip arg.
22023         (ns_image_from_XBM): Add bg, fg args.
22024         * src/image.c (x_create_bitmap_from_data)
22025         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
22026         * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to
22027         initFromXBM.  Remove flip arg.
22028         (initFromSkipXBM): Move code to initFromXBM.
22029         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
22030         Use fg, bg from args (Bug#14969).  Remove if (length) section, was
22031         always false.
22032         Remove bit flipping (bitPat, swt), generated incorrect images when
22033         width/height wasn't a multiple of 8.
22034         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
22035         * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args,
22036         remove flip arg.
22038 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
22040         * lisp/emacs-lisp/package.el: Be more careful with the init file.
22041         (package--ensure-init-file): Check that user-init-file is set,
22042         exists, is readable, and is writable.  (Bug#20584)
22043         Also expand the docstring.
22045 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
22047         Sync with upstream verilog-mode revision 6232468
22048         * lisp/progmodes/verilog-mode.el
22049         (verilog-font-lock-grouping-keywords-face)
22050         (verilog-highlight-grouping-keywords): Fix use of face when
22051         `verilog-highlight-grouping-keywords' set.  Reported by Jeff Pompa.
22052         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
22053         parent is reset, bug906.  Reported by Ken Schmidt.
22054         (verilog-auto-inout-module): Add fourth regexp argument to
22055         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856.
22056         Reported by John Tillema.
22057         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
22058         modport if signal attachment is itself a modport.  Reported by
22059         Matthew Lovell.
22060         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
22061         always_comb and always_latch, bug844.  Reported by Greg Hilton.
22062         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
22063         with many curly-bracket pairs, bug663.
22064         (verilog-set-auto-endcomments): Fix end comments for functions of
22065         type void, etc.  Reported by Alex Reed.
22066         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
22067         caused by indent-line-to deleting tabls pre 24.5.
22068         (verilog-nameable-item-re): Fix nameable items that can have an
22069         end-identifier to include endchecker, endgroup, endprogram,
22070         endproperty, and endsequence.  Reported by Alex Reed.
22071         (verilog-label-be): When auto-commenting a buffer, consider
22072         auto-comments on all known keywords (not just a subset thereof).
22073         Reported by Alex Reed.
22074         (verilog-auto-end-comment-lines-re)
22075         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
22076         Automatically comment property/endproperty blocks to match other
22077         similar blocks like sequence/endsequence, function/endfunction, etc.
22078         Reported by Alex Reed.
22079         (verilog-set-auto-endcomments): Detect the function- or task-name
22080         when auto-commenting blocks that lack an explicit portlist.
22081         Reported by Alex Reed.
22082         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
22083         allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
22084         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
22085         is nil, fix indenting initial/final to match always statements,
22086         bug825.  Reported by Tim Clapp.
22087         (verilog-extended-complete-re): Fix indentation of DPI-C imports
22088         with c_identifiers, and DPI-C imports, bug557.  Reported by ZeDong
22089         Mao and Jason Forkey.
22090         (verilog-read-decls): Fix parsing typed interfaces.  Fix
22091         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
22092         Fix localparam not being ignored in AUTOINSTPARAM,
22093         bug889.  Reported by Shannon Hill.
22094         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
22095         bug793.  Reported by Pierre-David Pfister.
22096         (verilog-auto-arg-format, verilog-auto-arg-ports):
22097         Add verilog-auto-arg-format to support newlines in AUTOARG.
22098         Reported by Jie Xiao.
22099         (verilog-batch-execute-func): Do not batch re-auto files loaded by
22100         Local Variables.  Fix printing "no changes to be saved" with
22101         verilog-batch.  Reported by Dan Dever.
22102         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
22103         interface-only modules, bug721.  Reported by Dean Hoyt.
22104         Author: Alex Reed <acreed4@gmail.com>
22105         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement):
22106         Don't treat '<keyword>:<identifier>' as the start of a labeled
22107         statement, bug905.  Reported by Enzo Chi.
22108         (verilog-directive-re, verilog-compiler-directives)
22109         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
22110         directives (plus some extras) when determining indentation, bug
22111         901.  Reported by Bernd Beuster.
22112         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
22113         iff expression doesn't start with word-character, bug900.
22114         (verilog-optional-signed-range-re, verilog-optional-signed-re):
22115         Fix incorrect indentation/alignment of unsigned declarations,
22116         bug897.
22117         (verilog-looking-back, verilog-in-attribute-p): Fix labeling of
22118         always constructs, bug895.
22119         (verilog-calc-1): Fix verilog-mode constraint indentation, bug324.
22120         Reported by Eric Mastromarchi.
22121         (verilog-beg-of-statement): Fix indenting for some forms of
22122         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
22123         continued assignment incorrect if first line ends with ']', bug437.
22124         Reported by Dan Dever.  Fix indention of cover inside an
22125         ifdef, bug 862.  Reported by Bernd Beuster.  Fix labeling do-while
22126         blocks, bug842.
22127         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859.
22128         Reported by Kaushal Modi.
22129         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
22130         (verilog-backward-token): Fix indenting sensitivity lists with
22131         named events, bug840.  Reed.
22132         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
22133         nil not honoring 'forever', 'foreach', and 'do' keywords.
22135 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22137         Check for invalid GTK+ monitor scales
22138         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
22139         INT_MAX for too-large scales.  All callers changed to assume the
22140         result is valid (Bug#20432).
22141         (xg_frame_set_char_size, xg_update_scrollbar_pos):
22142         Calculate scale only if needed.
22143         Show ASCII approximations instead.
22145 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
22147         Fix daemon crashes when linum-mode is turned on early on
22148         * src/window.c (Fwindow_end): Don't try calling display engine
22149         functions on initial-frame frame.  (Bug#20565)
22151         Fix selective diff browsing in Ediff
22152         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches):
22153         Go to the beginning of the region before searching for the
22154         ediff-regexp-focus-* regexps.  (Bug#20568)
22156 2015-05-14  Jan D  <jan.h.d@swipnet.se>
22158         Fixes bug#20142
22159         * src/gtkutil.c (delete_cb): Don't send delete event here, it does
22160         arrive in the main loop, even for Gtk 3 (Bug#20142).
22162         Don't access display after i/o error (Bug#19147).
22163         * src/xterm.c (x_connection_closed): Add third arg ioerror.
22164         If ioerror, set display to 0 (Bug#19147).
22165         (x_error_quitter): Call x_connection_closed with third arg false.
22166         (x_io_error_quitter): Call x_connection_closed with third arg true.
22168         Handle GTK_SCALE, fixes Bug#20432.
22169         * src/gtkutil.c (xg_get_gdk_scale): New function.
22170         (xg_frame_set_char_size)
22171         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
22172         (xg_get_default_scrollbar_height)
22173         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
22174         when setting sizes (Bug#20432).
22176 2015-05-13  Leo Liu  <sdl.web@gmail.com>
22178         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
22180 2015-05-13  Glenn Morris  <rgm@gnu.org>
22182         Fix bootstrap (void function cl-member).
22183         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
22184         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
22186 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
22188         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
22189         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
22190         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
22191         Avoid defalias for closures which are not immutable.
22192         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill
22193         the dispatchers table with various entries.
22194         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
22195         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
22197 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
22199         Improve tagging of C bindings in DEFVAR_*
22200         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
22201         from DEFVAR_*.
22203 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
22205         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
22207 2015-05-12  Glenn Morris  <rgm@gnu.org>
22209         * lisp/progmodes/tcl.el (tcl-filter):
22210         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
22212         Add basic VC push support
22213         * lisp/vc/vc.el (vc-push): New autoloaded command.
22214         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
22215         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
22216         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
22217         (vc-bzr-push): New.
22218         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
22219         (vc-git-pull): Reimplement using vc-git--pushpull.
22220         (vc-git-push): New.
22221         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
22222         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
22223         * doc/emacs/maintaining.texi (Pulling / Pushing):
22224         Rename from "VC Pull".  Mention pushing.
22225         (VC With A Merging VCS, VC Change Log): Update xrefs.
22226         (Branches): Update menu.
22227         * doc/emacs/emacs.texi: Update menu.
22228         * etc/NEWS: Mention this.
22230 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
22232         Improve the seq pcase pattern and the `seq-let' macro
22233         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
22234         object is a sequence, and binds each element of ARGS to the
22235         corresponding element of the sequence.
22237 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
22239         Fix tags created from DEFVAR_* declarations in C
22240         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
22241         to make tags extracted from DEFVAR_* declarations more accurate.
22243         Add a test suite for etags
22244         * test/etags/: New test suite, adapted from
22245         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
22246         whose original author is Francesco Potortì <pot@gnu.org>.
22248         Fix tagging of symbols in C enumerations
22249         * lib-src/etags.c (consider_token): Don't tag symbols in
22250         expressions that assign values to enum constants.  See
22251         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
22252         for details.
22253         (C_entries): Reset fvdef to fvnone after processing a preprocessor
22254         conditional and after a comma outside of parentheses.
22256 2015-05-12  Glenn Morris  <rgm@gnu.org>
22258         * lisp/url/url-handlers.el (url-file-name-completion)
22259         (url-file-name-all-completions): Silence compiler.
22261         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
22263         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
22265 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
22267         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
22268         (cl--generic-mandatory-args): Remove.
22269         (cl--generic-split-args): New function.
22270         (cl-generic-define, cl--generic-lambda): Use it.
22271         (cl-generic-define-method): Use it as well, and add support for
22272         context args.
22273         (cl--generic-get-dispatcher): Handle &context dispatch.
22274         (cl--generic-cache-miss): `dispatch-arg' can now be a
22275         context expression.
22276         (cl--generic-dispatchers): Pre-fill.
22277         * test/automated/cl-generic-tests.el (sm-generic-test-12-context):
22278         New test.
22280 2015-05-11  Glenn Morris  <rgm@gnu.org>
22282         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
22284 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
22286         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
22287         * lisp/term/rxvt.el: Require term/xterm.
22288         (rxvt-function-map): Use xterm-rxvt-function-map.
22289         (rxvt-standard-colors): Move before first use.
22290         (terminal-init-rxvt): Use xterm--push-map and
22291         xterm-register-default-colors.
22292         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
22293         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
22294         Move shared bindings between rxvt and xterm to it.
22295         (xterm-function-map): Use it.  Move the xterm-paste binding to
22296         xterm-rxvt-function-map (bug#20444).
22297         (xterm-standard-colors): Move before first use.
22298         (xterm--push-map): New function.
22299         (xterm-register-default-colors): Take standard colors as argument.
22300         (terminal-init-xterm): Use it.  Adjust call to
22301         xterm-register-default-colors.
22303 2015-05-11  Glenn Morris  <rgm@gnu.org>
22305         * lisp/term/x-win.el: Quieten --without-x compilation.
22306         (x-own-selection-internal, x-disown-selection-internal)
22307         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
22308         Declare.
22310         * Makefile.in (emacslog): Remove srcdir.
22311         (ChangeLog): Update for the above.
22313 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
22315         python.el: better limit for looking-back calls
22316         * lisp/progmodes/python.el (python-shell-accept-process-output):
22317         Use last comint prompt start as limit for looking-back.
22319 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
22321         CEDET (srecode-insert-fcn): Fix use of oref on a class
22322         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref
22323         on a class.  Reported by Pierre Lorenzon.
22324         (srecode-template-inserter-point): Remove declaration.
22326         CEDET (srecode-create-dictionary): Avoid obsolete object name
22327         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
22328         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
22330 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
22332         C-x 8 shorthands for curved quotes, Euro, etc.
22333         Although C-x 8 lets you insert arbitrary Unicode characters,
22334         it's awkward to use this to insert commonly used symbols such as curved
22335         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
22336         characters commonly found in English text and in basic math.
22337         For example, assuming the Alt key works on your keyboard and iso-transl
22338         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
22339         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
22340         (Bug#20499)
22341         * doc/emacs/mule.texi (Unibyte Mode):
22342         A few other printing characters now work too.
22343         * etc/NEWS: Document this.
22344         * lisp/international/iso-transl.el (iso-transl-char-map):
22345         Also support the following characters:
22346         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
22348 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
22350         Add xref-find-regexp
22351         * lisp/progmodes/xref.el (xref-find-function): Describe the
22352         `matches' action.
22353         (xref-find-regexp): New command, using it.
22354         (xref-collect-references): Rename to xref-collect-matches.
22355         (xref--collect-reference): Rename to xref--collect-match.
22356         (xref-collect-matches, xref--collect-match): Accept new argument,
22357         KIND.  Update accordingly.
22358         (xref--regexp-to-extended): New function.
22359         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
22360         `matches' action.
22361         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
22362         * lisp/progmodes/etags.el (etags-xref-find):
22363         Support the `matches' action.
22364         (etags--xref-find-matches): New function.
22366 2015-05-10  Glenn Morris  <rgm@gnu.org>
22368         * Makefile.in: Fixes for recent change-history changes.
22369         (change-history-nocommit): Update footer regexp.
22370         Ensure output script stays executable.
22372 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
22374         New version of `seq-let' based on a pcase pattern
22375         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
22376         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
22378 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
22380         Add basic HTML5 tags and a template
22381         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
22382         (html-tag-alist): Add HTML5 tags.
22383         (html-tag-help): Add new tags descriptions.
22384         (html-navigational-links): Template for nav links.
22385         (html-html5-template): Template for a HTML5 page.
22387 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
22389         semantic/symref/grep: Don't use word boundaries
22390         * lisp/cedet/semantic/symref/grep.el
22391         (semantic-symref-perform-search): Instead of wrapping input in
22392         word boundaries, check that the characters before and after are
22393         not word constituents.
22395         semantic/symref/grep: Support regexp search
22396         * lisp/cedet/semantic/symref.el
22397         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
22398         the search type is regexp.
22399         * lisp/cedet/semantic/symref/grep.el
22400         (semantic-symref-perform-search): Support the regexp search type.
22401         Pass -E to Grep when it's used.
22403         semantic-symref-regexp: Allow to input an arbitrary string
22404         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
22405         Allow to input an arbitrary string interactively.
22407         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
22408         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
22409         Remove tag-symbol-match-p from the default value
22410         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
22412         Declare find-tag obsolete
22413         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
22414         xref-find-definitions.
22416 2015-05-10  Jan D  <jan.h.d@swipnet.se>
22418         Draw composite string correctly (Bug#20537)
22419         * src/nsterm.m (ns_draw_composite_glyph_string_foreground):
22420         New function.
22421         (ns_draw_glyph_string): Call it.
22423 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
22425         Avoid infloop in ERC
22426         * lisp/simple.el (line-move-to-column): Ignore field boundaries
22427         while computing line beginning position.  (Bug#20498)
22429 2015-05-08  Glenn Morris  <rgm@gnu.org>
22431         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
22432         * build-aux/gitlog-to-emacslog: Check called from right directory.
22433         (srcprefix): Remove.
22435         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
22436         * Makefile.in (ChangeLog): No longer pass "distprefix".
22437         * make-dist: Update "make ChangeLog" syntax for the above change.
22439         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
22440         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
22442         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
22444         Add command-line option-parsing to gitlog-to-emacslog
22445         * build-aux/gitlog-to-emacslog: Add command-line options.
22446         By default, refuse to remove an existing output file.
22447         * Makefile.in (CHANGELOG): Update default.
22448         (ChangeLog): Do not test for existing file.
22449         (change-history-nocommit): Ensure temp file does not exist.
22451         Quieten --without-x compilation
22452         * lisp/term/common-win.el: Provide a feature.
22453         * lisp/term/x-win.el (term/common-win): Require it.
22455         * lisp/dired-aux.el (dired-do-print): Require lpr.
22457         Quieten compilation, eg in --without-x builds
22458         * lisp/dired-aux.el (lpr-printer-switch):
22459         * lisp/frame.el (tool-bar-height):
22460         * lisp/linum.el (font-info):
22461         * lisp/window.el (font-info, overflow-newline-into-fringe)
22462         (tool-bar-height):
22463         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
22464         * lisp/gnus/gnus-util.el (iswitchb-mode):
22465         * lisp/mail/rmailmm.el (libxml-parse-html-region):
22466         * lisp/net/nsm.el (gnutls-peer-status)
22467         (gnutls-peer-status-warning-describe):
22468         * lisp/net/shr.el (libxml-parse-xml-region):
22469         * lisp/url/url-http.el (gnutls-peer-status): Declare.
22471 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
22473         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
22474         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
22475         `subclass' since they're never called with a class.
22476         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
22477         srecode-dictionary-child-p.
22479 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
22481         * lisp/help.el (help--binding-locus): Document argument POSITION.
22482         (Bug#20530)
22484 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
22486         Merge from gnulib
22487         * doc/misc/texinfo.tex: Get latest version.
22489 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
22491         ffap.el (ffap-read-file-or-url): Fix completing-read call
22492         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
22493         `completing-read' should be a symbol.
22495 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
22497         Verify file modifications by other programs
22498         * src/filelock.c (lock_file): Check whether the file was modified
22499         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
22501         Fix keyboard macros that include function keys
22502         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
22503         keys in the macro before returning.  (Bug#20454)
22505 2015-05-08  Glenn Morris  <rgm@gnu.org>
22507         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
22508         "Copyright-paperwork-exempt".  (Bug#20324)
22510         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
22511         (log-edit-rewrite-tiny-change): New variable.
22512         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
22513         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
22514         * etc/NEWS: Mention this.
22516         * lisp/calc/calc.el (math-zerop): Declare.
22518         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
22520 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
22522         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec.
22523         Support the case when BINDINGS is a single tuple.  (Bug#20525)
22525         * etc/NEWS: Fix typo in previous commit
22526         (14bb519f1034ddb38ce375cbad7095d9b07f8b26).
22528 2015-05-07  Jan D  <jan.h.d@swipnet.se>
22530         * configure.ac: Warn for multiple display crash for all Gtk+ versions.
22531         Output URL to Gtk+ bug (Bug#20452).
22533         * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection.
22535 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
22537         * lisp/emacs-lisp/package.el: New "external" package status.
22538         An external package is any installed package that's not built-in
22539         and not from `package-user-dir', which usually means it's from an
22540         entry in `package-directory-list'.  They are treated much like
22541         built-in packages, in that they cannot be through the Package Menu
22542         deleted and are not considered for upgrades.
22543         (package-desc-status): Identify if a package is installed outside
22544         `package-user-dir'.
22545         (package-menu--print-info-simple)
22546         (package-menu--status-predicate): Add support for it.
22547         * etc/NEWS: Document it.
22549 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22551         * lisp/mail/rmail.el: Use lexical-binding.
22552         (rmail-bury): Remove unused var `buffer-to-bury'.
22553         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
22554         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
22555         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
22556         (rmail-insert-inbox-text): Remove unused var `movemail'.
22557         (rmail-add-mbox-headers): Remove unused var `limit'.
22558         (rmail-undelete-previous-message): Remove unused var `value'.
22559         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
22560         `resent-reply-to'.
22561         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
22562         (rmail-restore-desktop-buffer): Rename arguments.
22564 2015-05-06  Glenn Morris  <rgm@gnu.org>
22566         * Makefile.in (change-history-commit): Add missing piece of previous.
22568         Avoid unnecessary bumping of Makefile.in's timestamp
22569         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
22570         (emacslog): New variable.
22571         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
22572         (unchanged-history-files): Use $emacslog rather than Makefile.in.
22573         (change-history-nocommit): Store hash in $emacslog.
22574         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
22575         * admin/update_autogen (changelog_files): Update for the above.
22577         * Makefile.in: Don't always insist on removing existing "ChangeLog".
22578         (CHANGELOG): New variable.
22579         (no-ChangeLog): Remove.
22580         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
22581         (change-history-nocommit): Use a temp file rather than insisting
22582         on deletion of any existing "ChangeLog".
22584         * build-aux/gitlog-to-emacslog: Allow specification of output.
22586         * admin/update_autogen: Add option to update ChangeLog.
22587         (usage): Mention -H.
22588         (changelog_flag, changelog_n, changelog_files): New variables.
22589         (main): Check for -H, and maybe run change-history-nocommit.
22591 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22593         * lisp/subr.el (delete-dups): Pre-size the hashtable.
22595         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
22596         cl--arglist-args is defined (bug#20517).
22598 2015-05-06  Glenn Morris  <rgm@gnu.org>
22600         * Makefile.in (change-history-nocommit): New.
22602 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
22604         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
22605         timer when it is non-nil
22606         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
22608 2015-05-06  Glenn Morris  <rgm@gnu.org>
22610         Quieten CEDET compilation
22611         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
22612         Invert fboundp test to quieten on current Emacs.
22613         * lisp/cedet/ede/config.el (ede-shell-run-something)
22614         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
22615         (semanticdb-refresh-table): Declare.
22616         (ede-preprocessor-map): Require semantic/db.
22618         Quieten cc-mode compilation
22619         * lisp/progmodes/cc-awk.el (c-forward-sws):
22620         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
22621         Declare.
22623 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
22625         * lisp/subr.el (delete-dups): Avoid nreverse.
22627 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
22629         * lisp/subr.el (delete-dups): Make it destructive again.
22631 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22633         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
22635 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22637         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487).
22638         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
22639         (testcover--read): Rename from testcover-read.  Change calling
22640         convention.  Use edebug-read-and-maybe-wrap-form now that edebug-read
22641         is gone.
22642         (testcover-start): Use add-function.  Move edebug-all-defs binding to
22643         testcover--read.
22644         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
22645         (testcover-mark): Remove unused var `item'.
22646         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
22648 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
22650         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
22651           use a hash table.  This can result in ~500 times speed-up for typical
22652           collections of size 5000, like that of `load-library'.
22654 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22656         CEDET: Avoid `oref' on classes in a few more cases
22657         * lisp/cedet/ede/generic.el (ede-find-target):
22658         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
22659         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
22660         var `prefix'.
22662         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings.
22663         (grepflags, greppattern): Declare.
22664         (semantic-symref-perform-search): Remove unused var `pat'.
22666         CEDET (srecode-compile-inserter): Avoid `oref' on classes
22667         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
22668         Avoid `oref' on classes (bug#20491).
22669         (srecode-compile-split-code): Remove unused var `key'.
22671 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
22673         Clean up pulse.el a little
22674         * lisp/cedet/pulse.el (pulse): Remove.
22675         (pulse-momentary-timer): Save instead of the stop time.
22676         (pulse-momentary-highlight-overlay):
22677         Call pulse-momentary-unhighlight first thing.
22678         Treat pulse-momentary-overlay as a single value, not a list.
22679         Save the created timer.  Only pass the stop time to the timer.
22680         (pulse-tick): Update accordingly.
22681         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
22682         single value.  Cancel the timer.
22684 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
22686         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
22687         Support the biblatex journaltitle field.
22689 2015-05-05  Glenn Morris  <rgm@gnu.org>
22691         Minor declare-function improvement
22692         * lisp/emacs-lisp/bytecomp.el
22693         (byte-compile-macroexpand-declare-function):
22694         Handle declarations after calls.  (Bug#20509)
22696         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
22698         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
22700 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
22702         Pulse using a timer
22703         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
22704         (pulse-momentary-highlight-overlay): Set up the timer instead of
22705         calling `pulse'
22706         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
22707         (pulse-tick): New function.
22708         (pulse-momentary-unhighlight): Cut off the stop time.
22709         (pulse-delay): Update the docstring WRT to not using sit-for.
22711         Add semantic/symref/grep file patterns for ruby-mode
22712         * lisp/cedet/semantic/symref/grep.el
22713         (semantic-symref-filepattern-alist): Add patterns for ruby-mode.
22714         Clarify the docstring.
22716         Don't require match
22717         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
22718         match.  That doesn't work for every command, and some identifier
22719         completion tables are bound to be imperfect anyway.
22721 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22723         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505).
22724         (semantic-grammar--template-expand): New function.
22725         (semantic-grammar-header, semantic-grammar-footer): Use it.
22726         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
22727         (semantic-grammar-file-regexp): Refine regexp.
22728         (semantic-grammar-eldoc-get-macro-docstring):
22729         Use elisp-get-fnsym-args-string when available.
22730         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
22731         instead of the old eldoc-* names.
22732         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
22733         from elisp-mode.el.  Tweak calling convention.
22734         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
22735         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
22736         elisp--get-fnsym-args-string.
22737         (elisp--highlight-function-argument): Add `prefix' arg.
22738         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
22739         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
22741 2015-05-05  Glenn Morris  <rgm@gnu.org>
22743         * lisp/help-fns.el (describe-function-1):
22744         Handle builtins with advertised calling conventions.  (Bug#20479)
22746 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
22748         Merge branch 'seq-let'
22750         Update `seq-let' documentation
22751         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
22752         with the support of  `&rest'.
22754         Add support for &rest in `seq-let'
22755         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
22756         in the argument list.
22757         * test/automated/seq-tests.el: Add a test for parsing and binding
22758         `&rest' in `seq-let'.
22760 2015-05-05  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
22762         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get):
22763         Add missing increment (Bug#20467).
22764         (eieio-object-value-create): Adjust to new slots representation
22765         (Bug#20467).
22766         (eieio-object-value-create): Fix missed adjustment to new
22767         representation of slots metadata.
22769 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
22771         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
22773 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
22775         Work around "Attempt to modify read-only object"
22776         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
22777         elisp--xref-find-definitions, to work around "Attempt to modify
22778         read-only object" error.
22780         Only skip some variables that have function counterparts
22781         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
22782         Only skip minor-mode-named variable if it's defined in a Lisp
22783         file, and it's in minor-mode-list (bug#20506).
22784         * test/automated/elisp-mode-tests.el
22785         (elisp-xref-finds-both-function-and-variable)
22786         (elisp-xref-finds-only-function-for-minor-mode): New tests.
22788 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
22790         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
22791         previous change.
22792         (xref--insert-xrefs): Buttonize the whole line, including the
22793         number at the beginning.
22795         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
22796         Make sure we're inside the let bindings.
22797         * test/automated/elisp-mode-tests.el
22798         (elisp-completes-functions-after-let-bindings): New test.
22800 2015-05-04  Glenn Morris  <rgm@gnu.org>
22802         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
22803         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
22804         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
22805         Remove outdated declarations.
22807         Replace instances of "(eval-when-compile (autoload ...))"
22808         * lisp/gnus/gnus-art.el (nneething-get-file-name):
22809         Declare rather than autoload.
22810         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
22811         Remove pointless autoload.
22812         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
22813         (gnus-topic-create-topic, gnus-topic-enter-dribble):
22814         Declare rather than autoload.
22815         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
22816         (mailcap-extension-to-mime): Autoload at run-time.
22817         * lisp/gnus/mm-util.el (latin-unity-massage-name)
22818         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
22819         (latin-unity-representations-present-region):
22820         Declare rather than autoload.
22821         * lisp/gnus/mml-smime.el (epg-make-context)
22822         (epg-passphrase-callback-function): Autoload at run-time.
22823         (epg-context-set-signers, epg-context-result-for)
22824         (epg-new-signature-digest-algorithm)
22825         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
22826         (epg-sign-string, epg-encrypt-string)
22827         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
22828         (epg-configuration, epg-expand-group, epa-select-keys):
22829         Declare rather than autoload.
22830         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
22831         Autoload at run-time.
22832         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
22833         (gnus-registry-get-id-key, gnus-registry-action):
22834         Declare rather than autoload.
22835         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
22836         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
22837         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
22838         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
22839         (spam-stat-split-fancy): Remove pointless autoloads.
22840         * lisp/net/mairix.el: Load gnus-util when compiling.
22841         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
22842         (message-field-value): Declare rather than autoload.
22843         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
22844         Check gnus-alive-p is fbound.
22845         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
22846         (vm-check-for-killed-summary, vm-error-if-folder-empty)
22847         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
22848         Declare rather than autoload.
22850         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
22852         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
22853         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
22855         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
22857         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
22859         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
22860         * lisp/emacs-lisp/package.el (epg-signature-status):
22861         Fix declarations.
22863         * lisp/play/gametree.el (gametree-show-children-and-entry)
22864         (gametree-apply-layout, gametree-mouse-show-subtree)
22865         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
22867         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
22868         Handle cl-defgeneric, cl-defmethod.
22870 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
22872         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
22873         Highlight both type and symbol name.
22875         Insert, highlight and align line numbers in xref output
22876         * lisp/progmodes/etags.el (xref-location-line): Specialize for
22877         xref-etags-location.
22878         * lisp/progmodes/xref.el (xref-location-line): New generic method.
22879         (xref-file-location): Add reader for the line slot.
22880         (xref--location-at-point): Skip to the `xref-location' property.
22881         (xref--collect-reference): Drop the line number from description.
22882         (xref--insert-xrefs): Insert, highlight and align line numbers.
22884 2015-05-04  Daniel Colascione  <dancol@dancol.org>
22886         * lisp/simple.el (save-mark-and-excursion--save)
22887         (save-mark-and-excursion--restore): Fix previous commit
22888         (255a011f0ecf004b31c59945b10154b10fac3af1).
22890 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
22892         Don't pulse the indentation, or the newline
22893         * lisp/cedet/pulse.el (pulse-lighten-highlight)
22894         (pulse-reset-face): Fall back to the inherited background
22895         attribute in FACE.
22896         (pulse-momentary-highlight-region): Add autoload cookie.
22897         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
22898         indentation, or the newline, if the line's non-empty
22899         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
22901 2015-05-04  Daniel Colascione  <dancol@dancol.org>
22903         Add `save-mark-and-excursion', which has the old
22904         `save-excursion' behavior
22905         * doc/lispref/positions.texi (Excursions):
22906         Document `save-mark-and-excursion'.
22907         * lisp/font-lock.el (font-lock-fontify-block):
22908         Use `save-mark-and-excursion' instead of `save-excursion',
22909         restoring Emacs 24 behavior.
22910         * lisp/simple.el (save-mark-and-excursion--save)
22911         (save-mark-and-excursion--restore): New functions.
22912         (save-mark-and-excursion): New user macro.
22913         * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion'
22914         in `save-excursion' documentation.
22916 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
22918         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
22919         Classify lone symbol inside let varlist as variable.
22920         * test/automated/elisp-mode-tests.el
22921         (completest-variables-in-let-bindings): New test.
22923         Add xref-pulse-on-jump
22924         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
22925         Add autoload cookie.
22926         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
22927         (xref--maybe-pulse): New function.
22928         (xref-pop-marker-stack, xref--pop-to-location)
22929         (xref--display-position): Use it.
22930         (xref--location-at-point): Use back-to-indentation.
22932 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
22934         lisp/org/org-{macs,list}.el: Fix lexical warnings
22935         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
22936         (org-list-get-next-item, org-list-get-prev-item)
22937         (org-list-get-children): Mark unused arg `struct'.
22938         (org-list-use-alpha-bul-p): Remove unused var `bul'.
22939         (org-toggle-checkbox): Mark unused var.
22940         (org-update-checkbox-count): Remove unused var `box-num'.
22941         (org-adapt-indentation): Declare.
22942         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
22943         (org-list-send-list): Remove unused var `txt'.
22944         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
22945         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
22946         * lisp/org/org-macs.el: Use `declare'.
22947         (org-with-limited-levels): Declare dyn-bound vars.
22949 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
22951         Fix minor issues with CEDET on MS-Windows
22952         * lisp/cedet/semantic/symref/idutils.el
22953         (semantic-symref-parse-tool-output-one-line): Fix the search
22954         regexp to match MS-Windows file names with drive letters.
22955         (Bug#19468)
22956         * lisp/cedet/semantic/symref/grep.el
22957         (semantic-symref-grep-use-template): Remove "--color=always" from
22958         Grep switches on MS-Windows.
22959         (semantic-symref-grep-shell): Use shell-file-name as the default
22960         value, so this works not only on Posix platforms.
22961         (semantic-symref-perform-search): Use shell-quote-argument instead
22962         of literal '..' for portable quoting of Grep command-line
22963         argument.  Use shell-command-switch instead of a literal "-c".
22964         * lisp/cedet/semantic/bovine/gcc.el
22965         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
22966         for an absolute file name in a portable way.
22968 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
22970         * lisp/emacs-lisp/package.el: Remove `package--silence' variable.
22971         (package-import-keyring, package-refresh-contents)
22972         (package-compute-transaction, package--save-selected-packages)
22973         (package-install-from-archive, package-delete)
22974         (package-menu--perform-transaction): Use `inhibit-message' instead.
22975         (package--compile): Set `warning-minimum-level' to :error.
22977 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
22979         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom.
22980         (terminal-init-screen): Use it (bug#20356).
22981         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
22982         (xterm--extra-capabilities-type): New const.
22983         (xterm-extra-capabilities): Use it.
22984         (xterm--version-handler): Lower the pseudo-version for `screen'.
22986 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
22988         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
22989         Always insert a newline at the end (to avoid mouse-face background
22990         tail at the last line).
22992         elisp-completion-at-point: Prioritize being quoted over funpos
22993         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
22994         Only consider function position when not inside quoted form
22995         (bug#20425).
22996         * test/automated/elisp-mode-tests.el: New file.
22998         Stop vc-print-log from jumping to the top
22999         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
23000         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
23001         is not specified.
23002         (vc-incoming-outgoing-internal): Always pass nil.
23003         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
23004         call it, and don't set vc-sentinel-movepoint (bug#15322).
23005         (vc-print-root-log): Don't fetch the root working revision, nor
23006         pass it to vc-print-log-internal.
23008 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
23010         Fix display of keyboard layouts for right-to-left scripts
23011         * lisp/international/quail.el (quail-insert-kbd-layout):
23012         Force left-to-right paragraph direction.
23014 2015-05-02  K. Handa  <handa@gnu.org>
23016         * src/cmds.c (internal_self_insert): When we insert spaces for
23017         padding, set point before the padding spaces, not after them.
23019 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
23021         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
23023 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
23025         Fix etags-xref-find for references
23026         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
23027         Use `cl-mapcan'.
23028         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
23029         directory if no tags tables are loaded (bug#19468).
23031 2015-05-02  Philipp Stephani  <phst@google.com>
23033         Update the options in whitespace-style defcustom
23034         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
23035         `repeat' because the option is really set-like.  Add missing
23036         options.  Reorder options to match the order in the
23037         documentation.  (Bug#20346)
23039 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
23041         Fix error diagnostics of c-macro-expand
23042         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
23043         too early if no start-marker string was found -- that generally
23044         means cpp exited abnormally, and we still want to show its error
23045         messages to the user.
23047         Don't require Texinfo 5.0 for Emacs documentation
23048         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
23049         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
23050         "@codequoteundirected on", respectively, to avoid requiring
23051         Texinfo 5.x for Emacs documentation.
23053 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
23055         * lisp/files.el (pwd):
23056         When called with a prefix argument, insert the current default
23057         directory at point.
23059 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
23061         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
23062         * lisp/isearch.el (isearch-mode-map): Don't inhibit
23063         function-key-map remapping for backspace (bug#20466).
23065 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
23067         Implement xref-find-references in etags and elisp-mode
23068         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
23069         (elisp-xref-find): Use it.
23070         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
23071         * lisp/progmodes/xref.el (xref-collect-references):
23072         (xref--collect-reference): New functions.
23074 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
23076         Prefer plain characters to Texinfo circumlocutions
23077         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
23078         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
23080         Fix single-quoting style in PDF manuals
23081         The PDF versions of the GNU manuals used curved single quotes to
23082         represent grave accent and apostrophe, which made it a pain to cut
23083         and paste code examples from them.  Fix the PDF versions to use
23084         grave accent and apostrophe for Lisp source code, keystrokes, etc.
23085         This change does not affect the info files, nor does it affect
23086         ordinary uses of curved single quotes in PDF.
23087         * doc/emacs/docstyle.texi: New file, which specifies treatment for
23088         grave accent and apostrophe, as well as the document encoding.
23089         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
23090         * doc/lispintro/emacs-lisp-intro.texi:
23091         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
23092         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
23093         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
23094         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
23095         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
23096         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
23097         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
23098         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
23099         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
23100         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
23101         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
23102         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
23103         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
23104         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
23105         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
23106         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
23107         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
23108         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
23109         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
23110         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
23111         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
23112         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
23113         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
23114         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
23115         * doc/misc/woman.texi:
23116         Use it instead of '@documentencoding UTF-8', to lessen the need for
23117         global changes like this in the future.
23118         * doc/emacs/Makefile.in (EMACS_XTRA):
23119         * doc/lispintro/Makefile.in (srcs):
23120         * doc/lispref/Makefile.in (srcs):
23121         Add dependency on docstyle.texi.
23122         * doc/misc/Makefile.in (style): New macro.
23123         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
23124         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
23125         Use it.
23127 2015-05-01  Glenn Morris  <rgm@gnu.org>
23129         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
23131         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
23132         (help-fns--signature): Declare.
23134         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
23136 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
23138         New macro seq-let, providing destructuring support to seq.el
23139         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
23140         to `cl-destructuring-bind' but works on all sequence types supported
23141         by `seq.el'.  Bump version number to 1.6.
23142         * test/automated/seq-tests.el: Add tests for seq-let.
23143         * doc/lispref/sequences.texi: Add documentation for seq-let.
23145 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
23147         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer.
23149 2015-05-01  Glenn Morris  <rgm@gnu.org>
23151         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
23153 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
23155         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
23156         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
23157         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
23158         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
23159         (Bug#20445).
23161 2015-05-01  K. Handa  <handa@gnu.org>
23163         * lisp/international/mule-cmds.el (input-method-use-echo-area):
23164         Change :type to 'boolean.
23166 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
23168         Start using proportional fonts in eww by default
23169         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
23170         it seems to work well.
23172         Fix links in tables in shr
23173         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
23174         makes (some) links in tables not work.
23176 2015-05-01  Jan D  <jan.h.d@swipnet.se>
23178         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
23180 2015-04-30  Glenn Morris  <rgm@gnu.org>
23182         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
23183         Update for 2015-02-08 change to indirect-function.
23185         * lisp/term/ns-win.el (ns-get-selection-internal):
23186         Remove declaration for function deleted 2014-10-21.
23188         * lisp/dom.el: Load subr-x when compiling, for when-let.
23190         Silence some compilation warnings
23191         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
23192         * lisp/emulation/cua-base.el (delete-active-region):
23193         * lisp/net/net-utils.el (w32-get-console-output-codepage):
23194         * lisp/term/ns-win.el (ns-own-selection-internal)
23195         (ns-disown-selection-internal, ns-selection-owner-p)
23196         (ns-selection-exists-p, ns-get-selection):
23197         Declare for compiler.
23199         Function declaration updates prompted by 'make check-declare'
23200         * lisp/emacs-lisp/package.el (lm-homepage):
23201         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
23202         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
23203         * lisp/gnus/mml.el (libxml-parse-html-region):
23204         * lisp/gnus/nnrss.el (libxml-parse-html-region):
23205         * lisp/net/eww.el (libxml-parse-html-region):
23206         * lisp/net/shr.el (libxml-parse-html-region):
23207         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
23208         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
23209         * lisp/vc/vc-git.el (vc-annotate-convert-time):
23210         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
23211         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
23212         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
23213         Update declaration.
23215         Remove compatibility code for 20-year old function renaming
23216         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
23217         Make it an obsolete alias.
23218         (idlwave-shell-filter): Change all uses to comint-output-filter.
23220 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
23222         Add ace-window face config
23223         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
23224         configuration.
23226 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
23228         Unclutter 'make doc' output a bit
23229         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
23230         Use make subst rather than sh IFS to split target string apart.
23231         This makes 'make' output easier to follow.
23233         Merge from gnulib
23234         * doc/misc/texinfo.tex: Update from gnulib.
23236 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
23238         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh.
23239         (package-menu--print-info): Obsolete.
23240         (package-menu--print-info-simple): New function.
23241         (package-menu--refresh): Use it, simplify code, and improve
23242         performance.
23243         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
23244         Tiny performance improvement.
23246         * lisp/emacs-lisp/package.el (package--message): inhibit-message.
23248 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
23250         Omit -Wstrict-overflow workaround in GCC 5
23251         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
23252         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
23254         Merge from gnulib
23255         This incorporates:
23256         2015-04-29 extern-inline: no need for workaround in GCC 5.1
23257         2015-04-26 file-has-acl: port to CentOS 6
23258         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
23260 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
23262         Set next-error-* in xref--xref-buffer-mode
23263         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
23264         Set `next-error-function' and `next-error-last-buffer'.
23265         (xref--next-error-function): New function.
23266         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
23268 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
23270         python.el: Fix warnings on looking-back calls missing LIMIT
23271         * lisp/progmodes/python.el (python-shell-accept-process-output):
23272         Pass LIMIT arg to looking-back.
23274 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
23276         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress.
23277         (package--download-and-read-archives): Use pushnew instead of
23278         append.  If something terrible happened during a previous
23279         download, simply refreshing should now make things work again.
23281 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
23283         Introduce etags-xref-find-definitions-tag-order
23284         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
23285         New variable.
23286         (etags--xref-find-definitions): Use it (bug#19468).
23288 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
23290         PATH- and completion-related fixes in Eshell on MS-Windows
23291         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
23292         MS-Windows, prepend "." to list of directories produced from PATH,
23293         as Windows always implicitly searches the current directory first.
23294         (eshell-force-execution): Make it have a non-nil default value on
23295         MS-Windows and MS-DOS.
23296         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
23297         eshell-force-execution is non-nil, complete on readable files and
23298         directories, not only executables.  When running on MS-Windows,
23299         prepend "." to list of directories produced from PATH, as Windows
23300         always implicitly searches the current directory first.
23302 2015-04-29  Sam Steingold  <sds@gnu.org>
23304         Bury RCIRC buffers when there is no activity
23305         * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove.
23306         (rcirc-bury-buffers): New function.
23307         (rcirc-next-active-buffer): When there is no new activity, use
23308         `rcirc-bury-buffers' to hide all RCIRC buffers.
23310 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
23312         Fix DBUS query result parsing for secrets-search-items
23313         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
23314         parsing.  The function assumed that return value of the
23315         SearchItems method called on a collection is a list of two lists,
23316         however this is true only when no collection is specified.  GNOME
23317         had used to incorrectly return a list of two lists in both cases,
23318         but this was already fixed:
23319         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
23320         incorrect information in the secrets-search-items’ docstring.
23321         (Bug#20449)
23323 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
23325         * lisp/emacs-lisp/bytecomp.el (byte-compile--message):
23326         Use `inhibit-message' instead of hiding the previous message
23327         with (message nil).
23329 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
23331         Remove the deprecated INTERNAL_FIELD macro by expanding it
23332         * src/lisp.h (INTERNAL_FIELD): Remove.
23333         (DEFVAR_KBOARD): Modify accordingly.
23334         * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c:
23335         * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users.
23336         * src/buffer.c (compact_buffer): Use BVAR.
23338 2015-04-29  Glenn Morris  <rgm@gnu.org>
23340         Replace an obsolete function alias
23341         * lisp/isearch.el (isearch-yank-x-selection):
23342         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
23343         (mouse-drag-secondary-moving):
23344         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
23345         Replace obsolete alias x-get-selection with gui-get-selection.
23347 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
23349         * lisp/mail/rmailsum.el: Use lexical-binding.
23351 2015-04-29  Glenn Morris  <rgm@gnu.org>
23353         * test/automated/package-test.el (package-test-update-archives-async):
23354         Skip test on hydra.nixos.org.
23356 2015-04-28  Glenn Morris  <rgm@gnu.org>
23358         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
23359         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
23360         (foldout-mouse-hide-or-exit): Use new names for outline functions.
23362         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
23363         Update for 2014-06-26 hideif.el change.
23365         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
23366         (rmail--decode-and-apply): New function.
23367         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
23369         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
23371 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
23373         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
23374         (package-menu--refresh): Delegate obsolete-hiding to
23375         `package--remove-hidden'.
23376         (package--remove-hidden): Disregard high-priority package if it is
23377         older than the installed one.
23379 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
23381         Update source file encoding list
23382         Update admin/notes/unicode, along with coding system cookies in
23383         other files, so that the two match each other better.
23384         * admin/notes/unicode: lisp/language/ethio-util.el and
23385         lisp/language/ethiopic.el also use utf-8-emacs.
23386         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
23387         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
23388         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
23389         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
23390         * etc/refcards/sk-survival.tex:
23391         Add "coding: utf-8" so that this file is not mishandled in a
23392         Latin-1 or Big-5 locale.
23393         * lisp/international/robin.el, lisp/org/ox-ascii.el:
23394         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
23395         * lisp/language/ethio-util.el: Fix trailer.
23397 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
23399         Fix synchronous invocation of Ispell
23400         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
23401         value to ispell-process-directory before calling ispell-init-process.
23402         Don't call set-process-coding-system if ispell-async-processp is nil.
23403         (Bug#20448)
23405 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
23407         * lisp/emacs-lisp/package.el: Skip space and comments in init file
23408         (package--ensure-init-file): Insert snippet at first
23409         non-whitespace non-comments line.  Respects local-vars at the top
23410         of the file.
23412 2015-04-28  Glenn Morris  <rgm@gnu.org>
23414         * lisp/mail/rmail.el (rmail-copy-headers):
23415         Handle rmail-nonignored-headers being nil.  (Bug#18878)
23417         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
23419         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
23420         Don't get confused by a bzrlib version mismatch warning.
23422 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23424         Change default location of EUDC options file
23425         * etc/NEWS: Document change to EUDC options file's default location.
23426         * lisp/net/eudc-vars.el (eudc-options-file): Use
23427         `locate-user-emacs-file' to change default options file location.
23429 2015-04-27  Glenn Morris  <rgm@gnu.org>
23431         * test/automated/package-test.el (package-test-update-archives-async):
23432         Try to handle the test server script dying.
23434 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23436         * lisp/saveplace.el (save-place-mode): New minor mode.
23437         (save-place): Redefine as an obsolete alias.
23439         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
23440         * lisp/midnight.el: Use lexical-binding.
23441         (midnight-mode): Make it a proper minor mode.
23442         (midnight-buffer-display-time): Make arg non-optional.
23443         (midnight-find): Remove.
23444         (clean-buffer-list-kill-never-regexps)
23445         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
23446         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
23447         contain functions.
23448         (clean-buffer-list): Use cl-find.
23449         Allow clean-buffer-list-kill-never-regexps to contain functions.
23451 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
23453         Bump version of seq.el to 1.5
23454         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
23455         from seq-doseq.  Bump version number of seq.el.
23457 2015-04-27  Glenn Morris  <rgm@gnu.org>
23459         * lisp/mail/rmail.el (rmail-reply):
23460         Decode subject before matching "Re:" prefix.  (Bug#20396)
23462 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
23464         * lisp/emacs-lisp/package.el: Small improvements
23465         (package--with-work-buffer-async): More informative error.
23466         (package-install-user-selected-packages): Rename to
23467         `package-install-selected-packages'.
23469 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23471         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
23472         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
23473         (eieio--class-make): Remove leftover `tag'.
23475 2015-04-27  Glenn Morris  <rgm@gnu.org>
23477         * lisp/gnus/message.el (gnus-extract-address-components):
23478         Remove bogus declaration that was masking previous problem.
23480 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
23482         * lisp/gnus/message.el (message-insert-formatted-citation-line):
23483         Fix typo.  (Bug#20318)
23485 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23487         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
23489         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
23490         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
23491         the buffer in yet another frame.
23492         (reftex-toc-visit-location): Make sure toc-window has focus at the end
23493         when `final' is nil.
23494         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
23495         silence warnings.  Use `--' to clarify that it's internal.
23496         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
23497         (reftex-toc-promote): Clarify unused argument.
23498         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
23499         Add `reftex--' prefix.  Fix all users.
23500         (reftex-toc-promote-prepare): Use _ for dummy variable.
23501         (reftex-toc-restore-region): Rename `m.
23503 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
23505         Fix a typo in bibtex.el
23506         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
23507         last change.  (Bug#20429)
23509         Fix redisplay of frame after loading new fonts
23510         * src/xdisp.c (redisplay_internal): When retrying redisplay of
23511         a frame because new fonts were loaded, disable all redisplay
23512         optimizations on that frame by calling SET_FRAME_GARBAGED.
23513         (Bug#20410)
23515 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23517         * lisp/info.el (Info-menu): Properly provide the `default'
23518         (Bug#20391)
23520         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
23521         Catch errors from documentation (bug#20418).
23522         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
23524 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
23526         * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler.
23527         Remove redundant ":group 'package".
23529 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
23531         Fix a typo in rmail.el
23532         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
23533         last commit.  (Bug#20429)
23535 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
23537         Introduce xref-prompt-for-identifier
23538         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
23539         (xref--read-identifier): Use it
23540         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
23542 2015-04-26  João Távora  <joaotavora@gmail.com>
23544         `tex-insert-quote' after single `'' opens quotes instead of closing
23545         Without this, it's very hard to precede double quotes with the
23546         apostrophe character, i.e. insert the sequence '``
23547         (quote-backquote-backquote), commonly useful in portuguese, for
23548         instance.
23549         * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of
23550         preceding chars making `tex-insert-quote' be in the "opening" context.
23552 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
23554         Pass `id' to `completing-read' as def instead of initial input
23555         * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to
23556         `completing-read' as the default value instead of initial input
23557         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
23559 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
23561         Don't freeze with unreadable processes
23562         Don't freeze if an exiting process can't be read from.  (Bug#19860).
23563         This fixes a bug I introduced in
23564         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
23565         "* process.c: Add sanity checks for file descriptors."
23566         Dmitry Gutov did most of the legwork in finding the problem.
23567         * src/process.c (wait_reading_process_output):
23568         Treat non-running processes that can't be read from
23569         the same as other non-running processes.
23571 2015-04-25  Alan Mackenzie  <acm@muc.de>
23573         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
23574         * lisp/subr.el (remove-yank-excluded-properties): Put
23575         `with-silent-modifications' around only the last three lines of code.
23577 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
23579         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
23580         (package--all-keywords): Deleted variable.
23582         * etc/NEWS: Document package-hiding functionality.
23584 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
23586         * lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
23588         Clarify the doc string of 'replace-regexp-in-string'
23589         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
23591         Improve doc string of 'insert-buffer-substring'
23592         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
23594         MS-Windows followup for the recent gnulib update
23595         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
23596         acl-internal.c.
23598 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
23600         Spelling fixes
23602         Merge from gnulib
23603         This incorporates:
23604         2015-04-24 file-has-acl: new module, split from acl
23605         2015-04-24 manywarnings: add GCC 5.1 warnings
23606         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
23607         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
23608         2015-04-15 acl: On Linux, check for acls without libacl
23609         2015-04-14 tempname: avoid unused parameter warnings (trivial)
23610         * lib/acl-internal.c: New file, from gnulib.
23611         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
23612         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
23613         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
23614         Update from gnulib.
23616         Port --enable-gcc-warnings to GCC 5.1 x86-64
23617         * lib-src/ebrowse.c (dump_sym):
23618         * lib-src/hexl.c (main):
23619         * src/ccl.c (ccl_driver):
23620         * src/character.c (string_escape_byte8):
23621         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
23622         * src/gnutls.c (Fgnutls_boot):
23623         * src/gtkutil.c (xg_check_special_colors):
23624         * src/image.c (x_build_heuristic_mask):
23625         * src/print.c (safe_debug_print, print_object):
23626         * src/term.c (produce_glyphless_glyph):
23627         * src/xdisp.c (get_next_display_element)
23628         (produce_glyphless_glyph):
23629         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
23630         Don't use a signed format to print an unsigned integer, or vice
23631         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
23632         * src/image.c (png_load_body, jpeg_load_body):
23633         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
23635 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
23637         Add new faces to tsdh-light-theme
23638         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
23639         definitions for Info-quoted, ace-jump-face-foreground,
23640         hl-paren-face, show-paren-match, and show-paren-mismatch.
23642 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
23644         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
23646 2015-04-24  Glenn Morris  <rgm@gnu.org>
23648         * build-aux/gitlog-to-emacslog:
23649         Use raw log format rather than wrapped one.
23651 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
23653         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code.
23654         (seq-doseq): Fix out-of-scope binding.
23655         Don't call `seq-length at every iteration.
23656         Reduce `if's from 3 to 2 per iteration.
23657         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
23659 2015-04-24  Glenn Morris  <rgm@gnu.org>
23661         * lisp/textmodes/text-mode.el (text-mode-hook):
23662         Move text-mode-hook-identify to default.
23664         * lisp/mouse.el (minor-mode-menu-from-indicator):
23665         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
23667         * lisp/help-fns.el (describe-function): More type checking.
23668         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
23670         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
23671         (Bug#20325)
23673 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
23675         shr: strip leading whitespace when expanding URLs
23676         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
23678 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
23680         Clarify "co-authored" some more
23682         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
23684         Clarify doc strings of functions that search for properties
23685         * src/textprop.c (Fnext_char_property_change)
23686         (Fprevious_char_property_change)
23687         (Fnext_single_char_property_change)
23688         (Fprevious_single_char_property_change, Fnext_property_change)
23689         (Fnext_single_property_change, Fprevious_property_change)
23690         (Fprevious_single_property_change): Clarify doc strings wrt return
23691         value and the optional LIMIT argument.  (Bug#20411)
23693 2015-04-24  Glenn Morris  <rgm@gnu.org>
23695         * test/automated/message-mode-tests.el (message-mode-propertize):
23696         Handle non-writable HOME; eg on hydra.nixos.org.
23698 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
23700         Avoid starting threads by w32-shell-execute
23701         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
23702         local file names, before invoking ShellExecute.  (Bug#20220)
23704 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
23706         Fix following doc-links in `widget-documentation-link-action'
23707         * lisp/wid-edit.el (widget-documentation-link-action): Make
23708         following doc-links less simplistic (Bug#20398).
23710 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23712         Improve EUDC manual
23713         * doc/misc/eudc.texi (Troubleshooting):
23714         New LDAP troubleshooting subsection.
23716 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23718         Omit needless "\ " after multibyte then newline
23719         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
23720         (print_object): When print-escape-multibyte is non-nil and a
23721         multibyte character is followed by a newline or formfeed, followed
23722         by a hex digit, don't output a needless "\ " before the hex digit.
23723         * test/automated/print-tests.el (print-hex-backslash): New test.
23725 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
23727         Add a new `inhibit-message' variable
23728         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
23729         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
23730         `inhibit_message' is non-zero.
23731         * etc/NEWS: Add an entry.
23732         * doc/lispref/display.texi: Add an entry for `inhibit-message',
23733         mention it in `message'.
23735 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
23737         Fix last fix in `display-buffer-record-window'.
23738         * lisp/window.el (display-buffer-record-window): Fix last fix.
23740 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
23742         Minor edits in CONTRIBUTE
23743         * CONTRIBUTE: Rearrange instructions about log messages.
23744         Use "Git" capitalized all over.
23745         Use 2 spaces between sentences.
23747 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
23749         * lisp/files.el (basic-save-buffer): Fix argument.
23751         * lisp/cus-edit.el (custom-file): Consider init-file-had-error.
23752         In case `(and (null custom-file) init-file-had-error)' do the same
23753         thing we'd do if `(null user-init-file)', which is to either error out
23754         or return nil.  This is in line with `custom-save-all' which would
23755         throw an error in that situation.  (Bug#20355)
23757         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu.
23758         (package-menu-hide-low-priority): New variable, see its doc.
23759         (package-archive-priorities): Update doc.
23760         (package-desc-priority): New function.
23761         (package-desc-priority-version): Use it.
23762         (package--remove-hidden): New function.
23763         (package-menu--refresh): Use it.
23765         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages.
23766         (package-menu--hide-obsolete): New variable.
23767         (package--remove-hidden): Use it.
23768         (package-menu-hide-obsolete): New interactive function to toggle
23769         the variable.
23770         (package--quick-help-keys): Document it.
23771         (package-menu-async): Add :version tag.
23772         (package-menu-mode-map): Bind package-menu-hide-obsolete.
23773         (package-desc-status): Indicate non-installed obsolete packages as
23774         avail-obso.
23775         (package-menu-mark-install): Allow installation of avail-obso.
23776         (package-menu--status-predicate): Sort avail-obso with available.
23778 2015-04-22  Alan Mackenzie  <acm@muc.de>
23780         On C-y, stop some text property entries being written into buffer-undo-list
23781         * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in
23782         `with-silent-modifications'.
23784 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
23786         In display-buffer-record-window record selected window if necessary
23787         * lisp/window.el (display-buffer-record-window): Store selected window
23788         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
23790 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
23792         Fix reftex-citation bug
23793         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
23794         Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX
23795         integration is enabled and there are no citations in the document
23796         so far.
23798 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
23800         Add or reset based on the presence of MERGE_HEAD
23801         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
23802         `vc-git-resolve-when-done' to `after-save-hook' in either case.
23803         (vc-git-conflicted-files): Add a TODO.
23804         (vc-git-resolve-when-done): Depending on the presence of
23805         MERGE_HEAD, either update the resolved file in the index, or
23806         remove it from there.  (Bug#20292)
23808 2015-04-21  Glenn Morris  <rgm@gnu.org>
23810         * lisp/custom.el (custom-declare-group): No need to purecopy
23811         custom-current-group-alist members following recent change to set
23812         it to nil before dumping.
23814         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
23815         (Bug#20399)
23817 2015-04-21  Daniel Colascione  <dancol@dancol.org>
23819         Unbreak no-op buffer save message
23820         * lisp/files.el (basic-save-buffer): Accept called-interactively as
23821         an argument instead of directly invoking called-interactively-p,
23822         which will always yield nil in that context.
23824 2015-04-21  Alan Mackenzie  <acm@muc.de>
23826         CC Mode: Do nothing in before/after-change-functions for text
23827         property changes
23828         Fixes bug#20266.
23829         * lisp/progmodes/cc-mode.el (c-basic-common-init): Make
23830         yank-handled-properties buffer local, and remove 'category from it.
23831         (c-called-from-text-property-change-p): New function.
23832         (c-before-change): Don't do anything if a call of the new function
23833         returns non-nil.
23834         (c-after-change): Don't do much if a call of the new function returns
23835         non-nil.
23836         (c-extend-after-change-region): Put changes to text property 'fontified
23837         inside c-save-buffer-state.
23839 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
23841         Fix byte-compiler warnings about looking-back
23842         * lisp/vc/log-view.el (log-view-end-of-defun-1):
23843         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
23844         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
23845         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
23846         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
23847         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
23848         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
23849         * lisp/org/org.el (org-insert-heading, org-sort-entries):
23850         * lisp/org/org-mouse.el (org-mouse-end-headline)
23851         (org-mouse-context-menu):
23852         * lisp/org/org-clock.el (org-clock-cancel):
23853         * lisp/man.el (Man-default-man-entry):
23854         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
23855         (rmail-ensure-blank-line):
23856         * lisp/mail/footnote.el (Footnote-delete-footnote):
23857         * lisp/mail/emacsbug.el (report-emacs-bug):
23858         * lisp/info.el (Info-follow-reference, Info-fontify-node):
23859         * lisp/info-look.el (info-lookup-guess-custom-symbol):
23860         * lisp/help-fns.el (help-fns--key-bindings):
23861         * lisp/files.el (hack-local-variables):
23862         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
23863         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
23864         (viper-complete-filename-or-exit):
23865         * lisp/emulation/viper-cmd.el (viper-backward-indent):
23866         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
23867         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
23868         * lisp/cus-edit.el (custom-face-edit-value-create):
23869         * lisp/calendar/todo-mode.el (todo-set-item-priority)
23870         (todo-filter-items-1, todo-convert-legacy-files)
23871         (todo-prefix-overlays): Add explicit second arg to looking-back.
23873 2015-04-20  Glenn Morris  <rgm@gnu.org>
23875         Avoid non-nil current-load-list at startup
23876         * src/process.c (init_process_emacs): Move Fprovide statement...
23877         (syms_of_process): ... to here.
23879         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
23881         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value
23882         in emacs -Q.
23884 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
23886         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
23887         (Bug#20330)
23889 2015-04-20  Glenn Morris  <rgm@gnu.org>
23891         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
23893         Tweak exec-path in uninstalled case
23894         * src/callproc.c (init_callproc): If running uninstalled, do not
23895         include eventual installation libexec directory in exec-path.
23897 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
23899         * lisp/emacs-lisp/package.el: Filter by multiple keywords and
23900         cache keywords.
23901         (package-menu-filter): Accept a list of keywords.
23902         (package--all-keywords): New variable to cache known keywords.
23903         (package-all-keywords): Populate it if necessary.
23904         (package-refresh-contents): Reset it.
23906         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
23907         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
23908         as special keywords which match agains package archive and status
23909         respectively.
23910         * etc/NEWS: Document it.
23912 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
23914         Describe and index "empty overlays".
23915         * doc/lispref/display.texi (Overlays): Improve indexing.
23916         (Managing Overlays): Describe "empty" overlays.
23917         (Overlay Properties, Finding Overlays): Add cross-reference to
23918         where empty overlays are described.
23920 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
23922         Spelling fixes
23924         Quote 'like this' in top-level files
23925         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
23926         Prefer to single-quote 'like this' (instead of the older style
23927         `like this').
23928         * configure.ac: Fix some space-before-tab problems that 'git commit'
23929         complained about.
23931         Use bool for boolean in textprop.c, undo.c
23932         * src/textprop.c (soft, hard): Now constants instead of macros.
23933         (validate_plist): Rewrite to avoid need for boolean local.
23934         (interval_has_all_properties, interval_has_some_properties)
23935         (interval_has_some_properties_list, add_properties)
23936         (remove_properties, get_char_property_and_overlay)
23937         (Fnext_single_char_property_change)
23938         (Fprevious_single_char_property_change, add_text_properties_1)
23939         (Fremove_text_properties, Fremove_list_of_text_properties)
23940         (copy_text_properties):
23941         * src/tparam.c (tparam1):
23942         * src/undo.c (record_change, record_property_change)
23943         (syms_of_undo):
23944         Use 'true' and 'false' for booleans.
23946 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
23948         * lisp/vc/vc-git.el (vc-git-find-file-hook):
23949         Call `smerge-start-session' even when dealing with a stash
23950         conflict (bug#20292).
23952 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
23954         Add option to eshell/clear to clear scrollback.
23955         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
23956         (eshell/clear): Add an optional SCROLLBACK argument.  If non-nil,
23957         scrollback contents are cleared.
23958         * etc/NEWS: Describe change.
23959         * doc/misc/eshell.texi: Add entry for `clear'.
23961 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
23963         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
23964         where either will do.
23966 2015-04-19  Steve Purcell  <steve@sanityinc.com>
23968         Assume package archive-contents are UTF8-encoded
23969         * lisp/emacs-lisp/package.el (package--read-archive-file):
23970         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
23971         downloaded and cached archive-contents files, so that non-ASCII
23972         characters in package descriptions are displayed correctly in the
23973         `list-packages' menu.  (Bug#20231)
23975 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
23977         Abort when looking at stashed changes
23978         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
23979         stashed changes (bug#20292).
23981 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
23983         Refactor low-level printing for simplicity
23984         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
23985         PRINTPREPARE; doable now that we assume C99.  All callers changed.
23986         (PRINTCHAR): Remove, as it adds more mystery than clarity.
23987         All callers changed.
23988         (strout): Assume that caller computes length.  All callers changed.
23989         (print_c_string): New function.
23990         (write_string, write_string_1): Compute length instead of asking
23991         the caller to compute it.  All callers changed.
23992         (write_string): Simplify by using write_string_1.
23993         (write_string_1): Simplify by using print_c_string.
23994         (Fterpri): Compute default val more clearly.
23995         (Fprin1_to_string, print_object):
23996         Assume C99 to avoid unnecessary nesting.
23997         (print_object): Prefer print_c_string to multiple printchar, or
23998         to calling strout with -1 length.  Coalesce into sprintf when
23999         this is easy.
24001 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
24003         Prefer "Bug#1234" in commit messages (Bug#20325)
24004         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
24005         as this isn't useful for Git.
24006         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
24008 2015-04-18  Glenn Morris  <rgm@gnu.org>
24010         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
24011         (Bug#19506)
24013 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
24015         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
24016         Do not use `chomp' as a function.  (Bug#19505)
24018 2015-04-18  Glenn Morris  <rgm@gnu.org>
24020         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
24022         * doc/emacs/misc.texi (Sorting): Small edit.
24023         (Bug#19896)
24025         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
24027 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
24029         css-mode.el: Support multi-line comment filling
24030         (Bug#20256)
24031         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
24032         comment filling.
24033         (css-adaptive-fill): New function.
24034         (css-mode): Set `adaptive-fill-function'.
24035         (scss-mode): Set `comment-continue'.
24037 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
24039         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into):
24040         Better error messages.
24042 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
24044         Minor improvements in Bulgarian input methods
24045         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
24046         Replace U+042C with U+045D, as the former character is not used in
24047         the modern Bulgarian language.
24048         (Bug#20350)
24050 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24052         Improve EUDC manual
24053         * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL
24054         authentication schemes.  Add index items.  Shorten example server
24055         name.
24057 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
24059         Don't show both feature and function with the same name
24060         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
24061         Don't show both feature and function with the same name.
24063         (elisp--xref-identifier-location): Skip variable, if it's also
24064         a function
24065         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
24066         Avoid returning both the variable and the function for the same
24067         minor mode.
24069 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
24071         Fix fontification of keywords clobbered by the prompt
24072         * lisp/comint.el (comint-output-filter): Remove the uses of
24073         with-silent-modifications I introduced as part of the last change.
24074         This fixes, e.g., erratically missing highlighting when running
24075         ./configure --help; ./configure in a shell-mode buffer with
24076         compilation-shell-minor-mode turned on.
24078 2015-04-17  Glenn Morris  <rgm@gnu.org>
24080         * admin/authors.el (authors-valid-file-names)
24081         (authors-renamed-files-alist): Additions.
24083 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
24085         * lisp/indent.el (indent-region): Don't deactivate the mark.
24086         (Bug#20357)
24088 2015-04-17  Sam Steingold  <sds@gnu.org>
24090         * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable.
24092 2015-04-16  Leo Liu  <sdl.web@gmail.com>
24094         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
24096 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
24098         * lisp/erc/erc-pcomplete.el (erc-pcomplete):
24099         Don't use `pcomplete' any more.
24101 2015-04-16  Glenn Morris  <rgm@gnu.org>
24103         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
24105 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
24107         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
24108         * configure.ac (LIBJPEG): Leave it empty for MinGW.
24110 2015-04-16  Glenn Morris  <rgm@gnu.org>
24112         * lisp/replace.el (query-replace-from-to-separator):
24113         Delay initialization to avoid rogue setting after startup.
24115 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
24117         Pre-4.6 GCC succeeds with unknown option
24118         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
24119         (Bug#20338)
24121 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
24123         '[:graph:]' now excludes whitespace, not just ' '
24124         * doc/lispref/searching.texi (Char Classes):
24125         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
24126         sans whitespace (not sans space).
24127         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
24128         not just space.
24129         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
24131 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
24133         * lisp/subr.el (substitute-key-definition-key, special-form-p)
24134         (macrop): Drop deprecated second arg to indirect-function.
24135         (looking-back): Make the second arg non-optional.
24137         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
24138         command is actually sent to the shell.
24140 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
24142         Port jpeg configuration to Solaris 10 with Sun C
24143         * configure.ac: Check for jpeglib 6b by trying to link it, instead
24144         of relying on cpp magic that has problems in practice.  Check for
24145         both jpeglib.h and jerror.h features.  Remove special case for
24146         mingw32, which should no longer be needed (and if it were needed,
24147         should now be addressable by hotwiring emacs_cv_jpeglib).
24148         (Bug#20332)
24150 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
24152         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
24153         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
24154         Move to elisp-mode.el.
24155         (lisp-mode-variables): (Re)move elisp-specific settings.
24156         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
24157         from lisp-mode-variables.
24158         (elisp--font-lock-flush-elisp-buffers): New function, moved from
24159         lisp-mode.el.
24161         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
24162         Avoid pathological slowdown at top-level in large file.
24164 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
24166         Standardize names of ChangeLog history files
24167         Suggested by Glenn Morris in:
24168         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
24169         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
24170         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
24171         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
24172         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
24173         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
24174         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
24175         Remove.
24177         Split top-level entries into pre- and post-April 7
24178         This more clearly distingiushes pre-April-7 ChangeLog entries (which
24179         are for top-level files only) from post-April-7 entries (which are
24180         about files at all levels.  Problem reported by Glenn Morris in:
24181         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
24182         * ChangeLog.1: Move post-April-7 entries from here ...
24183         * ChangeLog.2: ... to this new file.
24184         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
24186 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
24188         Fix recent cus-start changes that added customize-rogues
24189         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
24190         vars early.
24191         * lisp/loadup.el ("cus-start"): Move to the end to reduce
24192         customize-rogue.
24194 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
24196         Define cl-concatenate as an alias to seq-concatenate
24197         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
24198           code by making cl-concatenate an alias to seq-concatenate.
24200 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
24202         * src/lread.c (intern_1): Make sure we'd find the symbol we add
24203         (Bug#20334)
24204         * src/xfaces.c (resolve_face_name): Don't use `intern' with
24205         Lisp_Strings.
24207 2015-04-15  Glenn Morris  <rgm@gnu.org>
24209         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
24211 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
24213         Clean up gnus-uu saving code slightly
24214         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the
24215         save-restriction/widen calls make more sense.
24217 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
24219         Make [:graph:] act like [:print:] sans space
24220         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
24221         [:graph:] so that it matches everything that [:print:] does,
24222         except for space.
24223         * doc/lispref/searching.texi (Char Classes):
24224         * etc/NEWS:
24225         * lisp/emacs-lisp/rx.el (rx):
24226         Document [:graph:] to be [:print:] sans ' '.
24227         * src/character.c, src/character.h (graphicp): New function.
24228         * src/regex.c (ISGRAPH) [emacs]: Use it.
24229         (BIT_GRAPH): New macro.
24230         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
24231         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
24232         Return BIT_GRAPH for RECC_GRAPH.
24233         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
24234         and ISPRINT if BIT_PRINT.
24236 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
24238         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
24239         Don't use call-next-method in a cl-defmethod.
24241         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
24242         (eieio--class-p): Remove, provided by cl-defstruct.
24244 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
24246         Add seq-intersection and seq-difference to the seq library
24247         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference):
24248         New functions.
24249         * test/automated/seq-tests.el: Add tests for seq-intersection and
24250         seq-difference.
24251         * doc/lispref/sequences.texi: Add documentation for seq-intersection
24252         and seq-difference.
24254 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
24256         * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline,
24257         to avoid leaking internals.
24259 2015-04-14  Sam Steingold  <sds@gnu.org>
24261         package--ensure-init-file: widen requires save-restriction
24263 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
24265         Improve the commit-msg Git hook for unibyte environments
24266         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
24267         in unibyte environments.  (Suggested by Paul Eggert
24268         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
24269         [:print:], based on UTF-8 sequences of the unprintable characters.
24271         Describe problems with cursor caused by Windows Magnifier
24272         * etc/PROBLEMS: Describe the problem with cursor shape on
24273         MS-Windows due to Windows Magnifier.
24274         (Bug#20271)
24276         Make [:print:] support non-ASCII characters correctly
24277         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
24278         (BIT_PRINT): New bit mask.
24279         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
24280         * src/character.c (printablep): New function.
24281         * src/character.h (printablep): Add prototype.
24282         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
24283         of 'print', 'alnum', and 'alphabetic'.
24284         * doc/lispref/searching.texi (Char Classes): Document the new
24285         behavior of [:print:].
24286         * etc/NEWS: Mention the new behavior of [:print:].
24288         Assign correct general-category and names to surrogates
24289         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
24290         surrogates.  This avoids assigning them the default
24291         general-category of 'Cn', i.e. unassigned codepoints.
24292         (unidata-get-name): Give surrogates synthetic names.
24294 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
24296         Assume C89 offsetof in xterm.c, xlwmenu.c
24297         * lwlib/xlwmenu.c (offset):
24298         * src/xterm.c (cvt_string_to_pixel_args):
24299         Use offsetof, not XtOffset.
24301 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24303         Assume C89 offsetof in widget.c
24304         * src/widget.c (XtOffset): Remove; no longer needed.
24305         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
24307         Fix think-o in previous patch
24308         * src/window.c (count_windows, get_leaf_windows):
24309         Don't optimize count_windows incorrectly.
24311 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
24313         Avoid some int overflows in window.c
24314         * src/print.c (print_object):
24315         * src/window.c (sequence_number):
24316         * src/window.h (struct window.sequence_number):
24317         Don't assume window sequence number fits in int.
24318         * src/window.c (window_select_count):
24319         * src/window.h (struct window.use_time, window_select_count):
24320         Don't assume window use time fits in int.
24321         * src/window.c (Fsplit_window_internal):
24322         Don't assume user-supplied integer, or sum, fits in int.
24323         (Fset_window_configuration, count_windows, get_leaf_windows)
24324         (save_window_save, Fcurrent_window_configuration):
24325         Use ptrdiff_t for object counts.
24326         (Fset_window_configuration): Omit unused local 'n'.
24327         (count_windows): Simplify by writing in terms of get_leaf_windows.
24328         (get_leaf_windows): Don't store through FLAT if it's null.
24329         (extract_dimension): New static function.
24330         (set_window_margins, set_window_fringes, set_window_scroll_bars):
24331         Use it to avoid undefined behavior when converting user-supplied
24332         integer to 'int'.
24334 2015-04-13  Glenn Morris  <rgm@gnu.org>
24336         Minor doc copyedits
24337         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
24338         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
24340 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
24342         [Gnus] Catch the invalid-operation that idna.el will issue
24343         * lisp/gnus/gnus-art.el (gnus-use-idna):
24344         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
24345         * lisp/gnus/message.el (message-use-idna):
24346         Catch the invalid-operation that idna.el will issue.
24348 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
24350         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
24352 2015-04-13  Sam Steingold  <sds@gnu.org>
24354         package--ensure-init-file: widen before looking for
24355         "(package-initialize)"
24357 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
24359         Change diff-switches default to `-u' (Bug#20290)
24360         * doc/emacs/files.texi (Comparing Files): Document the new default
24361         value of `diff-switches'.
24362         * doc/emacs/trouble.texi (Sending Patches): Document the preference
24363         for unified diff format.  Escape the plus in the suggested `-F' regexp
24364         value.
24365         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
24367 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24369         (gnus-group--setup-tool-bar-update): Fix last change
24370         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
24371         cursor-sensor-functions should be a list of functions.
24373 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
24375         * lisp/gnus/gnus-topic.el (gnus-topic-mode):
24376         Use gmm-called-interactively-p.
24378 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24380         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
24381         (Bug#20321)
24382         * lisp/cus-start.el (read-buffer-function): Don't advertise
24383         iswitchb-read-buffer any more.
24384         (iswitchb): Don't tweak this obsolete group any more.
24386 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
24388         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file.
24390         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings.
24391         Adding a string after a constructor's argument list will use
24392         that string as the constructor function docstring.  If this string
24393         is absent but the struct itself was given a docstring, use that as
24394         the constructor's docstring.
24395         Fixes bug#17284.
24397 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24399         Deprecate `intangible' and `point-entered' properties
24400         * lisp/emacs-lisp/cursor-sensor.el: New file.
24401         * lisp/simple.el (pre-redisplay-functions): New hook.
24402         (redisplay--pre-redisplay-functions): New function.
24403         (pre-redisplay-function): Use it.
24404         (minibuffer-avoid-prompt): Mark obsolete.
24405         (redisplay--update-region-highlight): Adapt it to work as a function on
24406         pre-redisplay-functions.
24407         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
24408         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
24409         than point-entered to make the prompt intangible.
24410         * lisp/forms.el: Move `provide' calls to the end.
24411         (forms-mode): Don't use `run-hooks' on a local var.
24412         (forms--make-format, forms--make-format-elt-using-text-properties):
24413         Use cursor-intangible rather than `intangible'.
24414         (forms-mode): Enable cursor-intangible-mode.
24415         * lisp/isearch.el (isearch-mode): Use defvar-local.
24416         (cursor-sensor-inhibit): Declare.
24417         (isearch-mode): Set cursor-sensor-inhibit.
24418         (isearch-done): Set it back.
24419         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
24420         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
24421         any more.
24422         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
24423         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
24424         Add Edebug spec.
24425         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
24426         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
24427         inhibit-point-motion-hooks any more.
24428         (ses--cell-at-pos, ses--curcell): New functions, extracted from
24429         ses-set-curcell.
24430         (ses-set-curcell): Use them.
24431         (ses-print-cell, ses-setup): Use cursor-intangible instead of
24432         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
24433         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
24434         Use ses--cell-at-pos.
24435         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
24436         extracted from ses-command-hook.  Make them work with multiple windows
24437         displaying the same buffer.
24438         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
24439         Enable cursor-intangible-mode.
24440         (ses-command-hook): Remove cell highlight and mode-line update code.
24441         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
24442         Update for new name of text-property holding the cell name.
24443         (ses-rename-cell): Don't mess with mode-line-process.
24444         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
24445         cursor-sensor-functions property instead of point-entered.
24446         (erc-insert-timestamp-right, erc-format-timestamp):
24447         Use cursor-intangible rather than `intangible'.
24448         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
24449         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
24450         cursor-sensor-mode if needed.
24451         (erc-echo-timestamp): Adapt to calling convention of
24452         cursor-sensor-functions.
24453         (erc-insert-timestamp-right): Remove unused vars `current-window' and
24454         `indent'.
24455         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
24456         (gnus-update-group-mark-positions): Remove unused `topic' var.
24457         (gnus-group-insert-group-line): Remove unused var `header'.
24458         (gnus-group--setup-tool-bar-update): New function.
24459         (gnus-group-insert-group-line): Use it.
24460         (gnus-group-update-eval-form): Declare local
24461         dynamically-bound variables.
24462         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
24463         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
24464         (gnus-group-prepare-topics, gnus-topic-update-topic)
24465         (gnus-topic-change-level, gnus-topic-catchup-articles)
24466         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
24467         Use inhibit-read-only.
24468         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
24469         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
24470         * lisp/textmodes/reftex-index.el (reftex-display-index):
24471         Use cursor-intangible-mode if available.
24472         (reftex-index-post-command-hook): Check cursor-intangible.
24473         * lisp/textmodes/reftex-toc.el (reftex-toc):
24474         Use cursor-intangible-mode if available.
24475         (reftex-toc-recenter, reftex-toc-post-command-hook):
24476         Check cursor-intangible.
24477         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
24478         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
24479         (sgml-tags-invisible): Use with-silent-modifications and
24480         inhibit-read-only.  Enable cursor-sensor-mode.
24481         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
24482         calling convention of cursor-sensor-functions.
24483         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
24484         (table-point-entered-cell-hook, table-point-left-cell-hook):
24485         Don't autoload.
24486         (table-cell-entered-state): Remove var.
24487         (table--put-cell-point-entered/left-property)
24488         (table--remove-cell-properties):
24489         Use cursor-sensor-functions rather than point-entered/left.
24490         (table--point-entered/left-cell-function): Merge
24491         table--point-entered-cell-function and table--point-left-cell-function
24492         and adjust to calling convention of cursor-sensor-functions.
24494         Update ldef-boots.el
24496         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
24498         * doc/misc/eieio.texi: Don't advertise now obsolete constructs
24500         Collapse successive char deletions in the undo log
24501         * src/cmds.c (remove_excessive_undo_boundaries): New function,
24502         extracted from Fself_insert_command.
24503         (Fdelete_char, Fself_insert_command): Use it.
24504         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
24505         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
24507         xterm and OSC 52: Add NEWS entry, and tweak the code
24508         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition
24509         to top-level.
24510         (terminal-init-xterm-activate-set-selection): Set a terminal property.
24511         (xterm--set-selection): Use it instead of checking the value of
24512         `terminal-initted'.  Don't use string-bytes.
24514 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
24516         xterm.el: Implement OSC-52 functionality for setting the X selection
24517         * lisp/term/xterm.el (xterm-max-cut-length): New var.
24518         (xterm--set-selection, terminal-init-xterm-activate-set-selection):
24519         New funs.
24520         (terminal-init-xterm, xterm--version-handler): Use them.
24522 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24524         Remove left over code from when we used an obsolete/loaddefs.el file
24525         * lisp/subr.el (do-after-load-evaluation): Remove left over code from
24526         when we used an obsolete/loaddefs.el file.
24528         * lisp/cedet/semantic/fw.el (semantic-exit-on-input)
24529         (semanticdb-without-unloaded-file-searches): Use declare.
24530         (semantic-fw-add-edebug-spec): Remove.
24532         * lisp/completion.el (completion-lisp-mode-hook):
24533         Use completion-separator-chars rather than local key binding.
24535         * src/*.c: Set deactivate_mark buffer-locally
24536         (Bug#20260)
24537         * src/insdel.c (prepare_to_modify_buffer_1):
24538         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
24539         buffer-locally.
24541 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
24543         python.el: Keep symmetry on sexp navigation with parens
24544         (Bug#19954)
24545         * lisp/progmodes/python.el
24546         (python-nav--forward-sexp): Add argument skip-parens-p.
24547         (python-nav-forward-sexp, python-nav-backward-sexp)
24548         (python-nav-forward-sexp-safe)
24549         (python-nav-backward-sexp-safe): Use it.
24550         * test/automated/python-tests.el
24551         (python-nav-forward-sexp-1): Fix test.
24553 2015-04-12  João Távora  <joaotavora@gmail.com>
24555         Don't use `setq-local' in Gnus code
24556         This might break upstream builds with older Emacsen
24557         * lisp/gnus/message.el (message-mode): Use `set' and
24558         `make-local-variable' instead of `setq-local'.
24560 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
24562         Update Makefile.in's .PHONY dependencies
24563         * Makefile.in (change-history-commit, master-branch-is-current)
24564         (no-ChangeLog): Now phony.
24566         Remove configure's --with-mmdf option
24567         * configure.ac (MAIL_USE_MMDF): Remove.
24568         * etc/NEWS: Document this.
24569         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
24570         (Bug#20308)
24572         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
24573         That way, 'make install' won't think it's a man page.
24574         Reported by Ashish SHUKLA in:
24575         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
24577         Improve 'make change-history' prereq tests
24578         * Makefile.in (gen_origin): Fix to match what's in the master branch.
24579         (no-ChangeLog, master-branch-is-current): New rules.
24580         (change-history): Depend on them, to avoid similar future problems.
24581         Escape the local-variables string to pacify Emacs when editing
24582         Makefile.in.
24584 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
24586         * test/automated/package-test.el (with-package-test):
24587         Kill Packages buffer.
24589         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt.
24590         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
24591         "Upgrade" last, and use capitalized instead of all-caps.
24593         * lisp/emacs-lisp/package.el: Completely silence async operations.
24594         (package--make-autoloads-and-stuff): Silence autoloads.
24595         (package--save-selected-packages): New function, silences
24596         `customize-save-variable'.
24597         (package--user-selected-p, package-install-from-buffer)
24598         (package-delete, package-install): Use it.
24599         (package-install-from-archive)
24600         (package-menu--perform-transaction): Silence.
24601         (package-menu-execute): Feedback when operation starts.
24603         Use delay-mode-hooks when visiting the init-file
24604         * lisp/emacs-lisp/package.el (package--ensure-init-file):
24605         delay-mode-hooks.
24606         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks.
24608         * lisp/files.el: Only message when saving if save-silently is nil.
24609         (save-silently): New variable.
24610         (files--message): New function.
24611         (find-file-noselect, save-buffer, basic-save-buffer)
24612         (basic-save-buffer-2, save-some-buffers, not-modified)
24613         (append-to-file): Use them.
24615 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
24617         Support debug declarations in pcase macros
24618         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
24619         (pcase-UPAT): Use it.  Remove "`".
24620         (pcase--edebug-match-macro): New function.
24621         (pcase-defmacro): Support debug declarations.
24622         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
24623         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
24624         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>:
24625         Add debug declaration.
24627         pcase.el: Edebug support for `app' and vector patterns
24628         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
24629         (pcase-UPAT): Use it.  Support `app' patterns.
24630         (pcase-QPAT): Support vector patterns.
24632         edebug.el: Disambiguate vector specifications
24633         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
24634         `(vector ...)' as a vector specification, not as a sublist.
24636         (gnus-summary-refer-thread): Don't clobber unread articles
24637         This fixes a bug where `A T' causes "random" articles to become marked
24638         as read.
24639         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
24640         gnus-newsgroup-unreads remains sorted.
24642         mouse-sel.el: Fix mouse-sel-get-selection-function
24643         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
24644         Use gui--last-selected-text-primary instead of no longer existing
24645         gui-last-selected-text.
24647         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
24649         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
24651 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
24653         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate.
24655         * lisp/emacs-lisp/package.el (list-packages): Call refresh in
24656         right buffer.
24658         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations.
24659         (byte-compile--interactive): New var.
24660         (byte-compile--message): New function.
24661         (byte-compile-log-1, byte-force-recompile)
24662         (byte-recompile-directory, byte-recompile-file)
24663         (byte-compile-file, compile-defun)
24664         (byte-compile-file-form-defmumble, byte-compile)
24665         (byte-compile-file-form-defalias, display-call-tree): Use it.
24667         * lisp/files.el: Don't message when nothing happened.
24668         (save-some-buffers, basic-save-buffer): Before messaging to say
24669         "nothing was saved" check if (called-interactively-p 'any).
24671 2015-04-12  João Távora  <joaotavora@gmail.com>
24673         Summary: Improve sexp-based movement in message-mode
24674         Works by giving citations and smileys a different syntax.  This helps
24675         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
24676         sexp-based movement.
24677         * lisp/gnus/message.el (message--syntax-propertize): New function.
24678         (message-mode): Set syntax-related vars.
24679         (message-smileys): New variable.
24680         * test/automated/message-mode-tests.el: New file
24682 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
24684         Use bool for boolean in window.c
24685         * src/window.c: Omit unnecessary static function decls.
24686         (adjust_window_count, select_window, Fselect_window)
24687         (window_body_width, Fwindow_body_height, Fwindow_body_width)
24688         (set_window_hscroll, check_window_containing, Fwindow_at)
24689         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
24690         (unshow_buffer, replace_window, recombine_windows)
24691         (add_window_to_list, candidate_window_p, next_window)
24692         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
24693         (Fget_buffer_window, Fdelete_other_windows_internal)
24694         (replace_buffer_in_windows_safely, set_window_buffer)
24695         (Fset_window_buffer, Fforce_window_update)
24696         (temp_output_buffer_show, make_parent_window)
24697         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
24698         (resize_frame_windows, Fsplit_window_internal)
24699         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
24700         (Fresize_mini_window_internal, mark_window_cursors_off)
24701         (window_scroll, window_scroll_pixel_based)
24702         (window_scroll_line_based, scroll_command, Fscroll_other_window)
24703         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
24704         (Fmove_to_window_line, Fset_window_configuration)
24705         (delete_all_child_windows, apply_window_adjustment)
24706         (set_window_fringes, set_window_scroll_bars)
24707         (Fset_window_vscroll, foreach_window, foreach_window_1)
24708         (compare_window_configurations, Fcompare_window_configurations):
24709         Prefer 'bool', 'true', and 'false' for booleans.
24710         * src/window.h (WINDOW_MODE_LINE_LINES)
24711         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
24713 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
24715         Speed up byte-compilation and autoload generation by avoiding mode-hooks
24716         This prevents emacs-lisp-mode-hook from being run everytime an
24717         autoload file is generated, which can account for a fraction of
24718         package installation time depending on the hooks the user has
24719         configured.
24720         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
24721         * lisp/emacs-lisp/autoload.el (autoload-find-file)
24722         (autoload-find-generated-file): Use delay-mode-hooks.
24724         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'.
24725         (package-menu-refresh): Respect async and do new package checking.
24726         (list-packages): Use `package-menu-refresh' instead of repeating code.
24728         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help.
24729         (package--quick-help-keys): New variable.
24730         (package--prettify-quick-help-key): New function.
24731         (package-menu-quick-help): Use it.
24733         * lisp/emacs-lisp/package.el: Fix initially wrong compat table.
24734         (package--build-compatibility-table): Require finder.
24736         * test/automated/package-test.el: Fix new test.
24738         * lisp/emacs-lisp/package.el: Silence async operations.
24739         (package--silence): New variable.
24740         (package--message): New function.
24741         (package-import-keyring, package-refresh-contents)
24742         (package-compute-transaction, package-install, package-delete)
24743         (package-menu--perform-transaction, package-menu-execute): Use it.
24745         * test/automated/package-test.el: Test async functionality.
24746         (package-test-update-archives-async): New test.
24748 2015-04-11  Daiki Ueno  <ueno@gnu.org>
24750         Utilize `make-process' in epg.el
24751         * lisp/epg.el (epg-error-output): Abolish.
24752         (epg-context): New slot `error-buffer'.
24753         (epg--start): Use `make-process' and `make-pipe-process'.
24754         (epg--process-filter): Remove code separating stderr from stdout.
24755         (epg-wait-for-completion): Simplify `error-output' handling.
24756         (epg-reset): Dispose error buffer.
24758 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
24760         * .gitignore: Ignore doc temps and outputs.
24762         Port commit-msg to MSYS Bash+Gawk
24763         See Eli Zaretskii in:
24764         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
24765         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
24766         (cent_sign, print_at_sign, at_sign): Revert previous change.
24767         (print_at_sign): Prepend "BEGIN".
24768         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
24770         Port commit-msg to broken MS-Windows shell
24771         * build-aux/git-hooks/commit-msg (cent_sign):
24772         Just use UTF-8 here rather than ASCII + printf, as the latter fails
24773         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
24774         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
24776 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
24778         Support GnuTLS v3.4 and later on MS-Windows
24779         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
24780         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
24781         GnuTLS DLL to load according to value of libgnutls-version.
24782         (Bug#20294)
24784 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
24786         Minor quoting etc. fixes to misc manuals
24787         Fix some minor quoting and spacing issues.  Distinguish more
24788         clearly among grave accent and apostrophe (which are ASCII) and
24789         single quote (which is not).  Prefer the standard terms
24790         "apostrophe" and "grave accent" to alternative names that can be
24791         confusing.  Use apostrophes to single-quote ASCII text.
24792         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
24793         rather than approximating it in ASCII with grave accent.
24795 2015-04-11  Daiki Ueno  <ueno@gnu.org>
24797         Respect more keyword args in `make-process'
24798         * src/process.c (Fmake_process): Respect `:sentinel' and `:filter'
24799         keywords as documented.
24801 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
24803         Extract ChangeLog entries when committing a directory
24804         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
24805         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
24806         Add a FIXME comment.
24807         (log-edit-changelog-entries): Extract from
24808         `log-edit-changelog-entries', handle FILE being a directory
24809         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
24811 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
24813         Fix problems found by --enable-gcc-warnings
24814         * src/process.c (create_process, Fmake_pipe_process)
24815         (Fmake_network_process): Omit unused locals.
24817         Fix commit-msg to handle scissors lines
24818         * build-aux/git-hooks/commit-msg:
24819         Ignore every line after a scissors line, such as a line generated
24820         by 'git commit -v'.  Problem reported by Johan Bockgård in:
24821         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
24823         port commit-msg to Gawk 3.0.4 (1999)
24824         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
24825         (print_at_sign, at_sign): New vars.  Use them to avoid problems
24826         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
24827         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
24829         Have commit-msg report commit failure
24830         * build-aux/git-hooks/commit-msg: If the commit is aborted,
24831         say so.  Simplify by doing this at the end.  Problem reported
24832         by Eli Zaretskii in:
24833         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
24835 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24837         Clean up LDAP Configuration section of EUDC manual
24838         * doc/misc/eudc.texi: Combine indices.
24839         (LDAP Configuration): Use command markup.  Add index entries.
24840         Change formatting.  Wrap long lines.  Add noindent markup.
24842 2015-04-10  Daiki Ueno  <ueno@gnu.org>
24844         Add facility to collect stderr of async subprocess
24845         * src/w32.h (register_aux_fd): New function declaration.
24846         * src/w32.c (register_aux_fd): New function.
24847         * src/process.h (struct Lisp_Process): New member stderrproc.
24848         * src/process.c (PIPECONN_P): New macro.
24849         (PIPECONN1_P): New macro.
24850         (Fdelete_process, Fprocess_status, Fset_process_buffer)
24851         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
24852         (Fcontinue_process): Handle pipe process specially.
24853         (create_process): Respect p->stderrproc.
24854         (Fmake_pipe_process): New function.
24855         (Fmake_process): Add new keyword argument :stderr.
24856         (wait_reading_process_output): Specially handle a pipe process when
24857         it gets an EOF.
24858         (syms_of_process): Register Qpipe and Smake_pipe_process.
24859         * doc/lispref/processes.texi (Asynchronous Processes): Document
24860         `make-pipe-process' and `:stderr' keyword of `make-process'.
24861         * lisp/subr.el (start-process): Suggest to use `make-process' handle
24862         standard error separately.
24863         * test/automated/process-tests.el (process-test-stderr-buffer)
24864         (process-test-stderr-filter): New tests.
24865         * etc/NEWS: Mention new process type `pipe' and its usage with the
24866         `:stderr' keyword of `make-process'.
24868 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
24870         Minor quoting etc. fixes to lispref manual
24871         * doc/lispref/tips.texi (Documentation Tips):
24872         Distinguish more clearly among grave accent, apostrophe,
24873         and single quote.
24874         * doc/lispref/README, doc/lispref/buffers.texi:
24875         * doc/lispref/commands.texi, doc/lispref/control.texi:
24876         * doc/lispref/customize.texi, doc/lispref/display.texi:
24877         * doc/lispref/elisp.texi, doc/lispref/files.texi:
24878         * doc/lispref/frames.texi, doc/lispref/hash.texi:
24879         * doc/lispref/help.texi, doc/lispref/internals.texi:
24880         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
24881         * doc/lispref/markers.texi, doc/lispref/modes.texi:
24882         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
24883         * doc/lispref/os.texi, doc/lispref/positions.texi:
24884         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
24885         * doc/lispref/text.texi, doc/lispref/tips.texi:
24886         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
24887         Use American-style double quoting in ordinary text,
24888         and quote 'like this' when single-quoting in ASCII text.
24889         Also, fix some minor spacing issues.
24891 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
24893         Handle symlinked test directory in tramp-tests.el
24894         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
24895         (tramp--test-check-files): Use `file-truename' for directories.
24897 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
24899         Fix 'recenter' when visual-line-mode is turned on
24900         * src/window.c (Frecenter): Use the same code for GUI and TTY
24901         frames alike; use vmotion only for "initial" frames.  This is
24902         because vmotion doesn't support visual-line-mode.  Rewrite the
24903         'iarg >= 0' case to use move_it_* functions instead of using
24904         vmotion, for the same reason.  Fix the clipping of the argument
24905         value to support scroll-margin in all cases and avoid unwarranted
24906         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
24907         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
24908         which see.
24910 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
24912         * lisp/abbrev.el (define-abbrev-table): Refine last change.
24914         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
24915         use of c[ad]+r", so as to keep the "cl-" prefix on all
24916         cl-lib definitions.
24918         * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
24919         Use inhibit-point-motion-hooks.
24921         * lisp/cedet/semantic: Remove some dead code.
24922         * lisp/cedet/semantic/util-modes.el
24923         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
24924         any more.
24925         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
24926         not supported any more.
24927         (semantic-safe): Use `declare'.
24928         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
24929         (semantic-tag-intangible-p): Remove unused functions.
24930         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
24931         Remove unused function.
24933         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
24934         (gnus-article-hide-text, gnus-article-unhide-text)
24935         (gnus-article-unhide-text-type): Remove special handling of
24936         `intangible' since that property is not used any more.
24937         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
24939 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
24941         Use the VC root in `log-edit-listfun'
24942         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
24943         `log-edit-listfun'.
24945 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
24947         Fix description of Unix time, mention new function.
24948         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
24949         Unix time.
24950         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
24951         (Basic Operations on Units): Mention `calc-convert-exact-units'.
24953 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
24955         * lisp/emacs-lisp/package.el: Use mode-line-process for notification.
24957 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
24959         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
24960         Don't add newline after the last entry.
24962 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
24964         css-mode.el: Add "not" pseudo-class
24965         (Bug#20267)
24966         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
24967         list of CSS pseudo-classes.
24969 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
24971         * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var".
24973 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
24975         Stop messing with the EMACS env var
24976         * doc/emacs/misc.texi (Interactive Shell): Remove description of
24977         EMACS env var.
24979 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
24981         Adapt 'make change-history' to coding cookie
24982         * Makefile.in (change-history): Adjust to change of format of
24983         ChangeLog file, which now has a coding cookie before an indented
24984         copyright notice.
24986 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
24988         Adapt 'make change-history' to coding cookie
24989         * Makefile.in (change-history): Adjust to change of format of
24990         ChangeLog file, which now has a coding cookie before an indented
24991         copyright notice.
24993         gitlog-to-changelog coding cookie and mv -i
24994         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
24995         for copyright notice prototype, so that we get a proper "coding:"
24996         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
24997         existing ChangeLog.  Problems reported by Eli Zaretskii in:
24998         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
25000         Merge from gnulib
25001         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
25002         2015-04-09 gitlog-to-changelog: port to MS-Windows
25004 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
25006         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
25007         (Bug#20212)
25009 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
25011         Stop messing with the EMACS env var
25012         (Bug#20202)
25013         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
25014         * lisp/comint.el (comint-exec-1):
25015         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
25016         * lisp/progmodes/compile.el (compilation-start): Same and bring
25017         INSIDE_EMACS's format in line with other users.
25019         css-mode.el (css-smie-rules): Fix indentation after complex selectors
25020         (Bug#20282)
25021         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
25022         inner structure of selectors.
25024 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
25026         python.el: Indent docstring lines to base-indent
25027         (Bug#19595)
25028         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
25029         an initial patch.
25030         * lisp/progmodes/python.el
25031         (python-indent-context): Add :inside-docstring context.
25032         (python-indent--calculate-indentation): Handle :inside-docstring.
25033         (python-indent-region): Re-indent docstrings.
25034         * test/automated/python-tests.el (python-indent-region-5)
25035         (python-indent-inside-string-2): Fix tests.
25037         python.el: Increase native completion robustness
25038         (Bug#19755)
25039         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
25040         this and providing useful ideas.
25041         * lisp/progmodes/python.el
25042         (python-shell-completion-native-output-timeout): Increase value.
25043         (python-shell-completion-native-try-output-timeout): New var.
25044         (python-shell-completion-native-try): Use it.
25045         (python-shell-completion-native-setup): New readline setup avoids
25046         polluting current context, ensures output when no-completions are
25047         available and includes output end marker.
25048         (python-shell-completion-native-get-completions): Trigger with one
25049         tab only.  Call accept-process-output until output end is found or
25050         python-shell-completion-native-output-timeout is exceeded.
25052 2015-04-08  Samer Masterson  <samer@samertm.com>
25054         * lisp/eshell: Make backslash a no-op in front of normal chars
25055         (Bug#8531)
25056         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
25057         (eshell-parse-backslash): Return escaped character after backslash
25058         if it is special.  Otherwise, if the backslash is not in a quoted
25059         string, ignore the backslash and return the character after; if
25060         the backslash is in a quoted string, return the backslash and the
25061         character after.
25062         * test/automated/eshell.el (eshell-test/escape-nonspecial)
25063         (eshell-test/escape-nonspecial-unicode)
25064         (eshell-test/escape-nonspecial-quoted)
25065         (eshell-test/escape-special-quoted): Add tests for new
25066         `eshell-parse-backslash' behavior.
25068 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
25070         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
25071         after the file name.
25072         (Bug#20276)
25074 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25076         Minor quoting etc. fixes to Emacs manual
25077         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
25078         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
25079         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
25080         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
25081         * doc/emacs/indent.texi, doc/emacs/macos.texi:
25082         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
25083         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
25084         * doc/emacs/search.texi, doc/emacs/trouble.texi:
25085         * doc/emacs/vc1-xtra.texi:
25086         Use American-style double quoting in ordinary text,
25087         and quote 'like this' when single-quoting in ASCII text.
25088         Also, fix some minor spacing issues.
25090         Minor quoting etc. fixes to elisp intro
25091         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
25092         American-style double quoting in ordinary text.  In ASCII text,
25093         consistently quote 'like this' instead of `like this', unless
25094         Emacs requires the latter.
25096 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
25098         * CONTRIBUTE: Mention log-edit-insert-changelog.
25100         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
25102 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25104         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
25106 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
25108         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
25109         Fix inheritance of initargs.  (Bug#20270)
25111 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
25113         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
25114         while dowloading information.
25116         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
25117         (package--ensure-init-file): Check file contents before visiting.
25118         (package-initialize): Call it.
25119         (package-install-from-buffer, package-install): Don't call it.
25121 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
25123         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800.
25124         (Bug#17517)
25126 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
25128         * lisp/net/tramp-cache.el (tramp-flush-file-property):
25129         Fix nasty scoping bug.
25131 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
25133         Add notice to visual commands section
25134         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
25135         such as git call less with its -F option which omits pagination if
25136         the contents is less than one page long.  This interferes with
25137         eshell's visual (sub-)commands.
25139 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
25141         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
25142         environment variable expansion in file names.  (Bug#19839)
25144 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25146         Prefer double-quote to accent-grave in man pages
25148 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
25150         (Bug#20257)
25151         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
25153 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
25155         Update etc/PROBLEMS.
25156         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
25157         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
25158         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
25159         respectively); other minor updates and tweaks.  (Bug#20011)
25161 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25163         Add doc strings for some Isearch state vars
25164         * lisp/misearch.el (multi-isearch-buffer-list)
25165         (multi-isearch-file-list): Add doc strings.
25166         (Bug#20232)
25168 2015-04-07  Alan Mackenzie  <acm@muc.de>
25170         Always mark "<" and ">" in #include directives with text properties.
25171         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock
25172         "anchored matcher" with an invocation of
25173         c-make-font-lock-search-function to allow fontification when there's
25174         no trailing space on an "#include <..>" line.
25176 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
25178         Generate a ChangeLog file from commit logs
25179         * .gitignore: Add 'ChangeLog'.
25180         * build-aux/gitlog-to-changelog: New file, from Gnulib.
25181         * build-aux/gitlog-to-emacslog: New file.
25182         * CONTRIBUTE: Document the revised workflow.
25183         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
25184         instead of just special cases.
25185         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
25186         (ChangeLog, unchanged-history-files, change-history)
25187         (change-history-commit): New rules.
25188         * admin/admin.el (make-manuals-dist--1):
25189         Don't worry about doc/ChangeLog.
25190         * admin/authors.el: Add a FIXME.
25191         * admin/make-tarball.txt:
25192         * lisp/calendar/icalendar.el:
25193         * lisp/gnus/deuglify.el:
25194         * lisp/obsolete/gulp.el:
25195         * lwlib/README:
25196         Adjust to renamed ChangeLog history files.
25197         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
25198         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
25199         Remove obsolete discussion of merging ChangeLog files.
25200         New section "Maintaining ChangeLog history".
25201         * build-aux/git-hooks/pre-commit:
25202         Reject attempts to commit files named 'ChangeLog'.
25203         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
25204         * make-dist: Make and distribute top-level ChangeLog if there's a
25205         .git directory.  Distribute the new ChangeLog history files
25206         instead of scattered ChangeLog files.  Distribute the new files
25207         gitlog-to-changelog and gitlog-to-emacslog.
25208         (Bug#19113)
25210         Rename ChangeLogs for gitlog-to-changelog
25211         This patch was implemented via the following shell commands:
25212         find * -name ChangeLog |
25213         sed 's,.*,git mv & &.1,
25214         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
25215         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
25216         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
25217         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
25218         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
25219         sh
25220         git commit -am"[this commit message]"
25222 This file records repository revisions from
25223 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
25224 commit fb6d826c69939c2d016c1b824d4e9bcb53d9e643 (inclusive).
25225 See ChangeLog.1 for earlier changes.
25227 ;; Local Variables:
25228 ;; coding: utf-8
25229 ;; End:
25231   Copyright (C) 2015 Free Software Foundation, Inc.
25233   This file is part of GNU Emacs.
25235   GNU Emacs is free software: you can redistribute it and/or modify
25236   it under the terms of the GNU General Public License as published by
25237   the Free Software Foundation, either version 3 of the License, or
25238   (at your option) any later version.
25240   GNU Emacs is distributed in the hope that it will be useful,
25241   but WITHOUT ANY WARRANTY; without even the implied warranty of
25242   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25243   GNU General Public License for more details.
25245   You should have received a copy of the GNU General Public License
25246   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.