; Spelling fixes
[emacs.git] / ChangeLog.2
blobeb336c767e95f97251e36af2fae35817f00e399f
1 2016-03-02  Michael Albinus  <michael.albinus@gmx.de>
3         Fix Bug#22859
5         * lisp/filenotify.el (file-notify-callback): Return a `deleted'
6         event in case of kqueue and file1 is nil.  (Bug#22859)
8 2016-03-01  Eli Zaretskii  <eliz@gnu.org>
10         Fix reordering of bidi text in an isolate inside an override
12         * src/bidi.c (bidi_resolve_explicit): Override the orig_type value
13         of FSI with either LRI or RLI, as determined by the first strong
14         directional character in the isolate.  This prevents failure to
15         isolate when the FSI...PDI text is inside a directional override.
16         (Bug#22786)
18 2016-03-01  Alan Mackenzie  <acm@muc.de>
20         Document c-guess-basic-syntax in the CC Mode manual.
22         * doc/misc/cc-mode.texi (Syntactic Analysis): Document the function, adding
23         pxrefs to Custom Line-Up and Other Indentation.
24         (Custom Line-Up): Add a note on using c-guess-basic-syntax with a pxref to
25         Syntactic Analysis.
27 2016-03-01  Michael Albinus  <michael.albinus@gmx.de>
29         Fix targets in test/automated/Makefile.in
31         * test/automated/Makefile.in: Use $(SELECTOR_DEFAULT) also for
32         empty target and target all.
34 2016-03-01  Leo Liu  <sdl.web@gmail.com>
36         Comment on last change to define-derived-mode
38         * lisp/emacs-lisp/derived.el (define-derived-mode): Add comment.
40 2016-03-01  Lars Ingebrigtsen  <larsi@gnus.org>
42         Allow binding `url-mime-accept-string'
44         * lisp/url/url-http.el (url-http): Allow binding
45         `url-mime-accept-string' (bug#22855).
47         Backport:
49         (cherry picked from commit 144bb0cf322b9756d29def3e27a42303e2edce43)
51 2016-03-01  Lars Ingebrigtsen  <larsi@gnus.org>
53         Also allow setting the paragraph direction to nil
55         * lisp/net/eww.el (eww-toggle-paragraph-direction): Also allow
56         setting the paragraph direction to nil ("auto").
58 2016-02-29  Anders Lindgren  <andlind@gmail.com>
60         Made the new OS X visible bell more visible.
62         * src/nsterm.m: (EmacsBell:init:) Scaled up the visible bell
63           "caution" image five times, as the image in its original size
64           was hard to see.
66 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
68         Use the correct background color when filling nested <divs>
70         * lisp/net/shr.el (shr-face-background): Return the first
71         background, because that's the one that's visible (bug#22680).
73         Backport:
75         (cherry picked from commit cad0bc70558f9c28c808711c5295dec9fc5ad6e5)
77 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
79         Make <div> in <li> not insert extra newlines
81         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
82         extra newlines (bug#19587).
84         Backport:
86         (cherry picked from commit 379a846b8548dc32a9019ef0a37c02f62cd9bad1)
88 2016-02-29  Dmitry Gutov  <dgutov@yandex.ru>
90         Uncomment the next-error-function integration in xref
92         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
93         Uncomment the next-error-function integration
94         (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20489#110).
96 2016-02-29  Dmitry Gutov  <dgutov@yandex.ru>
98         Remove the word "valid", to avoid ambiguity
100         * doc/emacs/maintaining.texi (Identifier Search)
101         (Looking Up Identifiers): Remove the word "valid" (bug#22692).
103 2016-02-28  Michael Albinus  <michael.albinus@gmx.de>
105         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
107 2016-02-28  Michael Albinus  <michael.albinus@gmx.de>
109         Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
111         * etc/NEWS:
112         * etc/PROBLEMS: Mention this.
114         * lisp/autorevert.el (global-auto-revert-mode): Set
115         `auto-revert-use-notify' to nil.  (Bug#22814)
117 2016-02-28  Paul Eggert  <eggert@cs.ucla.edu>
119         * etc/TODO: Minor quoting and grammar fixes.
121 2016-02-28  Friedrich Beckmann  <friedrich.beckmann@gmx.de>  (tiny change)
123         Fix ModelSim error parsing
125         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Fix
126         ModelSim error parsing (bug#5768).
128 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
130         Make parse-time-string-chars faster
132         * lisp/calendar/parse-time.el (parse-time-string-chars): Clean
133         up the code (backport:).
135 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
137         Add a eww command to toggle paragraph direction
139         * lisp/net/eww.el (eww-toggle-paragraph-direction): New
140         command and keystroke.
142         * doc/misc/eww.texi (Advanced): Mention the `D' command.
144 2016-02-27  Glenn Morris  <rgm@gnu.org>
146         * nextstep/WISHLIST: Merge into etc/TODO and remove.
148         * etc/TODO: Merge in items from nextstep/WISHLIST.
149         * nextstep/README: Update for this change.
151 2016-02-27  Andreas Schwab  <schwab@linux-m68k.org>
153         Fix char signedness issue in bidi code
155         * src/dispextern.h (struct bidi_t): Change type of resolved_level
156         and isolate_level to signed char.  (Bug#22830)
158 2016-02-27  Andreas Schwab  <schwab@linux-m68k.org>
160         * lib-src/pop.c (socket_connection): Fix format string.
162 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
164         Avoid inflooping in thing-at-point-looking-at
166         * lisp/thingatpt.el (thing-at-point-looking-at): Avoid inflooping
167         with regular expressions whose matching doesn't move point.
168         (Bug#22756)
169         Describe the argument DISTANCE in the doc string.
171 2016-02-27  Leo Liu  <sdl.web@gmail.com>
173         * lisp/emacs-lisp/derived.el (define-derived-mode): Revert indent change.
175 2016-02-26  Michael Albinus  <michael.albinus@gmx.de>
177         etc/PROBLEMS: Mention problems with using file descriptors
179         * etc/PROBLEMS: Mention problems with using file descriptors
180         of kqueue file notification library.
182 2016-02-26  Kaushal Modi  <kaushal.modi@gmail.com>
184         * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
186 2016-02-25  Eli Zaretskii  <eliz@gnu.org>
188         Remove unneeded workaround in xftfont.c
190         * src/xftfont.c (xftfont_open): Remove "dirty workaround" for
191         XftTextExtents8 behavior, as it is no longer needed.  Suggested by
192         Fangwen Yu <yynyygy@gmail.com>.  (Bug#22383)
194 2016-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
196         * lisp/saveplace.el (save-place-local-mode): New minor mode
198         (toggle-save-place): Define as obsolete alias.
199         (save-place--setup-hooks): New function.
200         (save-place-mode): Use it.
202 2016-02-25  Eli Zaretskii  <eliz@gnu.org>
204         Fix redisplay on a TTY after 'make-frame'
206         * src/xdisp.c (clear_garbaged_frames): Don't clear/redraw a
207         garbaged TTY frame if it is not the selected frame.  (Bug#22794)
209 2016-02-25  Alan Mackenzie  <acm@muc.de>
211         Make double-click-1 work with unbalanced parens in CC Mode.  Fixes bug#5560.
213         * lisp/mouse.el (mouse-start-end): check the syntax of alleged parens with
214         `syntax-after' to ensure syntax-table text properties are respected.
216 2016-02-25  Magnus Henoch  <magnus.henoch@gmail.com>
218         Input method polish-slash should not use keyboard translation
220         * lisp/leim/quail/latin-pre.el ("polish-slash"): Input method
221         polish-slash should not use keyboard translation (bug#19081).
223 2016-02-25  Chris Feng  <chris.w.feng@gmail.com>
225         Fix an assertion
227         * src/dispnew.c (clear_glyph_matrix_rows): Test matrix->nrows == 0 (which
228         implies start == 0) separately.
230 2016-02-24  Eli Zaretskii  <eliz@gnu.org>
232         Fix 'toggle-save-place'
234         * lisp/saveplace.el (toggle-save-place): Set up hooks necessary to
235         support save-place in the buffer.  Autoload the command.
237 2016-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
239         * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
241         * src/keyboard.c (read_key_sequence): Don't inadvertently set
242         immediate_echo when we don't want any echo-keystrokes.
243         (echo_keystrokes_p): Move earlier.
245 2016-02-24  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
247         Minor fixes in calculator.el
249         * lisp/calculator.el (calculator-mode-map): Bind `E' for
250         `calculator-exp'.
251         (calculator-last-input): Fix a bug with pressing F1.
252         (Bug#20764)
254 2016-02-24  Anders Lindgren  <andlind@gmail.com>
256         Update HISTORY section in readme for the NextStep interface.
258         * nextstep/README: Update HISTORY after suggestion
259         from former maintainer Adrian Robert.
261 2016-02-24  Eli Zaretskii  <eliz@gnu.org>
263         Improve documentation of 'save-place-mode'
265         * lisp/saveplace.el (toggle-save-place): Update the doc string wrt
266         turning on 'save-place-mode' globally.
268         * etc/NEWS: Mention the need to call 'save-place-mode' for turning
269         on the mode in all buffers.
271 2016-02-24  Chris Feng  <chris.w.feng@gmail.com>  (tiny change)
273         Allocate glyph matrices for the initial frame
275         * src/frame.c (make_initial_frame): Allocate glyph matrices (Bug#22787).
277         * src/dispnew.c (clear_glyph_matrix_rows): matrix->nrows can be 0.
279 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
281         Fix white space in last checkin
283 2016-02-24  Dima Kogan  <gnuplot@dima.secretsauce.net>
285         Make `insert-pair' always leave the cursor where documented
287         * lisp/emacs-lisp/lisp.el (insert-pair): The docstring of
288         insert-pair states that after insertion, the point ends up
289         after the opening character. This was not true if the pair was
290         inserted to surround a region (bug#16949).
292 2016-02-24  Kaushal Modi  <kaushal.modi@gmail.com>
294         etc/NEWS: Mention the new second parameter to `package-install'
296         * etc/NEWS: Mention the new second parameter to
297         `package-install' (bug#22784).
299 2016-02-24  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
301         Highlight assignments in Makefiles more correctly
303         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
304         Highlight assignments preceded by a TAB character correctly
305         (bug#20787).
308         Backport:
310         (cherry picked from commit bbd86c5642bd62c43d72391669f28eaa14459fd5)
312 2016-02-23  Eli Zaretskii  <eliz@gnu.org>
314         Improve documentation of focus-related hooks
316         * doc/lispref/commands.texi (Focus Events): Mention focus-related
317         hooks.  (Bug#21728)
319 2016-02-23  Eli Zaretskii  <eliz@gnu.org>
321         Further improve doc string of 'disable-point-adjustment'
323         * src/keyboard.c (syms_of_keyboard): <disable-point-adjustment>
324         <global-disable-point-adjustment>: Clarify doc strings.  (Bug#22771)
326 2016-02-23  Michael Albinus  <michael.albinus@gmx.de>
328         Further adaptions in file-notify-tests.el for w32notify
330         * test/automated/file-notify-tests.el
331         (file-notify--test-read-event-timeout, file-notify--test-timeout):
332         Decrease values.
333         (file-notify-test03-autorevert)
334         (file-notify-test04-file-validity)
335         (file-notify-test05-dir-validity): Run tests also for w32notify.
336         (file-notify-test08-watched-file-in-watched-dir):
337         Adapt expected events for w32notify.
339 2016-02-23  Jan Tatarik  <jan.tatarik@gmail.com>
341         Don't bug out on localised dates in gnus-icalendar
343         * lisp/gnus/gnus-icalendar.el
344         (gnus-icalendar-event:org-timestamp): Don't bug out on
345         localised dates.
347 2016-02-23  Drew Adams  <drew.adams@oracle.com>
349         (ls-lisp-insert-directory): Make -B work
351         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
352         (bug#20776).
354         Backport:
356         (cherry picked from commit ef52e66efd78aac4c4e5bd5e11870e5ba3b37a1e)
358 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
360         Make buttons in header lines work
362         * lisp/help-mode.el (help-button-action): `help-xref-button' in
363         header line doesn't work (bug#21024).
365         Backport:
367         (cherry picked from commit c11e565a6b6d09fa39d4c3ef65bef08190eaecc1)
369 2016-02-23  Christopher Wellons  <wellons@nullprogram.com>
371         Make setf for frame-height/width work again
373         * lisp/emacs-lisp/cl-lib.el (frame-height): Make setf for
374         frame-height/width work again (bug#21979).
376 2016-02-23  Łukasz Stelmach  <stlman@poczta.fm>
378         Encode header strings before printing
380         * lisp/ps-print.el (ps-generate-header-line): Encode the
381         header strings to avoid problems with non-ASCII headers
382         (bug#22611).
384         Backport:
386         (cherry picked from commit 3cedbdcc71ebefc12bd20ec84f74251fe99ee7d0)
388 2016-02-23  Nicolas Richard  <youngfrog@members.fsf.org>
390         (cl-union): Do not ignore :test argument when lists are equal.
392         * lisp/emacs-lisp/cl-seq.el (cl-union): Do not ignore :test argument when lists are equal.
394         * test/automated/cl-seq-tests.el: New file (bug#22729).
396 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
398         Add `isearch' to `basic-faces'
400         * doc/lispref/display.texi (Basic Faces): Mention the isearch
401         and lazy-highlight faces.
403         * lisp/replace.el (match): Add `isearch' to the `basic-faces'
404         group, too (bug#22760).
406 2016-02-23  Dmitry Gutov  <dgutov@yandex.ru>
408         Make $, : and @ "prefix characters" in ruby-mode
410         * lisp/progmodes/ruby-mode.el (ruby-mode-syntax-table): Change the
411         syntax classes of $, : and @ to "prefix character"
412         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00272.html).
413         (ruby-syntax-propertize): Undo that specifically for colons
414         followed by an opening paren or bracket.
415         (ruby-font-lock-keyword-beg-re): Include colon character.
416         (ruby-font-lock-keywords): Adjust the constants matcher for `:'
417         not being a symbol constituent anymore.
419 2016-02-23  Dmitry Gutov  <dgutov@yandex.ru>
421         Make find-tag-default-bounds more strict
423         * lisp/subr.el (find-tag-default-bounds): Delegate to
424         bounds-of-thing-at-point (bug#22692).
426 2016-02-22  Michael Albinus  <michael.albinus@gmx.de>
428         Minor fixes in filenotify.el
430         * lisp/filenotify.el (top): Require 'cl-lib.
431         (file-notify--rm-descriptor)
432         (file-notify--event-watched-file): Use cl-caadr.
433         (file-notify-callback): Handle also `ignore' events from inotify.
435 2016-02-22  Michael Albinus  <michael.albinus@gmx.de>
437         Additional fixes for file notification
439         * lisp/filenotify.el (top): Require 'cl when compiling.
440         (file-notify--event-watched-file): New defun.
441         (file-notify--rm-descriptor, file-notify-callback):
442         Handle case of several monitors running in parallel.
444         * test/automated/file-notify-tests.el
445         (file-notify--test-event-test): Simplify test.
446         (file-notify--test-with-events): Get rid of outer definition.
447         Check also results of tests performed in callbacks.
448         (file-notify-test02-events): No wrapping when calling
449         `file-notify-rm-watch'.  No special checking for callback tests.
450         (file-notify-test07-backup): Adapt expected events for gfilenotify.
451         (file-notify-test08-watched-file-in-watched-dir): Improve.
453 2016-02-22  Eli Zaretskii  <eliz@gnu.org>
455         Fix documentation of 'global-disable-point-adjustment'
457         * src/keyboard.c (syms_of_keyboard) <disable-point-adjustment>
458         <global-disable-point-adjustment>: Doc fixes.  (Bug#22771)
460 2016-02-22  Daiki Ueno  <ueno@gnu.org>
462         Set file modes of pinentry socket for extra safety
464         * lisp/net/pinentry.el: Require 'cl-lib for `cl-letf'.
465         (pinentry-start): Change the file modes of the socket file to 0700.
466         This is just for extra safety since the parent directory is already
467         protected with `server-ensure-safe-dir'.
469 2016-02-22  Daiki Ueno  <ueno@gnu.org>
471         Clarify GnuPG version compatibility chapter
473         * doc/misc/epa.texi (GnuPG version compatibility): Make the gpg-agent
474         description a bit clearer.
476 2016-02-22  Daiki Ueno  <ueno@gnu.org>
478         Revert "Change the default socket location for pinentry"
480         This reverts commit e34fbdee8aca84b98393b06b2450837d175999ca.
481         It turned out that the address is fixed in Pinentry itself.
483 2016-02-21  Dmitry Gutov  <dgutov@yandex.ru>
485         Kill off xref--display-history
487         Now that the core workflow keeps the xref window visible, there's
488         less value in storing this history.  And it never was
489         comprehensive enough to undo scrolling changes.
490         * lisp/progmodes/xref.el (xref--display-history)
491         (xref--save-to-history, xref-quit): Remove.
492         (xref--show-pos-in-buf): Update accordingly.
493         (xref--xref-buffer-mode-map): Remove xref-quit binding.
495 2016-02-21  Dmitry Gutov  <dgutov@yandex.ru>
497         Keep the xref buffer visible until the user quits it explicitly
499         * lisp/progmodes/xref.el (xref--pop-to-location):
500         Rename WINDOW argument to ACTION.
501         (xref--with-dedicated-window): New macro.
502         (xref--show-pos-in-buf): Rename from `xref--display-position'.
503         Add and handle new argument, SELECTED.  Use the above macro.
504         (xref--show-location): Add SELECTED argument.
505         (xref-show-location-at-point): Make an effort to avoid the
506         original window when showing the location.
507         (xref-goto-xref): Don't quit the xref window (bug#20487 and
508         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01133.html).
509         (xref--query-replace-1): Use xref--with-dedicated-window as well.
510         (xref--next-error-function): Call xref--show-location instead of
511         xref--pop-to-location.
512         (xref--show-xrefs): Rename WINDOW argument to DISPLAY-ACTION.
513         Only pass that value to xref--pop-to-location.  Pass the current
514         selected window to xref-show-xrefs-function as the `window'
515         property.
516         (xref--find-xrefs, xref--find-definitions): Rename WINDOW argument
517         to DISPLAY-ACTION as well.
519 2016-02-21  Daiki Ueno  <ueno@gnu.org>
521         Change the default socket location for pinentry
523         * lisp/net/pinentry.el: Require 'cl-lib for `cl-letf'.
524         (pinentry--socket-dir): Change the default from /tmp/emacsXXX to
525         ~/.emacs.d/pinentry.
526         (pinentry-start): Change the file modes of the socket file to 0700.
527         This is just for extra safety since the parent directory is already
528         protected with `server-ensure-safe-dir'.
530 2016-02-21  Daiki Ueno  <ueno@gnu.org>
532         Mention how to enable pinentry feature
534         * etc/NEWS: Mention "gpgconf --reload gpg-agent".
535         * lisp/net/pinentry.el: Likewise.
537 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
539         Sync with gnulib
541         This incorporates:
542         2016-02-10 stdalign: port to older HP and IBM cc
543         * doc/misc/texinfo.tex, lib/stdalign.in.h: Copy from gnulib.
545 2016-02-21  David Engster  <deng@randomsample.de>
547         Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
549         * lisp/cedet/semantic/db-mode.el (semanticdb-hooks): Do not put
550           `semanticdb-save-all-db-idle' into `auto-save-hook'. The latter is
551           not an idle hook, so it's not appropriate to call it there. It will
552           already be called in the `semantic-idle-work-core-handler', which
553           runs when Emacs is actually idle.
555 2016-02-21  David Engster  <deng@randomsample.de>
557         Restore point when writing semantic table to disk
559         * lisp/cedet/semantic/db-file.el (object-write): Wrap call to
560           `semantic-fetch-tags' in `save-excursion', since it might move point
561           in current buffer. (Bug #22287)
563 2016-02-21  Daiki Ueno  <ueno@gnu.org>
565         Mention pinentry.el in epa manual
567         * doc/misc/epa.texi (GnuPG version compatibility): New chapter,
568         describing the differences between three GnuPG branches, and how
569         to enable pinentry.el.
570         (Caching Passphrases): Add xref to the compatibility chapter.
572 2016-02-21  Michael Albinus  <michael.albinus@gmx.de>
574         Fix Bug#22736
576         * lisp/filenotify.el (file-notify-callback): Use the proper
577         descriptor when calling the callback.  (Bug#22736)
579         * test/automated/file-notify-tests.el
580         (file-notify--test-event-handler): Deactivate trace.
581         (file-notify-test08-watched-file-in-watched-dir): Bind
582         `file-notify--test-tmpfile' temporarily in `dir-callback'.
584 2016-02-21  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
586         Grammar fix in doc string
588         * lisp/custom.el (defgroup): Grammar fix in doc string.
590 2016-02-20  Daiki Ueno  <ueno@gnu.org>
592         Naming fix for consistency
594         * lisp/epg-config.el (epg-find-configuration): Rename from
595         `epg-configuration-find' to be consistent with other epg-* functions.
596         Change all callers.
598 2016-02-20  Daiki Ueno  <ueno@gnu.org>
600         Prefer customized value for GnuPG executable
602         * lisp/epg-config.el (epg-configuration-find): Don't check GPG
603         configuration if it is already set with custom.  (Bug#22747)
605 2016-02-20  Eli Zaretskii  <eliz@gnu.org>
607         Fix memory reservation on MS-Windows
609         * src/w32heap.c (mmap_alloc): Reserve memory in 64KB granular
610         units.  This avoids leaving gaps in reserved memory regions that
611         no one can use, since memory reservation must produce 64KB-aligned
612         addresses.  (Bug#22526)
614 2016-02-20  Anders Lindgren  <andlind@gmail.com>
616         Update NextStep readme and add wish list.
618         * nextstep/README: Rewritten from scratch. New sections on
619         "History", "Overview of Cocoa and Objective-C", "Guidelines",
620         "Tracing Support", and "GNUStep". Expanded the "See Also" section.
621         * nextstep/WISHLIST: New file containing list of issues and ideas
622         associated with the NS port of Emacs.
624 2016-02-20  Michael Albinus  <michael.albinus@gmx.de>
626         Report also result in `file-notify--test-event-handler'
628 2016-02-20  Michael Albinus  <michael.albinus@gmx.de>
630         Improve file-notify-test08-watched-file-in-watched-dir
632         * test/automated/file-notify-tests.el (file-notify--test-desc2):
633         New variable.
634         (file-notify--test-cleanup): Use it.
635         (file-notify--test-event-handler): Enable trace.
636         (file-notify-test08-watched-file-in-watched-dir): Tag it as
637         :expensive-test.  Rewrite callbacks to use
638         `file-notify--test-event-handler'.  Read events in loop.  Check
639         `file-notify--test-results'.
640         (file-notify-test08-watched-file-in-watched-dir): Fix docstring.
642 2016-02-20  Stephen Berman  <stephen.berman@gmx.net>
644         Fix todo-mode item date editing bugs
646         * lisp/calendar/todo-mode.el (todo-edit-item--header): Prevent out of
647         range error by making sure the value of the numerical month date
648         component cannot be nil.  Prevent wrong type error on trying to edit
649         day number in February by making sure numerical instead of string
650         value of the year component is passed to todo-read-date.
651         (todo-read-date): When using the numerical month date component make
652         sure to use `*' for an arbitrary month instead of its numerical value.
654 2016-02-20  Eli Zaretskii  <eliz@gnu.org>
656         Fix "[:upper:]" for non-ASCII characters
658         * src/regex.c (re_match_2_internal): Support [:upper:] and
659         [:lower:] for non-ASCII characters.  (Bug#18150)
661 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
663         Allow customising the article mode cursor behavior
665         * doc/misc/gnus.texi (HTML): Mention gnus-article-show-cursor.
667         * lisp/gnus/gnus-art.el (gnus-article-show-cursor): New variable.
668         (gnus-article-mode): Use it.
670 2016-02-20  Ari Roponen  <ari.roponen@gmail.com>
672         Use pop-to-buffer-same-window in woman.el
674         * lisp/woman.el (woman-really-find-file): Work around going to
675         the wrong buffer by using `pop-to-buffer-same-window' (bug#22332).
676         (WoMan-find-buffer): Ditto.
678 2016-02-20  Tassilo Horn  <tsdh@gnu.org>
680         New filenotify test for bug#22736
682         * test/automated/file-notify-tests.el
683         (file-notify-test08-watched-file-in-watched-dir):
684         (file-notify--test-desc1): New filenotify test for bug#22736
686 2016-02-20  Marcin Borkowski  <mbork@mbork.pl>
688         Report critical battery errors
690         * lisp/battery.el (battery-pmset): Report critical battery
691         errors (bug#18157).
693 2016-02-19  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
695         Make eww message toggling message clearer
697         * lisp/net/eww.el (eww-toggle-fonts): Make the message
698         clearer.
700 2016-02-19  Mark Oteiza  <mvoteiza@udel.edu>
702         * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
704 2016-02-18  Martin Rudalics  <rudalics@gmx.at>
706         Fix bugs in window resizing code
708         * lisp/window.el (adjust-window-trailing-edge): Fix mismatched
709         parenthesis.
710         (shrink-window, enlarge-window): Fix bug#22723 where windows
711         with preserved size would not get resized.  Also now signal an
712         error when the window cannot be shrunk or enlarged as requested.
714 2016-02-17  Eli Zaretskii  <eliz@gnu.org>
716         Fix decoding DOS EOL in a unibyte buffer
718         * src/coding.c (decode_eol): Loop over bytes, not characters.
719         (Bug#5251)
721 2016-02-17  Alan Mackenzie  <acm@muc.de>
723         Correct c-parse-state cache manipulation error.
725         * lisp/progmodes/cc-engine.el (c-invalidate-state-cache-1): Correct a
726         comparison bound.  Amend comments.
728 2016-02-17  Daiki Ueno  <ueno@gnu.org>
730         Take advantage of new GnuPG version check function
732         * lisp/emacs-lisp/package.el (epg-configuration-find): Declare.
733         (package-refresh-contents): Use `epg-configuration-find' to check if EPG
734         is usable.
736 2016-02-17  Daiki Ueno  <ueno@gnu.org>
738         Make GnuPG version check robuster
740         We changed the default gpg program to "gpg2" from "gpg" in the commit
741         f93d669a16bd3cb3f43f0c8cfd22fe18b627a6a1.  However, there are two
742         maintained branches (2.0 and 2.1) and Emacs doesn't work well with 2.0
743         series.  Check the actual version of "gpg2" at run time, and properly
744         divert to "gpg" if necessary.
745         * lisp/epg-config.el: Require 'cl-lib for `cl-destructuring-bind'.
746         (epg-config--program-alist): New variable.
747         (epg--configurations): New variable.
748         (epg-configuration-find): New function.
749         (epg-config--make-gpg-configuration): New function.
750         (epg-config--make-gpgsm-configuration): New function.
751         (epg-configuration): Mark as obsolete.
752         * lisp/epg.el (epg-context): Use `epg-configuration-find'.
754 2016-02-17  Paul Eggert  <eggert@cs.ucla.edu>
756         Fix x-load-color-file pointer signedness
758         * src/xfaces.c (Fx_load_color_file) [!HAVE_X_WINDOWS]:
759         For sscanf and int *, use %d, not %u.
760         Problem found on Ubuntu 15.10 x32, which lacks X support.
762 2016-02-17  Paul Eggert  <eggert@cs.ucla.edu>
764         * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
766 2016-02-16  Mark Oteiza  <mvoteiza@udel.edu>
768         Follow convention for greek letter constants.
770         * lisp/calc/calc-units.el (math-standard-units):
771         Add "sigma" and alias σ to it.
773 2016-02-16  Mark Oteiza  <mvoteiza@udel.edu>
775         Add Stefan-Boltzmann constant to calc units table.
777         * lisp/calc/calc-units.el (math-standard-units):
778         Add Stefan-Boltzmann constant.
780 2016-02-16  Mark Oteiza  <mvoteiza@udel.edu>
782         * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
784 2016-02-16  Glenn Morris  <rgm@gnu.org>
786         Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
788         * lisp/emacs-lisp/cl-generic.el (cl--generic-dispatchers):
789         Prefill with relevant elements for term/xterm.
791 2016-02-16  Tassilo Horn  <tsdh@gnu.org>
793         Fix soffice UserInstallation-URL for Windows
795         * lisp/doc-view.el (doc-view-odf->pdf-converter-soffice): Fix
796         UserInstallation-URL when calling soffice on Windows.
798 2016-02-16  Lars Ingebrigtsen  <larsi@gnus.org>
800         Fix display of <pre> elements
802         * lisp/net/eww.el (eww-display-html): Remove CRLF before
803         parsing so that <pre> elements don't render with ^M at the end
804         of the lines.
806 2016-02-15  Eli Zaretskii  <eliz@gnu.org>
808         Minor fixes in global-auto-composition-mode
810         * lisp/emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name):
811         Produce prettier names of globalized minor modes.
812         * lisp/composite.el (global-auto-composition-mode): Make it a
813         globalized mode.  (Bug#22682)
815 2016-02-15  Alan Mackenzie  <acm@muc.de>
817         Allow arithmetic operators inside C++ template constructs.
819         Fixes debbugs #22486.  This corrects the previous patch with this message
820         which was empty.
822         * lisp/progmodes/cc-langs.el (c-multichar->-op-not->>-regexp): New language
823         variable.
824         (c-<>-notable-chars-re): New language variable.
826         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): User
827         c-<>-notable-chars-re in place of the former fixed string in searching for
828         places to stop and examine.
829         Use c-multichar->-op-not->>-regexp to check that a found ">" is not part of a
830         multichar operator in place of the former c->-op-without->-cont-regexp.
831         Add code to skip forwards over a balanced parenthesized expression.
833 2016-02-15  Eli Zaretskii  <eliz@gnu.org>
835         Avoid crashes in semi-malformed 'condition-case'
837         * src/eval.c (internal_lisp_condition_case): Treat a handler
838         '(nil)' as if it were '(nil nil)'.  (Bug#22675)
840 2016-02-15  Alan Mackenzie  <acm@muc.de>
842         Allow arithmetic operators inside C++ template constructs.
844         Fixes debbugs #22486.
846         * lisp/progmodes/cc-langs.el (c-multichar->-op-not->>-regexp): New language
847         variable.
848         (c-<>-notable-chars-re): New language variable.
850         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): User
851         c-<>-notable-chars-re in place of the former fixed string in searching for
852         places to stop and examine.
853         Use c-multichar->-op-not->>-regexp to check that a found ">" is not part of a
854         multichar operator in place of the former c->-op-without->-cont-regexp.
855         Add code to skip forwards over a balanced parenthesized expression.
857 2016-02-15  Eli Zaretskii  <eliz@gnu.org>
859         Fix regression with 'recent-keys' and keyboard macros
861         * src/keyboard.c (record_char): Don't record in 'recent_keys'
862         events that come from executing keyboard macros.  (Bug#22674)
864 2016-02-15  Eli Zaretskii  <eliz@gnu.org>
866         Fix wording in a doc-view.el comment
868         * lisp/doc-view.el (doc-view--current-cache-dir): Don't use
869         "illegal" for something that is not against the law.
871 2016-02-15  Paul Eggert  <eggert@cs.ucla.edu>
873         CONTRIBUTE cleanups and updates
875         * CONTRIBUTE: Mention URLs and info nodes more consistently,
876         avoiding possibly-confusing punctuation adjacent to a URL, and
877         giving full shell commands for 'info'.  Start with a brief but
878         complete how-to, for people who want to get started right away.
879         Then briefly discuss how to join the development process in the
880         typical order.  Omit needless words.  Update some of the
881         now-obsolete file names, info node names, and quoting styles.
882         Better document emacs-NN branches and how they are merged.
883         * admin/notes/git-workflow: Change emacs-24 to emacs-25,
884         and trunk to master.  This file still needs work.
886 2016-02-14  Paul Eggert  <eggert@cs.ucla.edu>
888         Port USE_STACK_LISP_OBJECTS fix to Clang
890         * src/lisp.h (USE_STACK_LISP_OBJECTS): Default to false for Clang.
891         Recent versions of Clang claim to be GCC 4.2.1 but do not have
892         the GCC bug.
894 2016-02-14  Paul Eggert  <eggert@cs.ucla.edu>
896         Port to x86 GCC 4.3.1 and earlier
898         This tries to port to x86 FreeBSD 9, where Emacs dumps core (Bug#22065).
899         * src/lisp.h (USE_STACK_LISP_OBJECTS): Default to false
900         for GCC 4.3.1 and earlier.
902 2016-02-14  Eli Zaretskii  <eliz@gnu.org>
904         Fix point movement under 'scroll-conservatively'
906         * src/xdisp.c (redisplay_window): Correct a typo in computing the
907         effective number of text lines in a window.  (Bug#22637)
909 2016-02-14  Thomas Plass  <thomas.plass@arcor.de>
911         Replace colon in file name (not legal on Windows)
913         * lisp/doc-view.el (doc-view--current-cache-dir): Replace colon in file
914         name (not legal on Windows). [tiny change]
916 2016-02-14  Eli Zaretskii  <eliz@gnu.org>
918         Fix a typo in edt.texi
920         * doc/misc/edt.texi: Fix a typo in an email address.  Reported by
921         "Herbert J. Skuhra" <herbert@mailbox.org>.
923 2016-02-14  Eli Zaretskii  <eliz@gnu.org>
925         Make 'mmap_realloc' on MS-Windows more reliable
927         * src/w32heap.c (mmap_alloc): If reserving memory succeeds, but
928         committing fails, return NULL.  Don't call GetLastError twice for
929         the same API error.
930         (mmap_realloc): Zero out MEMORY_BASIC_INFORMATION structures
931         before calling VirtualQuery, to avoid using garbled values if the
932         call fails.  If committing more pages from the same block fails,
933         fall back on mmap_alloc + CopyMemory.  Enhance debugging printouts
934         if the call to VirtualAlloc to commit more pages fails.
935         (Bug#22526)
937 2016-02-14  Oscar Fuentes  <ofv@wanadoo.es>
939         Grep alias `all' shall not match parent directory
941         * lisp/progmodes/grep.el (grep-files-aliases): Don't match parent
942           directory for `all'. Fixes bug#22577
944 2016-02-13  Nicolas Petton  <nicolas@petton.fr>
946         Bump version to 25.0.91
948         * README:
949         * configure.ac:
950         * msdos/sed2v2.inp: Bump version to 25.0.91.
952 2016-02-13  Nicolas Petton  <nicolas@petton.fr>
954         * etc/AUTHORS: Update the AUTHORS file
956 2016-02-13  Glenn Morris  <rgm@gnu.org>
958         * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
960 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
962         Index tilde characters in names of backup files
964         * doc/emacs/files.texi (Backup Names): Improve indexing.
965         (Bug#22625)
967 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
969         Document deprecation of hi-lock-mode's 'C-x w' bindings
971         * doc/emacs/display.texi (Highlight Interactively): Deprecate the
972         "C-x w" bindings of hi-lock-mode.
974         * etc/NEWS: Mark the deprecation entry as documented.
976 2016-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
978         Announce that the `C-x w' bindings are deprecated
980 2016-02-13  Paul Eggert  <eggert@cs.ucla.edu>
982         Suppress GNUstep hardening
984         Fedora 23 normally hardens GNUstep applications, which causes
985         ‘./configure --with-ns’ to break Emacs’s funky way of undumping.
986         Fix this by eliding the hardening options (Bug#22518).
987         * src/Makefile.in (LIBS_GNUSTEP): Omit options like
988         ‘-specs=/usr/lib/rpm/redhat/redhat-hardened-ld’.
989         (GNU_OBJC_CFLAGS): Omit options like
990         ‘-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1’.
992 2016-02-12  Eli Zaretskii  <eliz@gnu.org>
994         Fix redisplay after a large insertion
996         * src/xdisp.c (redisplay_internal): Don't accept the results of
997         "optimization 3" if the cursor ends up in a partially visible
998         glyph row.  (Bug22637)
1000 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
1002         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
1004         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
1006                 * lisp/gnus/nnimap.el (nnimap-change-group): Revert last
1007                 change.  (Bug#22634)
1009 2016-02-11  Paul Eggert  <eggert@cs.ucla.edu>
1011         * lib-src/make-docfile.c: Include stdarg.h.
1013 2016-02-11  Alan Mackenzie  <acm@muc.de>
1015         Extend gpm-mouse-mode's doc string and doc to point out limitations.
1017         * lisp/t-mouse.el (gpm-mouse-mode): Extend doc string to indicate the
1018         inability to transfer text between Emacs and other programs which use GPM.
1020         * doc/emacs/frames.texi (Text-Only Mouse): Note the inability to transfer text
1021         between Emacs and other progrmas which use GPM.
1023 2016-02-11  Eli Zaretskii  <eliz@gnu.org>
1025         Revert "Backport: * lisp/isearch.el: Turn char-folding off by default"
1027         * lisp/isearch.el: Turn char-folding back oon by default.
1029         This reverts commit 12c50e82c9b432b2fc31f8fb2215f43ceea80822.
1031 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
1033         Revert "Support integer image rotation and respect EXIF rotations"
1035         This reverts commit 0f600496050bf435f55dc81056e06fcd45992dc8.
1037         This change does not work on Fedora.
1039 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
1041         Revert "Document EXIF image rotation"
1043         This reverts commit 10b8ed27ec91ff52f93eb0297dcc3abb214931aa.
1045         This change does not work on Fedora, for instance.
1047 2016-02-11  Paul Eggert  <eggert@cs.ucla.edu>
1049         Document OS X LANG default
1051         * doc/emacs/cmdargs.texi (General Variables):
1052         Document OS X Language and Region system preference.
1053         Suggested by Alan Third.
1055 2016-02-11  Alan Third  <alan@idiocy.org>
1057         Set locale when run from OS X GUI
1059         * src/emacs.c (main): Call ns_init_locale.
1060         * src/nsterm.m (ns_init_locale): Get locale from OS and set LANG.
1061         * src/nsterm.h: Include ns_init_locale.
1063 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
1065         make-docfile cleanup for I/O, etc.
1067         * lib-src/make-docfile.c (progname, generate_globals, num_globals)
1068         (num_globals_allocated, globals): Now static.
1069         (generate_globals, struct rcsoc_state, read_c_string_or_comment):
1070         (write_c_args, scan_c_stream, search_lisp_doc_at_eol, scan_lisp_file):
1071         Use bool for boolean.
1072         (verror): New function.
1073         (fatal, error): Use it.  API is now like printf.  All callers changed.
1074         (main): Remove err_count local that was always 0.
1075         (main, scan_c_stream, scan_lisp_file): Check for I/O error.
1076         (scan_file, scan_c_file, scan_c_stream, scan_lisp_file):
1077         Return void, not 0.
1078         (put_char, scan_keyword_or_put_char, scan_c_file): Use char for byte.
1079         (scan_keyword_or_put_char): Check for missing ( and unexpected EOF.
1080         (close_emacs_globals): Use ptrdiff_t for index, not int.
1081         (scan_c_file, scan_lisp_file): Exit with failure if file cannot be
1082         opened, rather than diagnosing but exiting with status 0.
1083         (search_lisp_doc_at_eol): Don't worry about ungetc of EOF; it's
1084         portable now.
1086 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
1088         Memory-management cleanup in make-docfile
1090         I compiled it with -fsanitize=address and fixed the leaks it detected.
1091         Also, I changed it to prefer signed to unsigned integer types,
1092         and to check for integer overflow.
1093         * lib-src/make-docfile.c:
1094         Include <stddef.h>, <stdint.h>, <intprops.h>, <min-max.h>.
1095         (memory_exhausted): New function.
1096         (xmalloc, xrealloc): Use it.
1097         (xmalloc, xrealloc, scan_file, struct rcsoc_state, write_c_args)
1098         (uncompiled, scan_lisp_file):
1099         Prefer signed integer types to unsigned.
1100         (xstrdup): Remove.  All uses removed.
1101         (num_globals, num_globals_allocated, write_globals, scan_c_stream):
1102         Use ptrdiff_t, not int, for indexes that in theory could exceed INT_MAX.
1103         (add_global): Use const to pacify --enable-gcc-warnings.
1104         Make a copy here, rather than relying on strdup calls later.
1105         (add_global, write_globals, scan_c_stream):
1106         Avoid integer overflow when calculating sizes.
1107         (write_globals, scan_c_stream, scan_lisp_file): Avoid memory leak.
1108         (scan_c_stream): Check for add_global failure.
1110 2016-02-10  Kevin Gallagher  <Kevin.Gallagher@boeing.com>
1112         Kevin Gallagher has new email address
1114         * lisp/emulation/edt.el:
1115         * lisp/emulation/edt-lk201.el:
1116         * lisp/emulation/edt-mapper.el:
1117         * lisp/emulation/edt-pc.el:
1118         * lisp/emulation/edt-vt100.el:
1119         * etc/edt-user.el:
1120         * doc/misc/edt.texi: Update Kevin Gallagher's email address.
1122 2016-02-10  Eli Zaretskii  <eliz@gnu.org>
1124         Improve doc strings of 'forward/backward-word-strictly'
1126         * lisp/simple.el (backward-word): Refer to 'backward-word-strictly'
1127         in the doc string.  Suggested by Glenn Morris <rgm@gnu.org>.
1128         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
1129         Mention 'subword-mode' in the doc strings.
1131         * src/syntax.c (Fforward_word): Refer to 'forward-word-strictly'
1132         in the doc string.  (Bug#22560)
1134 2016-02-10  Michael Albinus  <michael.albinus@gmx.de>
1136         Describe Makefile test targets in test/README
1138         * CONTRIBUTE: Move Makefile test targets to test/README.
1140         * Makefile.in:
1141         * test/README: Describe Makefile test targets.
1143 2016-02-10  Artur Malabarba  <bruce.connor.am@gmail.com>
1145         Backport: * lisp/isearch.el: Turn char-folding off by default
1147         (search-default-mode): Set default value to nil.
1149 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
1151         Document EXIF image rotation
1153         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
1155 2016-02-10  Dima Kogan  <dima@secretsauce.net>
1157         Support integer image rotation and respect EXIF rotations
1159         * src/image.c (imagemagick_load_image): Allow integer rotations in
1160         addition to floating point rotations (bug#22591).
1161         * src/image.c (imagemagick_load_image): Images that have an
1162         orientation given in EXIF and have no explicit :rotation tag are now
1163         pre-rotated.  All information such as width/height is reported for the
1164         rotated image.
1166 2016-02-10  Matthew Carter  <m@ahungry.com>
1168         Quote table names for postgres listings (sql-mode)
1170         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
1171           unquoted table names to the completion list.
1173 2016-02-10  Juri Linkov  <juri@linkov.net>
1175         * lisp/replace.el (replace-match-maybe-edit): Make arg `backward' optional.
1177         Doc fix.
1178         (replace-search, replace-highlight): Make arg `backward' optional.
1179         (Bug#18388)
1181 2016-02-10  Juri Linkov  <juri@linkov.net>
1183         * lisp/simple.el (next-line-or-history-element): Reset temporary-goal-column.
1185         (previous-line-or-history-element): Reset temporary-goal-column.
1186         Use end-of-visual-line instead of line-end-position.  (Bug#22544)
1188 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
1190         Suppress ACL ops if configured with --disable-acl
1192         Without this patch, some ACL operations were suppressed, but not all.
1193         * src/fileio.c [!USE_ACL]: Do not include sys/acl.h.
1194         (Ffile_acl, Fset_file_acl) [!USE_ACL]: Return nil in this case.
1196 2016-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
1198         Mention web bugs
1200         * doc/misc/emacs-mime.texi (Display Customization):
1201         Mention web bugs in the mm-html-blocked-images section.
1203 2016-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
1205         Make mm-html-blocked-images default to "" again
1207         * lisp/gnus/mm-decode.el (mm-html-blocked-images):
1208         Default to "" that blocks all external images.
1210         * doc/misc/emacs-mime.texi (Display Customization):
1211         Mention that mm-html-blocked-images defaults to "".
1213 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1215         Minor alignas cleanup
1217         * src/lisp.h (alignas): Remove now-redundant #ifdef that was left
1218         over from the old way of doing things, before Bug#20862 was fixed.
1220 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1222         Add lmalloc commentary and tweak laligned
1224         * src/alloc.c (laligned): Help compiler in a tiny way by putting
1225         the more-commonly-failing disjunct first.
1227 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
1229         Clarify documentation of key binding conventions
1231         * doc/lispref/tips.texi (Key Binding Conventions): Clarify which
1232         "punctuation characters" are reserved after "C-c".  (Bug#22604)
1234 2016-02-09  Oscar Fuentes  <ofv@wanadoo.es>
1236         * etc/NEWS: mention the `vc-faces' customization group
1238 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1240         Sync with gnulib
1242         This incorporates:
1243         2016-02-09 stdalign: port to clang 3.7.0
1244         2016-02-06 misc: port better to gcc -fsanitize=address
1245         * doc/misc/texinfo.tex, lib/stdalign.in.h, m4/acl.m4, m4/getgroups.m4:
1246         Copy from gnulib.
1248 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
1250         * CONTRIBUTE: Add more examples for $(SELECTOR) make variable.
1252 2016-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
1254         Make mm-html-inhibit-images and mm-html-blocked-images default to nil
1256         * lisp/gnus/mm-decode.el (mm-html-inhibit-images)
1257         (mm-html-blocked-images): Default to nil.
1259         * doc/misc/emacs-mime.texi (Display Customization): Mention that
1260         mm-html-inhibit-images and mm-html-blocked-images default to nil.
1262         * etc/NEWS (Gnus): Document mm-html-inhibit-images and
1263         mm-html-blocked-images.
1265 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1267         Increase success rate of fallback lmalloc
1269         * src/alloc.c (lmalloc, lrealloc): Reallocate with (typically)
1270         larger and larger sizes, to increase the probability that
1271         the allocator will return a Lisp-aligned pointer.
1273 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
1275         Make backgrounds extend to the end of the lines in shr
1277         * lisp/net/shr.el (shr-face-background): Faces can also be on
1278         the form `(:background "#fff)' (bug#22547).
1280 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
1282         Make the `R' command get the correct relative <img>s
1284         * lisp/net/eww.el (eww-readable): Preserve the base URL so
1285         that image expansions are fetched from the right place (bug#22605).
1287         (cherry picked from commit 8722e849f75ceafb82a1c17105e8ab76077a8ebc)
1289         Backport:
1291 2016-02-09  Mike Kupfer  <m.kupfer@acm.org>
1293         Fix typos in emacs-mime.texi and gnus.texi
1295         * doc/misc/emacs-mime.texi (Display Customization):
1296         * doc/misc/gnus.texi (HTML): Fix typo.
1298 2016-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
1300         * doc/misc/emacs-mime.texi (Display Customization):
1301         Doc fix for mm-html-inhibit-images.
1303 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
1305         Fix message-cross-post-followup-to group names
1307         * lisp/gnus/message.el (message-cross-post-followup-to): Don't
1308         insert group names like "nntp+foo:zot", because those aren't valid.
1310 2016-02-09  David Edmondson  <dme@dme.org>
1312         Compare recipient and keys case-insensitively
1314         * lisp/gnus/mml2015.el: (mml-secure-check-user-id): When comparing a
1315         recipient address with that from a key, do so in a case insensitive
1316         manner (bug#22603).
1318 2016-02-08  Glenn Morris  <rgm@gnu.org>
1320         * lisp/gnus/mm-decode.el (mm-alist-to-plist): Doc fix.
1322 2016-02-08  Katsumi Yamaoka  <yamaoka@jpl.org>
1324         Refactor HTML images handling of Gnus and mm-* (a part of bug#21650)
1326         * doc/misc/emacs-mime.texi (Display Customization):
1327         Remove mm-inline-text-html-with-images; add documentations for
1328         mm-html-inhibit-images and mm-html-blocked-images.
1330         * lisp/gnus/gnus-art.el (gnus-article-show-images):
1331         No need to bind mm-inline-text-html-with-images.
1332         (gnus-bind-safe-url-regexp): Rename to gnus-bind-mm-vars.
1333         (gnus-bind-mm-vars): Rename from gnus-bind-safe-url-regexp;
1334         bind mm-html-inhibit-images and mm-html-blocked-images.
1335         (gnus-mime-view-all-parts, gnus-mime-view-part-internally)
1336         (gnus-mm-display-part, gnus-mime-display-single)
1337         (gnus-mime-display-alternative): Use gnus-bind-mm-vars.
1339         * lisp/gnus/mm-decode.el (mm-inline-text-html-with-images): Remove.
1340         (mm-html-inhibit-images, mm-html-blocked-images): New user options.
1341         (mm-shr): Bind shr-inhibit-images and shr-blocked-images with
1342         mm-html-inhibit-images and mm-html-blocked-images respectively
1343         instead of gnus-inhibit-images and gnus-blocked-images.
1345         * lisp/gnus/mm-view.el (mm-setup-w3m): Use mm-html-inhibit-images
1346         instead of mm-inline-text-html-with-images.
1348 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
1350         Port to FreeBSD 11-CURRENT i386
1352         Problem reported by Herbert J. Skuhra in:
1353         http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00354.html
1354         Instead of trying
1355         * src/alloc.c (lmalloc, lrealloc, laligned): New functions.
1356         (xmalloc, xzalloc, xrealloc, lisp_malloc): Use them.
1357         (__alignof__) [!__GNUC__ && !__alignof__]: New macro.
1358         (MALLOC_IS_GC_ALIGNED): New macro.
1359         * src/lisp.h (NONPOINTER_BITS): Remove.  All uses removed.
1360         No longer needed now that alloc.c uses lmalloc and lrealloc.
1362 2016-02-08  Michael Albinus  <michael.albinus@gmx.de>
1364         Some fixes in file-notify-tests.el
1366         * test/automated/file-notify-tests.el
1367         (file-notify--test-with-events-check)
1368         (file-notify--test-with-events-explainer): New defuns.
1369         (file-notify--test-with-events): Use it.
1370         (file-notify-test07-backup): Fix docstring.  Some of the
1371         backends fire two `changed' events.  Backup by rename doesn't
1372         work for kqueue.
1374 2016-02-07  Michael Albinus  <michael.albinus@gmx.de>
1376         Fix Bug#22557
1378         * lisp/filenotify.el (file-notify-callback): Do not send a
1379         `stopped' event in case of backup by renaming.  (Bug#22557)
1381         * test/automated/Makefile.in: Use $(SELECTOR_EXPENSIVE) for
1382         all targets but check and check-maybe.
1384         * test/automated/file-notify-tests.el
1385         (file-notify--test-read-event-timeout): New defconst.
1386         (file-notify--deftest-remote, file-notify--wait-for-events)
1387         (file-notify-test02-events)
1388         (file-notify-test04-file-validity)
1389         (file-notify-test06-many-events): Use it.
1390         (file-notify--test-cleanup): Make it more robust.  Delete also
1391         backup file.
1392         (file-notify-test07-backup): New test.
1394 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1396         Fix test for dladdr
1398         Problem reported by Andreas Schwab in:
1399         http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00327.html
1400         * configure.ac (dladdr): Link with LIBMODULES when checking for
1401         this function.
1403 2016-02-07  Andreas Schwab  <schwab@linux-m68k.org>
1405         Fix gnus-group-get-new-news-this-group on group with closed server
1407         * lisp/gnus/nnimap.el (nnimap-change-group): Lookup server
1408         method and pass to nnimap-open-server.
1410 2016-02-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1412         * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
1414         While tabs in code are mostly fine because the Emacs sources have a
1415         .dir-locals file specifying tab-width, the same is not true of tabs in
1416         code examples inside docstrings.  The docstring is printed on a *Help*
1417         buffer, which can be created on any directory and won't necessarily have
1418         the same tab-width set.
1420 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
1422         Don't inloop gnus-uu-mark-thread on the last thread
1424         * lisp/gnus/gnus-uu.el (gnus-uu-mark-thread): Don't infloop on the
1425         final thread in the summary buffer (bug#16666).
1427 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
1429         Display non-ASCII group names better in prompts
1431         * lisp/gnus/gnus-sum.el (gnus-articles-to-read): To decode the
1432         group name, we have to do that before we remove the prefix.
1434 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
1436         Default to gpg2 instead of gpg
1438         * lisp/epg-config.el (epg-gpg-program): Prefer gpg2 over gpg, if
1439         it exists.  This fixes many problems with using the GPG
1440         authentication agent.
1442 2016-02-06  David Edmondson  <dme@dme.org>
1444         src/process.c Correctly convert AF_INET6 addresses
1446         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
1447         converted to a list of 16 bit quantities by
1448         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
1449         same scheme rather than expecting a (longer) list of 8 bit
1450         quantities.
1452         Backport:
1454         (cherry picked from commit 55ce3c30d617c38eb086d5ad4ffbd881c20c559c)
1456 2016-02-06  Artur Malabarba  <bruce.connor.am@gmail.com>
1458         * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
1460 2016-02-06  Artur Malabarba  <bruce.connor.am@gmail.com>
1462         * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
1464         (menu-bar-search-options-menu): New variable
1466 2016-02-06  Artur Malabarba  <bruce.connor.am@gmail.com>
1468         * lisp/isearch.el (search-default-mode)
1470         (isearch-regexp-function): Improve docstrings.
1472 2016-02-06  Artur Malabarba  <bruce.connor.am@gmail.com>
1474         * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
1476         (search-default-mode): New variable.
1477         (isearch-mode, isearch-define-mode-toggle)
1478         (isearch--describe-regexp-mode): Update accordingly.
1479         * lisp/menu-bar.el (nonincremental-search-forward): Update accordingly.
1480         * etc/NEWS: Update accordingly.
1481         * doc/emacs/search.texi: Update accordingly.
1483 2016-02-06  Oscar Fuentes  <ofv@wanadoo.es>
1485         Use monitor's resolution for positioning tooltips
1487         * src/xfns.c (compute_tip_xy): Use the resolution of the monitor where
1488           the mouse pointer is to avoid placing the tooltip over the border of
1489           the monitor on multi-head displays. Fixes bug#22549.
1491 2016-02-06  Eli Zaretskii  <eliz@gnu.org>
1493         Fix file-notify-test on MS-Windows
1495         * test/automated/file-notify-tests.el (file-notify--test-timeout):
1496         Reduce w32notify timeout to 10 sec.
1497         (file-notify-test06-many-events): Call read-event after each
1498         rename, to keep the w32notify backend happy in batch mode.
1499         (Bug#22534)
1501 2016-02-06  Eli Zaretskii  <eliz@gnu.org>
1503         Fix issues found by auditing w32notify code
1505         * src/w32inevt.c (handle_file_notifications): Count the number of
1506         events to be returned.
1507         * src/w32notify.c (send_notifications): Don't copy to the file
1508         notification buffer more than it can hold.  (Bug#22534)
1510 2016-02-06  Eli Zaretskii  <eliz@gnu.org>
1512         Extend etags Ruby support for accessors
1514         * lib-src/etags.c (Ruby_functions): Support accessors defined with
1515         parentheses.  (Bug#22563)
1517         * test/etags/ruby-src/test1.ru (A::B): Add tests for accessors
1518         defined with parentheses.
1519         * test/etags/ETAGS.good_1:
1520         * test/etags/ETAGS.good_2:
1521         * test/etags/ETAGS.good_3:
1522         * test/etags/ETAGS.good_4:
1523         * test/etags/ETAGS.good_5:
1524         * test/etags/ETAGS.good_6:
1525         * test/etags/CTAGS.good: Adapt to changes in Ruby tests.
1527 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
1529         Update publicsuffix.txt.
1531         * etc/publicsuffix.txt: Updated from
1532         https://publicsuffix.org/list/public_suffix_list.dat.
1534 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
1536         Ensure that Gnus dribble handling allows removing entries
1538         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Ensure that each
1539         entry is on a single line.
1541 2016-02-05  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
1543         Be consistent when using encoded strings in nnimap data
1545         * lisp/gnus/nnimap.el (nnimap-encode-gnus-group): New function
1546         (nnimap-request-list): Use it.
1547         (nnimap-request-newgroups): Ditto.
1549 2016-02-05  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
1551         Display the decoded Gnus group name
1553         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Use the
1554         decoded group name in the message.
1556 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
1558         Use completion-ignore-case instead of defining command
1560         * lisp/erc/erc.el (erc-mode): Set completion-ignore-case so
1561         that we get case-insensitive completion.
1562         (erc-completion-at-point): Remove.
1564 2016-02-05  Eli Zaretskii  <eliz@gnu.org>
1566         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
1568 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
1570         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
1572         Reduce the number of iterations to 250 in case of w32notify.
1574 2016-02-05  Eli Zaretskii  <eliz@gnu.org>
1576         Fix problems caused by new implementation of sub-word mode
1578         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
1579         New functions.
1580         (word-move-empty-char-table): New variable.
1582         * etc/NEWS: Mention 'forward-word-strictly' and
1583         'backward-word-strictly'.
1585         * doc/lispref/positions.texi (Word Motion): Document
1586         'find-word-boundary-function-table', 'forward-word-strictly', and
1587         'backward-word-strictly'.  (Bug#22560)
1589         * src/syntax.c (syms_of_syntax)
1590         <find-word-boundary-function-table>: Doc fix.
1592         * lisp/wdired.el (wdired-xcase-word):
1593         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
1594         (texinfo-copy-section-title, texinfo-start-menu-description)
1595         (texinfo-copy-menu-title, texinfo-specific-section-type)
1596         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
1597         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
1598         (texinfo-insert-@end):
1599         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
1600         (texinfo-anchor, texinfo-multitable-widths)
1601         (texinfo-multitable-item):
1602         * lisp/textmodes/tex-mode.el (latex-env-before-change):
1603         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
1604         * lisp/skeleton.el (skeleton-insert):
1605         * lisp/simple.el (count-words):
1606         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
1607         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
1608         (vhdl-update-sensitivity-list, vhdl-template-block)
1609         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
1610         (vhdl-template-default-indent, vhdl-template-for-loop)
1611         (vhdl-template-if-then-use, vhdl-template-bare-loop)
1612         (vhdl-template-nature, vhdl-template-procedural)
1613         (vhdl-template-process, vhdl-template-selected-signal-asst)
1614         (vhdl-template-type, vhdl-template-variable)
1615         (vhdl-template-while-loop, vhdl-beginning-of-block)
1616         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
1617         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
1618         (verilog-forward-sexp, verilog-beg-of-statement)
1619         (verilog-set-auto-endcomments, verilog-backward-token)
1620         (verilog-do-indent):
1621         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
1622         (vera-indent-block-closing):
1623         * lisp/progmodes/simula.el (simula-context)
1624         (simula-backward-up-level, simula-forward-down-level)
1625         (simula-previous-statement, simula-next-statement)
1626         (simula-skip-comment-backward, simula-calculate-indent)
1627         (simula-find-if, simula-electric-keyword):
1628         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
1629         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
1630         (ruby-smie--forward-token, ruby-smie--backward-token)
1631         (ruby-singleton-class-p, ruby-calculate-indent)
1632         (ruby-forward-sexp, ruby-backward-sexp):
1633         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
1634         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
1635         (perl-syntax-propertize-special-constructs)
1636         (perl-backward-to-start-of-continued-exp):
1637         * lisp/progmodes/pascal.el (pascal-indent-declaration):
1638         * lisp/progmodes/octave.el (octave-function-file-p):
1639         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
1640         * lisp/progmodes/js.el (js--forward-function-decl):
1641         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
1642         (idlwave-beginning-of-block, idlwave-end-of-block)
1643         (idlwave-block-jump-out, idlwave-determine-class):
1644         * lisp/progmodes/icon.el (icon-is-continuation-line)
1645         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
1646         * lisp/progmodes/hideif.el (hide-ifdef-define):
1647         * lisp/progmodes/f90.el (f90-change-keywords):
1648         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
1649         (cperl-linefeed, cperl-electric-terminator)
1650         (cperl-find-pods-heres, cperl-fix-line-spacing)
1651         (cperl-invert-if-unless):
1652         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
1653         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
1654         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
1655         (ada-adjust-case-skeleton, ada-create-case-exception)
1656         (ada-create-case-exception-substring)
1657         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
1658         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
1659         (ada-get-indent-if, ada-get-indent-block-start)
1660         (ada-get-indent-loop, ada-get-indent-type)
1661         (ada-search-prev-end-stmt, ada-check-defun-name)
1662         (ada-goto-decl-start, ada-goto-matching-start)
1663         (ada-goto-matching-end, ada-looking-at-semi-or)
1664         (ada-looking-at-semi-private, ada-in-paramlist-p)
1665         (ada-search-ignore-complex-boolean, ada-move-to-start)
1666         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
1667         * lisp/net/quickurl.el (quickurl-grab-url):
1668         * lisp/mail/sendmail.el (mail-do-fcc):
1669         * lisp/mail/rmail.el (rmail-resend):
1670         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
1671         * lisp/mail/mail-extr.el (mail-extract-address-components):
1672         * lisp/json.el (json-read-keyword):
1673         * lisp/files.el (insert-directory):
1674         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
1675         * lisp/completion.el (symbol-under-point, symbol-before-point)
1676         (symbol-before-point-for-complete, next-cdabbrev)
1677         (add-completions-from-c-buffer):
1678         * lisp/cedet/semantic/texi.el (semantic-up-context)
1679         (semantic-beginning-of-context):
1680         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
1681         use 'forward-word-strictly' and 'backward-word-strictly' instead
1682         of 'forward-word' and 'backward-word'.
1684 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
1686         Fix doc string of tls-program
1688         * lisp/net/tls.el (tls-program): Document the %t parameter (bug#22559).
1690 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
1692         Restore window conf in nsm
1694         * lisp/net/nsm.el (nsm-query-user): Restore the window configuration.
1696         Backport:
1698 2016-02-05  Mark Oteiza  <mvoteiza@udel.edu>
1700         * etc/NEWS: Document new mpc.el features
1702 2016-02-04  Leo Liu  <sdl.web@gmail.com>
1704         * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
1706 2016-02-04  Alan Mackenzie  <acm@muc.de>
1708         Correctly fontify C++ initializations which "look like" functions.
1710         Fixes bug#7579.
1712         lisp/progmodes/cc-engine.el (c-forward-declarator): Add extra optional
1713         parameter to enable handling of "anonymous" declarators in declarations.
1715         lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Check more rigorously
1716         whether a "(" opens a parameter list of a function, or an initialization of a
1717         variable.
1719 2016-02-04  Ulf Jasper  <ulf.jasper@web.de>
1721         Improve newsticker-treeview-selection-face
1723         * lisp/net/newst-treeview.el (newsticker-treeview-selection-face): Improve
1724         readability for dark background.
1726 2016-02-04  Eli Zaretskii  <eliz@gnu.org>
1728         Minor fix in tagging Ruby accessors by etags
1730         * lib-src/etags.c (Ruby_functions): Don't tag accessors whose
1731         names are not literal symbols.  (Bug#22241)
1733 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1735         Spelling fixes
1737 2016-02-04  Dmitry Gutov  <dgutov@yandex.ru>
1739         Remove 'def X' from the example
1741         * test/etags/ruby-src/test1.ru (A::B): Remove 'def X'
1742         (http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00167.html).
1743         * test/etags/CTAGS.good:
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: Adjust accordingly.
1751 2016-02-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
1753         Allow sending empty hidden values in eww
1755         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
1756         values (bug#22388).
1758         (cherry picked from commit 5898da8210af7953e638ddf7821c05260979c3f0)
1760         Backport:
1762 2016-02-04  David Edmondson  <dme@dme.org>
1764         Make erc work better when encountering unknown prefix chars
1766         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
1767         instead of erroring out on unknown prefix chars (bug#22380).
1769 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
1771         Make erc completion case-insensitive again
1773         * lisp/erc/erc.el (erc-completion-at-point): Make erc completion
1774         case-insensitive again (bug#11360).
1776 2016-02-04  Carlos Pita  <carlosjosepita@gmail.com>  (tiny change)
1778         Make complection in erc use consistent casing
1780         * lisp/erc/erc-pcomplete.el (pcomplete-erc-all-nicks): Make
1781         case in the complection consistent (bug#18509).
1783 2016-02-04  Francis Litterio  <flitterio@gmail.com>
1785         Make /QUIT in erc more robust
1787         * lisp/erc/erc.el (erc-kill-query-buffers): Don't bug out if we're
1788         issuing /QUIT to disconnected servers (bug#22099).
1790 2016-02-04  Kevin Brubeck Unhammer  <unhammer@fsfe.org>  (tiny change)
1792         Make tracking faces in Emacs work more reliably
1794         * lisp/erc/erc-track.el (erc-faces-in): Always return lists of
1795         faces to avoid later ambiguity (bug#22424).
1797 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
1799         Make shr not bug out on images on non-graphical displays
1801         * lisp/net/shr.el (shr-put-image): Don't bug out on alt-less
1802         images on non-graphical displays (bug#22327).
1804 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
1806         Fix bookmark display widths
1808         * lisp/net/eww.el (eww-list-bookmarks): Pop to the buffer before
1809         preparing it so that the widths are computed correctly (bug#22328).
1811 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
1813         Fix typo in eww-make-unique-file-name
1815         * lisp/net/eww.el (eww-make-unique-file-name): Make this function
1816         actually work.
1818 2016-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1820         Make it possible to TAB to input fields
1822         * lisp/net/eww.el (eww-tag-input): Make it possible to TAB to
1823         input fields (bug#22540).
1825 2016-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1827         Insert complete alt texts when images are disabled
1829         * lisp/net/shr.el (shr-tag-img): When images are disabled, insert
1830         the complete alt/title string (bug#22293).
1832 2016-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1834         Allow eww text fields to grow
1836         * lisp/net/eww.el (eww-process-text-input): Allow text fields to
1837         grow when typing in stuff that's longer than the original width.
1839 2016-02-03  Dima Kogan  <dima@secretsauce.net>
1841         Make erc work when subword-mode is switched on
1843         * lisp/erc/erc-backend.el (erc-forward-word, erc-word-at-arg-p)
1844         (erc-bounds-of-word-at-point): New functions to do word-based
1845         things when subword-mode is switched on.
1847         * lisp/erc/erc-button.el (erc-button-add-nickname-buttons): Use them
1848         (bug#17558).
1850 2016-02-03  Teemu Likonen  <tlikonen@iki.fi>
1852         Fix IMAP doc example
1854         * doc/misc/gnus.texi (Client-Side IMAP Splitting): Fix example.
1856 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1858         Quoting fixes in doc strings and diagnostics
1860         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq, byte-compile-funcall):
1861         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
1862         (mml-smime-get-ldap-cert):
1863         Follow user style preference when quoting diagnostics.
1865 2016-02-03  Noam Postavsky  <npostavs@gmail.com>
1867         Fix warning message in hack-local-variables
1869         * lisp/files.el (hack-local-variables): use 'thisbuf' to reference
1870         the original buffer name in the warning message.  (Bug#21681)
1872 2016-02-03  Eli Zaretskii  <eliz@gnu.org>
1874         Etags: yet another improvement in Ruby tags
1876         * lib-src/etags.c (Ruby_functions): Handle continuation lines in
1877         Ruby accessor definitions.  (Bug#22241)
1879         * test/etags/ruby-src/test1.ru (A::B#X): Add some more tests for
1880         accessors and multiline definitions.
1881         * test/etags/ETAGS.good_1:
1882         * test/etags/ETAGS.good_2:
1883         * test/etags/ETAGS.good_3:
1884         * test/etags/ETAGS.good_4:
1885         * test/etags/ETAGS.good_5:
1886         * test/etags/ETAGS.good_6:
1887         * test/etags/CTAGS.good: Adapt to changes in Ruby tags.
1889 2016-02-03  Eli Zaretskii  <eliz@gnu.org>
1891         Fix x-popup-menu on TTYs without a mouse
1893         * src/menu.c (Fx_popup_menu): Be sure to initialize 'x' and 'y'
1894         for the TTY case without a mouse.  (Bug#22538)
1896 2016-02-03  Nicolas Petton  <nicolas@petton.fr>
1898         * lisp/emacs-lisp/map.el: Improvements to the docstring of the pcase macro
1900 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
1902         Use pop-to-buffer-same-window in eww
1904         * lisp/net/eww.el: pop-to-buffer-same-window throughout instead of
1905         switch-to-buffer (bug#22244).
1907 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1909         * autogen.sh: Revert all recent changes.
1911 2016-02-02  Glenn Morris  <rgm@gnu.org>
1913         * make-dist: Updates related to nt/.
1915         * make-dist: Add modules/.
1917         * make-dist: Update for super-special file that can't live in etc/.
1919 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
1921         Fix failure to compile ns-win.el in parallel builds
1923         * src/Makefile.in ($(lispsource)/term/ns-win.elc): Add order-only
1924         dependency on $(lispsource)/international/charprop.el.
1925         (Bug#22501)
1927 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
1929         Fix names of tags generated for Ruby accessors
1931         * lib-src/etags.c (Ruby_functions): Don't include the leading
1932         colon ':' in tags for Ruby accessors and aliases.  (Bug#22241)
1934         * test/etags/ETAGS.good_1:
1935         * test/etags/ETAGS.good_2:
1936         * test/etags/ETAGS.good_3:
1937         * test/etags/ETAGS.good_4:
1938         * test/etags/ETAGS.good_5:
1939         * test/etags/ETAGS.good_6:
1940         * test/etags/CTAGS.good: Adapt to changes in Ruby tags.
1942 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
1944         Fix file-name recognition in 'etags'
1946         * lib-src/etags.c (get_language_from_filename): If FILE includes a
1947         leading directory, compare only its basename to the known file
1948         names in lang_names[].
1950         * test/etags/Makefile (RBSRC): Adapt to recent test1.ruby
1951         renaming.
1952         * test/etags/ETAGS.good_1:
1953         * test/etags/ETAGS.good_2:
1954         * test/etags/ETAGS.good_3:
1955         * test/etags/ETAGS.good_4:
1956         * test/etags/ETAGS.good_5:
1957         * test/etags/ETAGS.good_6:
1958         * test/etags/CTAGS.good: Adapt to changes in Ruby file names and
1959         to the results in Makefile due to the above etags.c fix.
1961 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
1963         Change Ruby file names and extensions recognized by 'etags'
1965         * lib-src/etags.c <Ruby_filenames>: New variable, holds names
1966         of Ruby files.
1967         <Ruby_suffixes>: Treat .rb, .ru, and .rbw as Ruby extensions.
1968         <lang_names>: Add Ruby_filenames to the Ruby entry.
1969         * test/etags/ruby-src/test1.ru: Renamed from test1.ruby.
1970         (Bug#22241)
1972 2016-02-02  Eli Zaretskii  <eliz@gnu.org>
1974         More improvements for Ruby support in 'etags'
1976         * lib-src/etags.c (Ruby_functions): Tag Ruby accessors and
1977         alias_method.  Identify constants even if the assignment is not
1978         followed by whitespace.  (Bug#22241)
1980         * test/etags/ruby-src/test1.ru: Add tests for constants,
1981         accessors, and alias_method.
1982         * test/etags/ETAGS.good_1:
1983         * test/etags/ETAGS.good_2:
1984         * test/etags/ETAGS.good_3:
1985         * test/etags/ETAGS.good_4:
1986         * test/etags/ETAGS.good_5:
1987         * test/etags/ETAGS.good_6:
1988         * test/etags/CTAGS.good: Adapt to changes in Ruby tests.
1990 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1992         Add --git-config option to autogen.sh
1994         * autogen.sh: New options --git-config, --help.
1995         (git_config): New shell var.  Alter function to respect this var.
1997 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
1999         Fix editing undo changes in eww fields
2001         * eww.el (eww-tag-form): Don't overwrite initial form data in text
2002         fields.
2003         (eww-process-text-input): Make `M-t' at the end of text fields work
2004         better (bug#19085).
2006 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
2008         Allow the user more control of popping up the eww window
2010         * eww.el (eww): Use pop-to-buffer-same-window (suggested by
2011         Michael Heerdegen) (bug#22244).
2013 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
2015         Make eww-browse-url with new-window parameter work again
2017         * eww.el (eww-browse-url): Stay in the same buffer if we're
2018         already in a eww mode buffer so that eww-browse-url with a
2019         new-window parameter works (bug#22244).
2021 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
2023         Clean up eww code slightly
2025         * eww.el (eww-browse-url): Clean up code slightly.
2027 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
2029         Don't insert nil faces in shr
2031         * shr.el (shr-insert-table): Don't add nil faces, because that
2032         will show up in *Messages* as "Invalid face reference: nil [32
2033         times]".
2035 2016-02-01  Glenn Morris  <rgm@gnu.org>
2037         Improve the custom type of some user options.
2039         * lisp/autoinsert.el (auto-insert-alist):
2040         * lisp/replace.el (query-replace-from-to-separator):
2041         * lisp/gnus/gnus-art.el (gnus-hidden-properties):
2042         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-properties):
2043         * lisp/gnus/gnus-picon.el (gnus-picon-properties):
2044         * lisp/progmodes/prolog.el (prolog-keywords, prolog-types)
2045         (prolog-mode-specificators, prolog-determinism-specificators)
2046         (prolog-directives, prolog-program-name, prolog-program-switches)
2047         (prolog-consult-string, prolog-compile-string, prolog-eof-string)
2048         (prolog-prompt-regexp): Improve custom type.
2050 2016-02-01  Glenn Morris  <rgm@gnu.org>
2052         Mark some risky calendar variables.
2054         * lisp/calendar/cal-china.el (chinese-calendar-time-zone):
2055         Remove risky setting for deleted obsolete alias.
2056         (calendar-chinese-standard-time-zone-name)
2057         (calendar-chinese-daylight-saving-start)
2058         (calendar-chinese-daylight-saving-end):
2059         * lisp/calendar/calendar.el (calendar-iso-date-display-form)
2060         (calendar-european-date-display-form)
2061         (calendar-american-date-display-form, calendar-date-display-form):
2062         * lisp/calendar/diary-lib.el (diary-remind-message)
2063         (diary-header-line-format):
2064         * lisp/calendar/solar.el (calendar-time-display-form)
2065         (calendar-location-name): Mark as risky.
2067 2016-02-01  Simen Heggestøyl  <simenheg@gmail.com>
2069         Highlight two additional SCSS keywords
2071         * lisp/textmodes/css-mode.el (css-bang-ids): New defconst holding CSS
2072         identifiers on the form !foo.
2073         (scss-bang-ids): New defconst holding SCSS identifiers on the form
2074         !foo.
2075         (css--font-lock-keywords): Highlight the new SCSS bang identifiers in
2076         `font-lock-builtin-face'.
2078         * test/indent/css-mode.css: Add bang rule test case.
2080         * test/indent/scss-mode.scss: Add test cases for the introduced bang
2081         rules.
2083 2016-02-01  Karl Fogel  <kfogel@red-bean.com>
2085         Recommend enabling integrity-checking in git
2087         * admin/notes/git-workflow:  Recommend setting transfer.fsckObjects.
2089         This is related to the autogen.sh changes made by Paul Eggert in
2090         commit d766ca8f (2016-02-01) and commit cedd7cad (2016-02-01), and to
2091         my edits today to http://www.emacswiki.org/emacs/GitForEmacsDevs and
2092         to emacswiki.org/emacs/GitQuickStartForEmacsDevs.  See also the thread
2093         "Recommend these .gitconfig settings for git integrity." at
2094         https://lists.gnu.org/archive/html/emacs-devel/2016-01/threads.html#01802.
2096 2016-02-01  Martin Rudalics  <rudalics@gmx.at>
2098         Some corrections in Elisp manual
2100         * doc/lispref/buffers.texi (Read Only Buffers): Describe optional
2101         argument POSITION.
2102         * doc/lispref/debugging.texi (Error Debugging): `debug-on-signal'
2103         is an option.
2104         * doc/lispref/display.texi (Refresh Screen): Describe optional
2105         argument FRAME of `redraw-frame'.
2106         (Attribute Functions): Describe optional argument CHARACTER of
2107         `face-font'.
2108         (Defining Images): `image-load-path' is an option.
2109         (Beeping): `ring-bell-function' is an option.
2110         * doc/lispref/frames.texi (Size and Position): The PIXELWISE
2111         argument of `set-frame-size' is optional.
2112         (Raising and Lowering): The TERMINAL argument of `tty-top-frame'
2113         is optional.
2114         * doc/lispref/keymaps.texi (Controlling Active Maps): Fix doc of
2115         `set-transient-map'.
2116         * doc/lispref/minibuf.texi (Text from Minibuffer):
2117         `read-regexp-defaults-function' is an option.
2118         (Minibuffer Contents): `delete-minibuffer-contents' is a command.
2119         * doc/lispref/modes.texi (Mode Line Variables):
2120         `mode-line-position' and `mode-line-modes' are variables, not
2121         options.
2122         * doc/lispref/strings.texi (Creating Strings): The START argument
2123         of `substring' is optional.
2124         * doc/lispref/text.texi (Buffer Contents): Describe optional
2125         argument NO-PROPERTIES of `thing-at-point'.
2126         (User-Level Deletion): Both arguments of
2127         `delete-trailing-whitespace' are optional.
2128         (Margins): Use @key{RET} instead of @kbd{RET}.
2129         * doc/lispref/windows.texi (Display Action Functions): Write
2130         non-@code{nil} instead of non-nil.
2131         (Choosing Window Options): The WINDOW arg of
2132         `split-window-sensibly' is optional.
2133         (Choosing Window Options): Write non-@code{nil} instead of
2134         non-nil.
2135         (Window Start and End): Both args of `window-group-end' are
2136         optional.
2138         * src/buffer.c (Fbarf_if_buffer_read_only): Rename argument POS
2139         to POSITION to keep consisteny with doc-string.
2141 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
2143         Chatter when autogen.sh changes Git configuration
2145         * autogen.sh (git_config): New function.  Use it instead of ‘git config’.
2147 2016-02-01  Kyle Meyer  <kyle@kyleam.com>
2149         * lisp/org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
2151 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
2153         Omit unnecessary history from Lisp intro
2155         * doc/lispintro/emacs-lisp-intro.texi (Review, Digression into C)
2156         (Conclusion): Reword so as not to talk about earlier versions
2157         of Emacs in what should be an intro.
2159 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
2161         * etc/HISTORY: Add some more history, plus git tags.
2163 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
2165         Improve elisp “Security Considerations” doc
2167         * doc/lispref/os.texi (Security Considerations):
2168         Mention call-process and rename-file as opposed to shell commands.
2169         Add some more cross-references.
2171 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
2173         autogen.sh now arranges for git to check hashes
2175         Suggested by Karl Fogel in:
2176         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01802.html
2177         * autogen.sh: Do "git config transfer.fsckObjects true".
2179 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
2181         Fix (c & 040) typo in emergency escapes
2183         * src/keyboard.c (handle_interrupt): Fix recently-introduced
2184         typo (040 should have been ~040) that silently suppressed
2185         auto-saves after emergency escapes.  Redo comparison to avoid
2186         similar problems.
2188 2016-01-31  Eli Zaretskii  <eliz@gnu.org>
2190         Fix display of overlay strings with 'display' and 'box' property
2192         * src/xdisp.c (get_next_display_element): Take the box face from
2193         display stack level that comes from a buffer, not an overlay
2194         string.  (Bug#22499)
2196 2016-01-31  Andreas Schwab  <schwab@linux-m68k.org>
2198         Fix imap-starttls-open
2200         * lisp/net/imap.el (imap-starttls-open): Log imap process
2201         output.  Call imap-parse-greeting.  (Bug#22500)
2203 2016-01-31  Andreas Schwab  <schwab@linux-m68k.org>
2205         Fix return value of imap-starttls-open
2207         * lisp/net/imap.el (imap-starttls-open): Fix return value.
2209 2016-01-31  John Wiegley  <johnw@newartisans.com>
2211         Correct reference to DARWIN_OS preprocessor symbol
2213         * src/alloc.c: Correct a preprocessor reference to DARWIN_OS, which may
2214           not be defined.
2216 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
2218         Spelling fix
2220         Spelling fixes
2222 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
2224         Pacify GCC on C library without glibc API
2226         Without this change, with --enable-gcc-warnings GCC would complain
2227         “error: redundant redeclaration of ‘aligned_alloc’”.
2228         * configure.ac: Simplify aligned_alloc testing.
2229         * src/alloc.c (aligned_alloc): Don’t use if DARWIN_OS,
2230         since the simplified configure.ac no longer checks for that.
2231         Don’t declare if HAVE_ALIGNED_ALLOC.
2232         Correct misspelling of HAVE_ALIGNED_ALLOC in ifdef.
2234 2016-01-30  Artur Malabarba  <bruce.connor.am@gmail.com>
2236         Backport: * lisp/files.el: Remove support for extra .dir-locals file
2238         (dir-locals-file-2, dir-locals--all-files): Remove.
2239         (dir-locals-collect-variables, dir-locals-file, dir-locals-find-file)
2240         (dir-locals-read-from-file, hack-dir-local-variables): Revert changes.
2242         * lisp/files-x.el (modify-dir-local-variable): Revert changes.
2244         * lisp/help-fns.el (describe-variable): Revert changes.
2246         * doc/emacs/custom.texi (Directory Variables): Revert changes.
2248         * etc/NEWS: Revert changes.
2250 2016-01-30  Glenn Morris  <rgm@gnu.org>
2252         * lisp/net/browse-url.el (browse-url-default-browser):
2253         Lower priority of non-free Chrome.
2255 2016-01-30  Glenn Morris  <rgm@gnu.org>
2257         Improve the custom type of some user options.
2259         * lisp/desktop.el (desktop-minor-mode-table):
2260         * lisp/man.el (Man-frame-parameters):
2261         * lisp/midnight.el (midnight-delay):
2262         * lisp/speedbar.el (speedbar-select-frame-method):
2263         * lisp/tooltip.el (tooltip-frame-parameters):
2264         * lisp/tree-widget.el (tree-widget-space-width):
2265         * lisp/type-break.el (type-break-keystroke-threshold):
2266         * lisp/woman.el (woman-imenu-generic-expression):
2267         * lisp/cedet/ede.el (ede-debug-program-function):
2268         * lisp/cedet/ede/project-am.el (project-am-debug-target-function):
2269         * lisp/emulation/viper-keym.el (viper-toggle-key):
2270         * lisp/erc/erc-networks.el (erc-server-alist):
2271         * lisp/gnus/message.el (message-deletable-headers, message-signature):
2272         * lisp/mail/mailalias.el (mail-directory-stream):
2273         * lisp/play/tetris.el (tetris-x-colors):
2274         * lisp/progmodes/gud.el (gud-tooltip-modes): Improve custom type.
2276 2016-01-30  Simen Heggestøyl  <simenheg@gmail.com>
2278         Highlight CSS variables with variable name face
2280         * lisp/textmodes/css-mode.el (css-nmstart-re): Don't match variables.
2281         (css--font-lock-keywords): Highlight variables in
2282         `font-lock-variable-name-face'.
2284 2016-01-30  Glenn Morris  <rgm@gnu.org>
2286         * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not user-serviceable.
2288 2016-01-30  Glenn Morris  <rgm@gnu.org>
2290         Mark some user options that can get evalled as risky.
2292         * lisp/allout.el (allout-title):
2293         * lisp/emacs-lisp/edebug.el (edebug-global-break-condition):
2294         * lisp/gnus/message.el (message-mailer-swallows-blank-line):
2295         * lisp/progmodes/gud.el (gud-tooltip-display):
2296         * lisp/vc/ediff-mult.el (ediff-default-filtering-regexp):
2297         Mark as risky.
2299 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
2301         Disable DebPrint in sys_read on MS-Windows
2303         * src/w32.c (sys_read): Disable a debugging print that is normal
2304         when non-blocking reads are retried.
2306 2016-01-30  Martin Rudalics  <rudalics@gmx.at>
2308         ;Fix ChangeLog entry
2310 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
2312         Fix typos in Introduction to Emacs Lisp manual
2314         * doc/lispintro/emacs-lisp-intro.texi (Emacs Initialization)
2315         (kill-new function, Digression into C)
2316         (Complete forward-sentence, Divide and Conquer, Find a File)
2317         (lengths-list-many-files, Columns of a graph, defcustom)
2318         (recursive-count-words): Fix typos.  Reported by Daniel Bastos
2319         <dbastos@toledo.com>.
2321 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2323         Bump version to 25.0.90
2325         * README:
2326         * configure.ac:
2327         * msdos/sed2v2.inp: Bump version to 25.0.90.
2329 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2331         * etc/AUTHORS: Update the AUTHORS file
2333 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2335         Bump version to 25.0.90
2337         * README:
2338         * configure.ac:
2339         * msdos/sed2v2.inp: Bump version to 25.0.90.
2341 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2343         * etc/AUTHORS: Update the AUTHORS file
2345 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2347         authors.el updates
2349         * admin/authors.el (authors-renamed-files-alist): Additions.
2351 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2353         Make it possible to run make change-history on emacs-25
2355         * Makefile.in: Check if the current branch is emacs-25 instead of
2356           master.
2358 2016-01-30  lu4nx  <lx@shellcodes.org>
2360         Support Go language in 'etags'
2362         * lib-src/etags.c <Ruby_help>: Fix documentation of Ruby tags.
2363         <Go_help>: New help.
2364         <Go_suffixes>: New variable.
2365         (Go_functions): New function.
2366         <lang_names>: Add entry for Go.  (Bug#22370)
2368         * doc/emacs/maintaining.texi (Tag Syntax): Document Go support.
2369         * doc/man/etags.1: Mention Go support.
2371         * etc/NEWS: Mention Go support.
2373         * test/etags/go-src/test.go:
2374         * test/etags/go-src/test1.go: New test files.
2375         * test/etags/Makefile (GOSRC): New variable.
2376         (SRCS): Add $(GOSRC).
2377         * test/etags/ETAGS.good_1:
2378         * test/etags/ETAGS.good_2:
2379         * test/etags/ETAGS.good_3:
2380         * test/etags/ETAGS.good_4:
2381         * test/etags/ETAGS.good_5:
2382         * test/etags/ETAGS.good_6:
2383         * test/etags/CTAGS.good: Adapt to addition of Go tests.
2385 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
2387         Improve Ruby support in 'etags'
2389         * lib-src/etags.c (Ruby_functions): Tag constants.  Don't tag
2390         singleton classes.  Remove class qualifiers from tags generated
2391         for method and constant names.  (Bug#22241)
2393         * doc/emacs/maintaining.texi (Tag Syntax): Mention that constants
2394         are tagged by etags in Ruby.
2396         * etc/NEWS: Mention that constants are tagged by etags in Ruby.
2398         * test/etags/ruby-src/test1.ru: Add more tests.
2399         * test/etags/ETAGS.good_1:
2400         * test/etags/ETAGS.good_2:
2401         * test/etags/ETAGS.good_3:
2402         * test/etags/ETAGS.good_4:
2403         * test/etags/ETAGS.good_5:
2404         * test/etags/ETAGS.good_6:
2405         * test/etags/CTAGS.good: Adapt to the changes in etags and in Ruby
2406         tests.
2408 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
2410         Adjust etags test results to changes in copyright years
2412         * test/etags/CTAGS.good:
2413         * test/etags/ETAGS.good_1:
2414         * test/etags/ETAGS.good_2:
2415         * test/etags/ETAGS.good_3:
2416         * test/etags/ETAGS.good_4:
2417         * test/etags/ETAGS.good_5:
2418         * test/etags/ETAGS.good_6: Adjust to shift in characters and
2419         in line numbers.
2421 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
2423         Revert "Re-enable checks in member, memql, delete to complain about non-lists"
2425         This reverts commit f524e8b7f12d9b5a8b92084e5385429fe7b085b9.
2427 2016-01-30  Nicolas Petton  <nicolas@petton.fr>
2429         Make it possible to run make change-history on emacs-25
2431         * Makefile.in: Check if the current branch is emacs-25 instead of
2432           master.
2434 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
2436         Don't fiddle with DEFAULT
2438         * lisp/progmodes/project.el (project--completing-read-strict):
2439         Don't change DEFAULT, whether is has any matches in
2440         COLLECTION, or not.
2442 2016-01-30  Eli Zaretskii  <eliz@gnu.org>
2444         Document xwidget commands and functions
2446         * doc/lispref/display.texi (Xwidgets): New section, describes some
2447         of the xwidget primitives.
2448         * doc/lispref/display.texi (Display): Update the chapter menu.
2449         * doc/emacs/misc.texi (Embedded WebKit Widgets): New section.
2450         * doc/emacs/emacs.texi (Top): Update the master menu to include
2451         the xwidget node.
2453 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
2455         Build fix for shr.el
2457         * shr.el (seq): Require.
2459 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
2461         Improve project-find-file yet again!
2463         * lisp/progmodes/project.el (project--completing-read-strict):
2464         New function.
2465         (project-find-file-in): Use it.
2466         (project-file-completion-table): Move the default
2467         implementation inside the cl-defgeneric form.
2468         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01720.html)
2470 2016-01-30  Dmitry Gutov  <dgutov@yandex.ru>
2472         Don't pass DIR to 'hg status'
2474         * lisp/vc/vc-hg.el (vc-hg-dir-status-files):
2475         Don't pass DIR to 'hg status' (bug#22481).
2477 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
2479         Fix typo in previous commits
2481         * lisp/progmodes/project.el (project-find-file-in):
2482         * lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): Fix typo in previous
2483         commit.
2485 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
2487         Improve project-find-file
2489         * lisp/progmodes/project.el (project-file-completion-table): New.
2490         (project-find-file, project-or-external-find-file): Default to filename
2491         at point.
2492         (project-file-completion-table): New, split out from
2493         project--find-file-in.
2494         (project-find-file-in): Renamed from project--find-file-in, use
2495         project-file-completion-table.
2497         * lisp/progmodes/xref.el (ede-minor-mode): New declaration.
2498         (xref--find-ignores-arguments): Add doc string.
2500 2016-01-30  Stephen Leake  <stephen_leake@stephe-leake.org>
2502         Implement vc-mtn-find-ignore-file, fix some doc strings
2504         * lisp/cedet/cedet-global.el (cedet-gnu-global-root): Improve doc string.
2506         * lisp/cedet/ede/locate.el (initialize-instance): Improve doc string.
2508         * lisp/vc/vc-git.el (vc-git-find-ignore-file): Fix doc string.
2510         * lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): New function.
2512 2016-01-29  Vincent Belaïche  <vincentb1@users.sourceforge.net>
2514         Correct a whole bunch of bugs coming with renamed cell relocation.
2516         This is the same change as commit on master branch. See
2517         http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=badcd38aa86ed7973f2be2743c405710973a0bdd
2519         * lisp/ses.el (ses-localvars): rename variable
2520         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
2521         and adjust the comment about it.
2522         (ses-plist-delq): new defun.
2523         (ses--ses-buffer-list): new defvar.
2524         (ses--unbind-cell-name): new defun.
2525         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
2526         (ses-relocate-formula): Undo change of
2527         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
2528         preventing relocation for named cell --- now doing this is delegated
2529         to function `ses-relocate-symbol'.
2530         (ses-relocate-range): In docstring, undo change of
2531         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
2532         lower case as it is not a variable.
2533         (ses-relocate-all): Cell name relocation : 1) check that cell is a
2534         renamed cell by testing `ses-cell' property to :ses-named, rather than
2535         comparing name to corresponding standard name. Set rowcol of renamed
2536         cell into the hashmap --- `ses-cell' property must not be used for
2537         that as the same name can be used for different locations in different
2538         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
2539         `local-variable-p' to check if cell name is already in use in this
2540         sheet or needs initialization.
2541         (ses-relocate-all): Cell value relocation : 1) like for name
2542         relocation use the `ses-cell' property rather than comparing actual
2543         name to corresponding standard name. 2) Correct bug introduced in
2544         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
2545         made the other way round than the intention --- ie value relocation
2546         was disabled for standard cell, not for renamed cell as was the
2547         intention.
2548         (ses-relocate-all): Add loop for unbinding deleted renamed cells
2549         names.
2550         (ses-killbuffer-hook): new defun.
2551         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
2552         kill buffer hook, plus pushing current buffer if new in list.
2553         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
2554         into `ses--in-killing-named-cell-list'.
2555         (ses-rename-cell): Remove update of variable
2556         `ses--renamed-cell-symb-list', this variable is renamed to
2557         `ses--in-killing-named-cell-list', and its setting is done in
2558         functions `ses-delete-row' and , `ses-delete-column' now.
2559         (ses-rename-cell): Make cell new name a buffer local variable.
2560         (ses-rename-cell): Change correction of
2561         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
2562         computation of the range over which `cursor-intangible' property was
2563         to be updated. This correction was ok for non spilling cells, but not
2564         for cells spilling over following blank cells. Simply use
2565         `next-single-property-change' rather than computing the end column
2566         from column widths.
2568 2016-01-29  Andreas Schwab  <schwab@linux-m68k.org>
2570         Re-enable checks in member, memql, delete to complain about non-lists
2572         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
2574 2016-01-29  Martin Rudalics  <rudalics@gmx.at>
2576         Minor doc(-string) tweaks
2578         * lisp/window.el (window-in-direction): Fix doc-string typo.
2579         * doc/lispref/frames.texi (Frame Font): Mention canonical
2580         character width/height.
2581         * doc/lispref/windows.texi (Windows and Frames): Clarify
2582         handling of minibuffer window for `window-in-direction'.
2583         (Window Sizes): Minor tweaks in descriptions of
2584         `window-max-chars-per-line', `window-min-width' and
2585         `window-min-size'.
2586         (Deleting Windows): Minor tweak in `delete-window' description.
2587         (Selecting Windows): Clarify window use time description.
2588         (Cyclic Window Ordering): Minor tweak.
2589         (Switching Buffers): Clarify description of
2590         `switch-to-buffer-in-dedicated-window'.
2592 2016-01-29  Eli Zaretskii  <eliz@gnu.org>
2594         Minor improvements to 'pcase' documentation
2596         * doc/lispref/control.texi (Pattern matching case statement):
2597         Improve the documentation of 'pcase' per comments.  See two
2598         discussion threads on emacs-devel@gnu.org for the details:
2599         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01335.html
2600         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01336.html.
2602 2016-01-29  Glenn Morris  <rgm@gnu.org>
2604         Don't use eval to quieten prolog.el compilation.
2606         * lisp/progmodes/prolog.el (pltrace-on, pltrace-off): Declare.
2607         (prolog-enable-sicstus-sd, prolog-disable-sicstus-sd): Don't use eval.
2609 2016-01-29  Glenn Morris  <rgm@gnu.org>
2611         Mark some risky prolog variables.
2613         * lisp/progmodes/prolog.el (prolog-system-version)
2614         (prolog-keywords, prolog-types, prolog-mode-specificators)
2615         (prolog-determinism-specificators, prolog-directives)
2616         (prolog-program-name, prolog-program-switches)
2617         (prolog-consult-string, prolog-compile-string)
2618         (prolog-eof-string, prolog-prompt-regexp, prolog-help-function):
2619         Mark anything processed by prolog-find-value-by-system as risky.
2621 2016-01-28  Glenn Morris  <rgm@gnu.org>
2623         * lisp/custom.el (defcustom): Doc fix.
2625         * doc/lispref/customize.texi (Variable Definitions):
2626         Defcustom should always have a type.
2628 2016-01-28  Glenn Morris  <rgm@gnu.org>
2630         * lisp/cedet/semantic/db-file.el (semanticdb-persistent-path):
2631         Fix :type.
2633         * lisp/emacs-lisp/package.el (package-load-list): Improve :type.
2635 2016-01-28  Michael Albinus  <michael.albinus@gmx.de>
2637         Fix Bug#22452
2639         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
2640         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
2641         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
2642         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
2643         Mark it as connected.
2645         * lisp/net/tramp.el (tramp-handle-file-remote-p): Check also, if
2646         connection property "connected" is set.  (Bug#22452)
2648 2016-01-27  Glenn Morris  <rgm@gnu.org>
2650         * lisp/xwidget.el (xwidget-query-on-exit-flag): Declare.
2652         * lisp/xwidget.el (xwidget-webkit-browse-url): Give explicit error
2653         if not compiled with xwidgets.
2655 2016-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2657         C-u C-x = example doc fix
2659         * doc/emacs/mule.texi (International Chars):
2660         Adjust example to match current behavior of C-u C-x =.
2662 2016-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2664         malloc.h hygiene
2666         This attempts to future-proof Emacs a bit against possible glibc
2667         changes, by having Emacs use <malloc.h> declarations rather than
2668         coding them up by hand.  Problem noted by Florian Weimer in:
2669         https://sourceware.org/ml/libc-alpha/2016-01/msg00777.html
2670         Implement this mainly by moving malloc.h-related functions from
2671         emacs.c (which does not include <malloc.h>) to alloc.c (which does).
2672         * src/alloc.c (my_heap_start) [DOUG_LEA_MALLOC || GNU_LINUX]:
2673         New function.
2674         The remaining changes to this file apply only if DOUG_LEA_MALLOC.
2675         (alloc_unexec_pre, alloc_unexec_post): New functions.
2676         (malloc_initialize_hook): Use my_heap_start and alloc_unexec_post.
2677         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
2678         (__malloc_initialize_hook): Use it.
2679         (malloc_state_ptr, malloc_initialize_hook, __malloc_initialize_hook):
2680         Move here from ...
2681         * src/emacs.c: ... here.
2682         (malloc_get_state, malloc_set_state): Remove extern decls.
2683         (my_heap_start) [DOUG_LEA_MALLOC || GNU_LINUX]: Remove static var.
2684         All uses changed to similarly-named new function.
2685         (Fdump_emacs): Use new functions alloc_unexec_pre, alloc_unexec_post.
2686         * src/lisp.h (my_heap_start, alloc_unexec_pre, alloc_unexec_post):
2687         New decls.
2689 2016-01-26  Eli Zaretskii  <eliz@gnu.org>
2691         * doc/emacs/mark.texi (Using Region): Clarify wording.  (Bug#22467)
2693 2016-01-26  Paul Eggert  <eggert@cs.ucla.edu>
2695         Remove never-set var handle_user_signal_hook
2697         * src/keyboard.c, src/keyboard.h (handle_user_signal_hook):
2698         Remove never-set var.  All uses removed.
2700 2016-01-26  K. Handa  <handa@gnu.org>
2702         Backport:fix previous change of src/ftfont.c (ftfont_shape_by_flt)
2704         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
2705         second glyph only when there are enough glyphs.
2707         (cherry picked from commit 9835757013569673854b692ccbb58bfb3c3ed1f7)
2709 2016-01-26  K. Handa  <handa@gnu.org>
2711         support rendering of wider range of combinging characters by ftfont backend
2713         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
2714         supports rendering of combining characters, call
2715         font-shape-gstring.
2717         * src/font.c (Ffont_get): Handle `combining-capability' property.
2718         (syms_of_font): New symbol ":combining-capability'.
2720         * src/font.h (struct font_driver): New member combining_capability.
2722         * src/ftfont.c: Include "category.h".
2723         (ftfont_driver): Initialize combining_capability to
2724         ftfont_combining_capability.
2725         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
2726         FLT in advance.
2727         (ftfont_combining_capability): New function.
2729         (cherry picked from commit 536f48e9a2251b9e654ea974bd90ff2f40218753)
2731 2016-01-26  Anders Lindgren  <andlind@gmail.com>
2733         Fixed NextStep fullscreen issue (bug#22468)
2735         When in fullscreen mode, `[screen visibleFrame]' sometimes
2736         includes, sometimes excludes the menu bar. This could cause
2737         a frame to be placed too low when in fullscreen mode.
2739         * src/nsterm.m (ns_menu_bar_should_be_hidden): Trace.
2740         (constrain_frame_rect): New parameter, isFullscreen, when true don't
2741         query the height of the menu bar.
2742         (ns_constrain_all_frames): Pass `false' (isFullscreen) to
2743         `constrain_frame_rect'.
2744         ([EmacsView initFrameFromEmacs:]): Trace.
2745         ([EmacsView isFullscreen]): Trace.
2746         ([EmacsWindow constrainFrameRect:toScreen:]): Pass fullscreen
2747         state to `constrain_frame_rect'.
2749 2016-01-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2751         * lisp/files.el: Use a fixed file name for the second dir-locals file
2753         (dir-locals-file): Revert to its original fixed value.
2754         (dir-locals-file-2): New const.
2755         (dir-locals--all-files): Don't use `file-name-all-completions'.
2756         Instead, just check for the 2 dir-locals files and return a list
2757         of the ones that exit (if any).
2759         * etc/NEWS: Document the change.
2761         * doc/emacs/custom.texi (Directory Variables): Document the change.
2763         * doc/lispref/variables.texi (Directory Local Variables): Update
2764         accordingly.
2766 2016-01-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2768         * lisp/files-x.el (modify-dir-local-variable): Small rewrite
2770         Change a variable name to be more meaningful, and reorder some of
2771         the code with no change in behaviour.
2773 2016-01-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2775         * lisp/files.el (dir-locals-find-file): Refactor return values
2777         Returning a cache remains unchanged, but the case of returning a
2778         file (or pattern) is now changed to return the contaning
2779         directory.
2781         (dir-locals-read-from-file): Rename to `dir-locals-read-from-dir'
2782         and make obsolete.
2783         (dir-locals-read-from-dir): Simplify accordingly.
2784         (hack-dir-local-variables): Simplify accordingly and rename a
2785         variable.
2787 2016-01-26  Glenn Morris  <rgm@gnu.org>
2789         * lisp/textmodes/flyspell.el (flyspell--prev-meta-tab-binding):
2790         Declare.
2792         * configure.ac (USE_CAIRO): Rename to more standard HAVE_CAIRO.
2794         * configure.ac (--with-cairo): Say it's experimental.
2796         * lisp/xwidget.el (xwidget-webkit-scroll-behavior):
2797         Rename using American spelling.  Update all uses.
2799 2016-01-26  Glenn Morris  <rgm@gnu.org>
2801         Yet more xwidget doc fixes.
2803         * lisp/xwidget.el (xwidget-webkit-scroll-behaviour)
2804         (xwidget-insert, xwidget-webkit-browse-url)
2805         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down)
2806         (xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward)
2807         (xwidget-webkit-insert-string, xwidget-webkit-show-named-element)
2808         (xwidget-webkit-show-id-element)
2809         (xwidget-webkit-show-id-or-named-element)
2810         (xwidget-webkit-adjust-size, xwidget-webkit-current-url)
2811         (xwidget-webkit-execute-script-rv)
2812         (xwidget-webkit-copy-selection-as-kill, xwidget-get)
2813         (xwidget-put):  Doc fixes.
2814         (xwidget-webkit-insert-string, xwidget-webkit-show-named-element)
2815         (xwidget-webkit-show-id-element)
2816         (xwidget-webkit-show-id-or-named-element): Prompt fixes.
2818 2016-01-25  Ted Zlatanov  <tzz@lifelogs.com>
2820         * lisp/gnus/gnus-art.el (gnus-blocked-images):
2821         Add explicit nil choice and tags.
2823 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2825         Spelling fixes
2827 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
2829         (font-lock-ensure-function): Fix bug#22399
2831         * lisp/font-lock.el (font-lock-ensure-function): Fix handling when
2832         font-lock-mode is not enabled (bug#22399).
2834 2016-01-25  Alan Mackenzie  <acm@muc.de>
2836         Expunge "allow" + infinitive from source and doc, part 2.
2838         Do the same for "permit", "enable", "prevent", and (where appropriate)
2839         "require".
2841         doc/misc/reftex.texi:
2842         doc/misc/url.texi:
2843         lib/get-permissions.c:
2844         lib/strftime.c:
2845         lisp/org/org-element.el:
2846         lisp/org/org-mobile.el:
2847         lisp/textmodes/reftex-vars.el:
2848         src/bidi.c:
2849         src/emacs.c:
2850         src/xdisp.c:
2851         test/etags/c-src/emacs/src/lisp.h:
2853         Expunge the likes of "This allows to do something" from the above files.
2855 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2857         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Redundant line
2859         `special-mode' is already read-only.
2861 2016-01-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2863         * lisp/emacs-lisp/ert.el (ert--results-move): Change error to user-error
2865 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2867         Port "$@" to OpenIndiana ksh93
2869         In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html
2870         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
2871         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
2872         bug in long-dead shells, so remove the workaround.
2873         * admin/check-doc-strings, configure.ac, lib-src/rcs2log:
2874         Use plain "$@" rather than ${1+"$@"}.
2876 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2878         * src/xwidget.c (Fxwidget_set_adjustment): Fix doc string quoting typo.
2880 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2882         Improve wording for SMB support
2884         * doc/misc/tramp.texi (External methods): Improve and modernize
2885         wording for discussion of smbclient.  There is no longer any
2886         need to mention the laundry list of old MS Windows implementations
2887         of SMB and CIFS, nor to mention CIFS.  Also, give a URL for Samba.
2889 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
2891         Merge from gnulib
2893         This incorporates:
2894         2016-01-24 openat_proc_name: fix last '/' overwritten on OS/2 kLIBC
2895         2016-01-24 closedir, dirfd, opendir: port to OpenSolaris 5.10
2896         2016-01-15 detect utimes() correctly on OS/2 kLIBC
2897         2016-01-15 openat_proc_name: port to OS/2 kLIBC
2898         2016-01-14 stdint: check _INTPTR_T_DECLARED for intptr_t etc.
2899         2016-01-14 opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
2900         2016-01-14 dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
2901         2016-01-14 binary-io: don't put fd in binary mode if a console on EMX
2902         2016-01-14 sig2str: list all signals on FreeBSD >= 7
2903         2016-01-13 acl-permissions: port to USE_ACL==0 platforms
2904         2016-01-12 mktime: rename macro to avoid glibc clash
2905         2016-01-12 Port "$@" to OpenIndiana ksh93
2906         2016-01-12 Port Universal Time settings to strict POSIX
2907         * build-aux/gitlog-to-changelog, build-aux/update-copyright:
2908         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
2909         * lib/binary-io.h, lib/dirent.in.h, lib/dirfd.c, lib/dup2.c:
2910         * lib/fcntl.c, lib/fdopendir.c, lib/mktime.c, lib/openat-proc.c:
2911         * lib/sig2str.h, lib/stdint.in.h, m4/dirfd.m4, m4/dup2.m4:
2912         * m4/fcntl.m4, m4/utimes.m4:
2913         Copy from gnulib.
2914         * m4/gnulib-comp.m4: Regenerate.
2916 2016-01-24  Alan Mackenzie  <acm@muc.de>
2918         Expunge "allow" + infinitive without direct object from source and doc.
2920         Do the same for "permit", "enable", and "prevent".
2922         * doc/emacs/mule.texi:
2923         * doc/lispref/control.texi:
2924         * doc/lispref/display.texi:
2925         * doc/lispref/frames.texi:
2926         * doc/lispref/functions.texi:
2927         * doc/lispref/nonascii.texi:
2928         * doc/lispref/streams.texi:
2929         * doc/lispref/windows.texi:
2930         * doc/misc/dbus.texi:
2931         * doc/misc/eww.texi:
2932         * doc/misc/flymake.texi:
2933         * doc/misc/octave-mode.texi:
2934         * doc/misc/org.texi:
2935         * doc/misc/reftex.texi:
2936         * doc/misc/tramp.texi:
2937         * doc/misc/wisent.texi:
2938         * etc/NEWS:
2939         * lisp/autorevert.el:
2940         * lisp/cedet/mode-local.el:
2941         * lisp/cedet/semantic/senator.el:
2942         * lisp/cedet/semantic/wisent.el:
2943         * lisp/dos-fns.el:
2944         * lisp/frameset.el:
2945         * lisp/gnus/gnus-agent.el:
2946         * lisp/gnus/mm-util.el:
2947         * lisp/international/characters.el:
2948         * lisp/ldefs-boot.el:
2949         * lisp/mail/mailclient.el:
2950         * lisp/man.el:
2951         * lisp/mh-e/mh-search.el:
2952         * lisp/net/tramp-cmds.el:
2953         * lisp/net/tramp-gvfs.el:
2954         * lisp/org/org-crypt.el:
2955         * lisp/org/org-element.el:
2956         * lisp/org/org-feed.el:
2957         * lisp/org/org.el:
2958         * lisp/org/ox-ascii.el:
2959         * lisp/org/ox-icalendar.el:
2960         * lisp/org/ox-publish.el:
2961         * lisp/org/ox.el:
2962         * lisp/play/gamegrid.el:
2963         * lisp/play/gomoku.el:
2964         * lisp/progmodes/antlr-mode.el:
2965         * lisp/progmodes/python.el:
2966         * lisp/progmodes/vhdl-mode.el:
2967         * lisp/strokes.el:
2968         * lisp/textmodes/ispell.el:
2969         * lisp/tree-widget.el:
2970         * lisp/vc/pcvs.el:
2971         * lisp/window.el:
2972         * src/lisp.h:
2973         * src/w32.c:
2974         * src/w32heap.c:
2975         * src/w32term.c:
2976         * src/window.c:
2977         * src/xfaces.c:
2979         Replace solecisms like "This allow to do something" with a correct
2980         alternative, such as "This allow you to do something", "This allows
2981         something to be done" or "This allows the doing of something".
2983 2016-01-24  l3thal  <kwhite@gnu.org>
2985         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
2987 2016-01-24  Kelvin White  <kwhite@gnu.org>
2989         Add NEWS entry for asynchronous reconnect in ERC
2991 2016-01-24  l3thal  <kwhite@gnu.org>
2993         Add NEWS entry for asynchronous reconnect in ERC
2995 2016-01-24  Kelvin White  <kwhite@gnu.org>
2997         browse-url.el: Add 'google-chrome' to supported browsers.
2999 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
3001         Port Tramp manual to latest Texinfo
3003         Otherwise, 'make pdf' did not work (Bug#22416).
3004         * doc/misc/tramp.texi (xxx, yyy): Remove macros.
3005         (trampfn): Specialize to the case where METHOD is nonempty.
3006         The 2nd argument is now user@host, not 2nd user and 3rd host args.
3007         All uses changed.
3008         (trampf): New macro.
3010 2016-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
3012         * eww.el (eww-render): Protect against empty content-types.
3014 2016-01-24  Nicolas Petton  <nicolas@petton.fr>
3016         authors.el updates
3018         * admin/authors.el (authors-ignored-files, authors-renamed-files-alist):
3019           Additions.
3021 2016-01-24  Dmitry Gutov  <dgutov@yandex.ru>
3023         Rename xref-query-replace to xref-query-replace-in-results
3025         * lisp/progmodes/xref.el(xref-query-replace):
3026         Rename to xref-query-replace-in-results.
3027         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01240.html)
3029         * lisp/progmodes/xref.el (xref--xref-buffer-mode-map):
3030         * lisp/dired-aux.el (dired-do-find-regexp-and-replace):
3031         * doc/emacs/dired.texi (Operating on Files):
3032         * doc/emacs/maintaining.texi (Xref Commands)
3033         (Identifier Search, Identifier Search): Update accordingly.
3035 2016-01-24  Dmitry Gutov  <dgutov@yandex.ru>
3037         Update cl-defgeneric and cl-defmethod docstrings
3039         * lisp/emacs-lisp/cl-generic.el: Remove outdated TODO item.
3040         (cl-defgeneric): Rename BODY to DEFAULT-BODY.
3041         (cl-defmethod): Mention that multiple dispatch arguments are
3042         allowed.  Document supported types.  (Bug#22336)
3044 2016-01-23  Dmitry Gutov  <dgutov@yandex.ru>
3046         Comment out next-error-function integration in xref
3048         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
3049         Comment out next-error-function integration
3050         (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01286.html).
3052 2016-01-23  John Wiegley  <johnw@newartisans.com>
3054         Correct a use of "which" in intro.texi
3056 2016-01-23  Alan Mackenzie  <acm@muc.de>
3058         Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
3060         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 14): Check the
3061         context of case labels (including "default") more rigorously.
3062         (c-guess-basic-syntax CASE 15): Consequential amendment.
3064         * lisp/progmodes/cc-langs.el (c-modifier-kwds): Add "default" to Java's value.
3066 2016-01-23  Oscar Fuentes  <ofv@wanadoo.es>
3068         Don't operate on menu bar of nonexistent frame
3070         * src/xfns.c (Fx_hide_tip) [USE_LUCID]: Check that the current frame
3071         is valid before redisplaying its menu. Fixes bug#22438.
3073 2016-01-23  Anders Lindgren  <andlind@gmail.com>
3075         Unbreak the GNUstep build.
3077         * src/nsterm.m ([EmacsBell init]): In GNUstep, don't use the
3078         predefined "caution" image. Add trace.
3079         (x_set_window_size): Remove unused variables `cols' and `rows'.
3080         (ns_draw_fringe_bitmap): Exclude assignment of `fromRect' when
3081         GNUstep is used.
3082         ([EmacsView updateFrameSize:]): Remove unused variable `win'.
3083         ([EmacsWindow zoom:]): Remove unused variable `f'.
3085 2016-01-23  Eli Zaretskii  <eliz@gnu.org>
3086             John Wiegley  <johnw@gnu.org>
3087             Michael Heerdegen  <michael_heerdegen@web.de>
3089         Improve documentation of 'pcase'
3091         * doc/lispref/control.texi (Pattern matching case statement):
3092         Reorganize, expand, and improve wording.
3094         * etc/NEWS: Mention that 'pcase' changes are documented.
3096 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3098         * etc/NEWS: Say that Cairo is experimental.
3100 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3102         Report error for PNG under Cairo
3104         * src/image.c (lookup_rgb_color): Signal a file error instead
3105         of dumping core when mishandling an image.
3107 2016-01-23  Arash Esbati  <esbati@gmx.de>
3109         Delete a spurious backquote (tiny change)
3111         * lisp/textmodes/reftex-ref.el (reftex-label): Delete a
3112         spurious backquote which raises an error with emacs 25.
3114 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3116         Pacify --enable-gcc-warnings --with-cairo
3118         Problem reported by Alexander Kuleshov in:
3119         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01289.html
3120         * src/gtkutil.c (xg_get_page_setup):
3121         Use switch rather than if-then-else.
3122         * src/image.c (COLOR_TABLE_SUPPORT):
3123         Define directly rather than via #define and optional later #undef.
3124         (lookup_rgb_color) [USE_CAIRO && ENABLE_CHECKING]:
3125         Crash when the pixel is undefined, as there is a genuine bug
3126         here (Bug#22442).
3127         * src/image.c (tiff_load, gif_load, svg_load_image)
3128         (x_kill_gs_process) [USE_CAIRO]:
3129         * src/xterm.c (x_draw_fringe_bitmap) [USE_CAIRO]:
3130         Omit unused locals, or move them to where they’re needed.
3131         (x_clear_area1): Now ATTRIBUTE_UNUSED.
3133 2016-01-23  Eli Zaretskii  <eliz@gnu.org>
3135         Update documentation for Dired search and replace
3137         * doc/emacs/dired.texi (Operating on Files): Update descriptions
3138         of 'A' and 'Q' now bound to 'dired-do-find-regexp' and
3139         'dired-do-find-regexp-and-replace'.
3141         * etc/NEWS: Mention xref-related changes in Dired.
3143 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3145         Port recent xdisp.c fix to picky C compilers
3147         * src/xdisp.c (dump_glyph): Redo the call to fprintf to avoid
3148         putting #if inside the arguments to a standard function, which
3149         the C standard says has undefined behavior.
3151 2016-01-22  Alan Mackenzie  <acm@muc.de>
3153         Prevent spurious recognition of K&R argument declarations.  Fixes bug #2203
3155         * lisp/progmodes/cc-engine.el (c-forward-declarator): New function.
3156         (c-in-knr-argdecl): Before recognizing a K&R argument declaration, check it is
3157         contained in the preceding arg list.
3159         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Use the new function
3160         `c-forward-declarator' in place of inline code.
3162 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
3164         Fix the build with --enable-checking=glyphs
3166         * src/xdisp.c (dump_glyph): Don't refer to glyph->u.xwidget in a
3167         build without xwidget support.
3169 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
3171         Document cl-generic.el
3173         * doc/lispref/functions.texi (Generic Functions): New section.
3174         (Bug#22336)
3175         (Functions): Update the chapter menu.
3176         * doc/lispref/elisp.texi: Update the master menu.
3178 2016-01-22  Paul Eggert  <eggert@cs.ucla.edu>
3180         xwidgets style cleanup
3182         Adjust the newly-added Xwidgets code so that it uses a more-typical
3183         Emacs style.  This should not affect behavior, except that in
3184         a few places it adds runtime checks that Lisp arguments are of
3185         the proper type, and in one place it uses more-precise arithmetic.
3186         * src/buffer.c, src/dispnew.c, src/emacs.c, src/emacsgtkfixed.c:
3187         * src/emacs.c, src/print.c, src/window.c, src/xdisp.c, src/xterm.c:
3188         Include xwidget.h unconditionally.
3189         * src/buffer.c (Fkill_buffer):
3190         * src/dispnew.c (update_window):
3191         * src/emacs.c (main):
3192         * src/print.c (print_object):
3193         * src/window.c (Fdelete_window_internal):
3194         * src/xdisp.c (handle_single_display_spec, push_it, pop_it)
3195         (get_next_element, set_iterator_to_next, next_element_from_xwidget)
3196         (dump_glyph, calc_pixel_width_or_height, BUILD_GLYPH_STRINGS_XW)
3197         (BUILD_GLYPH_STRINGS, x_produce_glyphs, get_window_cursor_type):
3198         * src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
3199         Call xwidget functions and macros without worrying about
3200         HAVE_XWIDGETS when the code is a no-op on non-xwidget
3201         platforms.
3202         * src/dispextern.h (XWIDGET_GLYPH, struct glyph_string.xwidget)
3203         (IT_XWIDGET, GET_FROM_XWIDGET, struct it.u.xwidget)
3204         (struct it.xwidget):
3205         * src/lisp.h (PVEC_XWIDGET, PVEC_XWIDGET_VIEW):
3206         Always define.
3207         * src/emacsgtkfixed.h: Omit unnecessary comment.
3208         * src/keyboard.c: Fix spacing.
3209         * src/xdisp.c (BUILD_XWIDGET_GLYPH_STRING, produce_xwidget_glyph):
3210         Define to be a no-op if not HAVE_XWIDGETS.
3211         * src/xwidget.c: Include xwidget.h first (after config.h)
3212         to make sure that it can stand by itself.
3213         (Fmake_xwidget, Fxwidget_webkit_execute_script):
3214         Fix typo in doc string.
3215         (Fmake_xwidget): Check type of args.
3216         (Fmake_xwidget, offscreen_damage_event)
3217         (webkit_document_load_finished_cb, webkit_download_cb)
3218         (webkit_new_window_policy_decision_requested_cb)
3219         (webkit_navigation_policy_decision_requested_cb)
3220         (xwidget_osr_draw_cb, xwidget_osr_event_forward)
3221         (xwidget_osr_event_set_embedder, xwidget_init_view):
3222         Omit unnecessary casts.
3223         * src/xwidget.c (Fmake_xwidget, xwidget_hidden)
3224         (xwidget_show_view, xwidget_hide_view)
3225         (x_draw_xwidget_glyph_string, xwidget_start_redisplay, xwidget_touch)
3226         (xwidget_touched):
3227         * src/xwidget.h (struct xwidget.kill_without_query)
3228         (struct xwidget_view.redisplayed, struct xwidget_view.hidden):
3229         Use bool for boolean.
3230         * src/xwidget.c (store_xwidget_event_string, Fxwidget_size_request):
3231         Simplify by using list functions.
3232         (WEBKIT_FN_INIT): Omit unnecessary test for nil.
3233         (Fxwidget_resize): Check type of integer args
3234         before doing any work.  Check that they are nonnegative.
3235         (Fxwidget_set_adjustment): Check type of integer arg.
3236         Avoid redundant call to gtk_scrolled_window_get_vadjustment.
3237         Simplify.  Use double, not float.
3238         (Fxwidget_info, Fxwidget_view_info): Simplify by using CALLN.
3239         (valid_xwidget_spec_p): Simplify.
3240         (xwidget_spec_value): Omit unused arg FOUND.  All callers changed.
3241         * src/xwidget.h: Include lisp.h first, so that includers do
3242         not need to worry about doing that before including this file.
3243         Make this .h file safe to include even on non-HAVE_XWIDGETS
3244         configurations, to simplify the includers.
3245         (x_draw_xwidget_glyph_string, syms_of_xwidget, valid_xwidget_spec_p)
3246         (xwidget_end_redisplay, lookup_xwidget)
3247         (xwidget_view_delete_all_in_window, kill_buffer_xwidgets):
3248         Now a no-op if !HAVE_XWIDGETS, to simplify callers.
3249         (struct glyph_matrix, struct glyph_string, struct xwidget)
3250         (struct xwidget_view, struct window):
3251         New forward or incomplete decls, so that includers need not
3252         assume the corresponding .h files are already included, or that
3253         HAVE_XWIDGETS is defined.
3254         (struct xwidget_type, xwidget_from_id): Remove; unused.
3256 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
3258         Backport kqueue integration from master
3260         * configure.ac (--with-file-notification): Add kqueue.
3261         (top): Remove special test for "${HAVE_NS}" and
3262         ${with_file_notification}, this is handled inside gfilenotify
3263         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
3264         instead of library specific variables.  Add error message for
3265         gfile on Nextstep.
3267         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
3268         Fix some glitches in the example.
3270         * etc/NEWS: Mention kqueue.
3272         * lisp/filenotify.el (file-notify--library)
3273         (file-notify-descriptors, file-notify-callback)
3274         (file-notify-add-watch, file-notify-rm-watch)
3275         (file-notify-valid-p): Add kqueue support.
3276         (file-notify--rm-descriptor): Remove WHAT arg.
3278         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
3280         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
3282         * src/inotify.c (inotifyevent_to_event): Extract file name from
3283         watch_object if the event doesn't provide it.
3284         (Finotify_add_watch): Add file name to watch_object.
3286         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
3288         * src/kqueue.c: New file.
3290         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
3292         * test/automated/file-notify-tests.el
3293         (file-notify--test-expected-events): Remove.
3294         (file-notify--test-cleanup): Do not set that variable.
3295         (file-notify--test-timeout) Use different timeouts for
3296         different libraries.
3297         (file-notify--test-library): New defun.
3298         (file-notify--test-event-test): Make stronger checks.
3299         (file-notify--test-with-events): EVENTS can also be a list of
3300         lists.  Flush outstanding events before running the body.
3301         Make timeout heuristically depend on the number of events.
3302         (file-notify-test01-add-watch, file-notify-test02-events)
3303         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
3304         Rewrite in order to call file monitors but directory monitors.
3305         (file-notify-test02-events, file-notify-test04-file-validity): Do
3306         not skip cygwin tests.  Add additional test for file creation.
3307         Adapt expected result for different backends.
3308         (file-notify-test03-autorevert): Some of the tests don't work for
3309         w32notify.
3310         (file-notify-test06-many-events): New test.
3312 2016-01-22  John Wiegley  <johnw@newartisans.com>
3314         Further corrections to the pcase docstring
3316 2016-01-22  Eli Zaretskii  <eliz@gnu.org>
3318         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 25.
3320 2016-01-22  Stephen Leake  <stephen_leake@stephe-leake.org>
3322         In xref-collect-references, force backends to respect the 'dir' arg
3324         * lisp/progmodes/xref.el (xref-collect-references): Force symref backends
3325         to use `default-directory'.
3327 2016-01-22  John Wiegley  <johnw@newartisans.com>
3329         Minor correction to pcase docstring
3331 2016-01-22  John Wiegley  <johnw@newartisans.com>
3333         Write a new docstring for the pcase macro
3335         * lisp/emacs-lisp/pcase.el (pcase): Write a new docstring.
3337 2016-01-21  Stephen Berman  <stephen.berman@gmx.net>
3339         Avoid byte-compiler warning in todo-mode (bug#21953)
3341         * lisp/calendar/todo-mode.el (todo-convert-legacy-files): Add limit argument
3342         to looking-back to comply with advertised-calling-convention.
3344 2016-01-21  Stephen Berman  <stephen.berman@gmx.net>
3346         Fix desktop support in todo-mode and doc-view (bug#22377)
3348         * lisp/calendar/todo-mode.el (todo-restore-desktop-buffer):
3349         * lisp/doc-view.el (doc-view-restore-desktop-buffer): Return current buffer.
3351         * lisp/calendar/todo-mode.el (todo-modes-set-2):
3352         * lisp/doc-view.el (doc-view-mode): Set desktop-save-buffer unconditionally.
3354 2016-01-21  Paul Eggert  <eggert@cs.ucla.edu>
3356         No need to configure gobject-introspection
3358         It wasn’t needed for the recently-installed xwidget_mvp code; see:
3359         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01154.html
3360         * configure.ac (DOES_XWIDGETS_USE_GIR, GIR_REQUIRED, GIR_MODULES):
3361         (HAVE_GIR):
3362         * src/Makefile.in (GIR_LIBS, GIR_CFLAGS):
3363         Remove.  All uses removed.
3364         * configure.ac (emacs_config_features): Don’t worry about GIR.
3366 2016-01-20  Paul Eggert  <eggert@cs.ucla.edu>
3368         Don’t export C symbols not used elsewhere
3370         These were recently added, mostly as part of xwidget code.
3371         * src/emacsgtkfixed.c (emacs_fixed_get_type): Now static.
3372         (EMACS_FIXED, EMACS_FIXED_GET_CLASS):
3373         Now static functions here, not macros in emacsgtkfixed.h.
3374         * src/emacsgtkfixed.h (EMACS_TYPE_FIXED):
3375         Remove.  All uses replaced by definiens.
3376         (EMACS_FIXED, EMACS_FIXED_GET_CLASS):
3377         Remove; these are now static functions in emacsgtkfixed.c.
3378         (EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS):
3379         Remove; unused.
3380         (emacs_fixed_get_type): Remove decl; no longer extern.
3381         * src/xwidget.c (offscreen_damage_event)
3382         (webkit_mime_type_policy_typedecision_requested_cb)
3383         (webkit_new_window_policy_decision_requested_cb)
3384         (webkit_navigation_policy_decision_requested_cb)
3385         (xwidget_spec_value, xwidget_view_lookup)
3386         (xwidget_start_redisplay, xwidget_touch):
3387         Now static.
3388         * src/xwidget.h (xwidget_start_redisplay, xwidget_touch):
3389         Remove decls.
3391 2016-01-20  Dmitry Gutov  <dgutov@yandex.ru>
3393         Support squiggly heredocs in ruby-mode
3395         * lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re):
3396         Support squiggly heredocs added in Ruby 2.3.
3398         * test/indent/ruby.rb: Add squiggly example.
3400 2016-01-20  Glenn Morris  <rgm@gnu.org>
3402         * configure.ac (emacs_config_features): Remove WEBKIT.
3404 2016-01-20  Paul Eggert  <eggert@cs.ucla.edu>
3406         Port to platforms with gtk3 but not webkitgtk3
3408         I ran into this problem on my Fedora 23 installation;
3409         Emacs configured but did not build when --with-xwidgets was specified.
3410         * configure.ac (HAVE_WEBKIT, HAVE_GIR): Omit unnecessary initializations.
3411         (DOES_XWIDGETS_USE_GIR): New var.
3412         If --with-xwidgets is specified, report an error if not
3413         doable, to be consistent with the other --with options.
3414         Require webkitgtk3 to use Xwidgets, as the Xwidgets code does
3415         not work at all without webkitgtk3.  Simplify use of
3416         EMACS_CHECK_MODULES.  Output message about gobject
3417         introspection only if xwidgets are used.
3418         * etc/NEWS: Users need webkitgtk3, not merely webkit.
3419         * src/xwidget.c (syms_of_xwidget): Don’t worry about HAVE_WEBKIT_OSR,
3420         since this file is no longer compiled if webkitgtk3 is not available.
3422 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
3424         Fix doc string of 'isearch-search-fun-function'
3426         * lisp/isearch.el (isearch-search-fun-function)
3427         (isearch-search-string): Doc fixes.  (Bug#22411)
3429 2016-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
3431         * lisp/xwidget.el: Nitpicks
3433         * lisp/xwidget.el (xwidget-log, xwidget-webkit-callback):
3434         Use with-current-buffer rather than save-excursion + set-buffer.
3436 2016-01-20  Glenn Morris  <rgm@gnu.org>
3438         Don't hard-code 1 as point-min.
3440         * lisp/image-mode.el (image-display-size):
3441         * lisp/xwidget.el (xwidget-webkit-last-session)
3442         (xwidget-webkit-current-session): Don't hard-code 1 as point-min.
3444 2016-01-20  Glenn Morris  <rgm@gnu.org>
3446         * lisp/xwidget.el: Add declarations to silence non-xwidget compilation.
3448 2016-01-20  Glenn Morris  <rgm@gnu.org>
3450         Trivial doc copyedits.
3452         * src/xwidget.c (Fmake_xwidget, Fget_buffer_xwidgets)
3453         (Fxwidget_webkit_get_title, Fxwidget_resize)
3454         (Fxwidget_set_adjustment, Fxwidgetp, Fxwidget_view_p)
3455         (Fxwidget_info, Fxwidget_view_lookup)
3456         (Fset_xwidget_query_on_exit_flag): Trivial doc copyedits.
3458 2016-01-20  Glenn Morris  <rgm@gnu.org>
3460         Avoid advising image-display-size for xwidgets.
3462         * lisp/xwidget.el (xwidget-image-display-size): Remove.
3463         (image-display-size): Remove advice.
3464         * lisp/image-mode.el (xwidget-info, xwidget-at): Declare.
3465         (image-display-size): Incorporate xwidget code directly.
3467 2016-01-20  Glenn Morris  <rgm@gnu.org>
3469         Avoid breaking non-xwidget Emacs that happen to load xwidget.el.
3471         * lisp/xwidget.el (window-configuration-change-hook)
3472         (kill-buffer-query-functions): Only modify these hooks if
3473         compiled with xwidget support.
3475 2016-01-20  Glenn Morris  <rgm@gnu.org>
3477         * lisp/xwidget.el (xwidget-webkit-scroll-behaviour): Fix custom spec.
3479 2016-01-19  Glenn Morris  <rgm@gnu.org>
3481         * configure.ac (WEBKIT, GIR, CAIRO): Use EMACS_CHECK_MODULES, not PKG_.
3483         * configure.ac (emacs_config_features): Add XWIDGETS, WEBKIT, GIR.
3485         * configure.ac (HAVE_WEBKIT_OSR): Remove broken, duplicated gtk3 test.
3487 2016-01-19  Katsumi Yamaoka  <yamaoka@jpl.org>
3489         * lisp/gnus/nnir.el (nnir-request-update-mark):
3490         Default to the original mark.
3491         cf. <http://thread.gmane.org/gmane.emacs.gnus.general/86583>
3492         and <http://thread.gmane.org/gmane.emacs.gnus.general/86640>
3494 2016-01-19  Glenn Morris  <rgm@gnu.org>
3496         * lisp/xwidget.el (report-xwidget-bug): Remove.
3498         (top-level): No longer require reporter.
3500 2016-01-19  Joakim Verona  <joakim@verona.se>
3501             Grégoire Jadi  <daimrod@gmail.com>
3503         Support for the new Xwidget feature.
3505         * configure.ac:
3506         (HAVE_XWIDGETS, WIDGET_OBJ, EMACS_CONFIG_FEATURES):
3507         * src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
3508         * src/xdisp.c:
3509         (handle_display_spec, handle_single_display_spec, push_it)
3510         (pop_it, set_iterator_to_next, dump_glyph)
3511         (calc_pixel_width_or_height, fill_xwidget_glyph_string)
3512         (BUILD_XWIDGET_GLYPH_STRING, BUILD_GLYPH_STRINGS)
3513         (produce_xwidget_glyph, x_produce_glyphs)
3514         (get_window_cursor_type):
3515         * src/window.c (Fdelete_window_internal):
3516         * src/termhooks.h (e):
3517         * src/print.c (print_object):
3518         * src/lisp.h (ptrdiff_t):
3519         * src/keyboard.c (kbd_buffer_get_event, make_lispy_event)
3520         (syms_of_keyboard):
3521         * src/emacs.c (main):
3522         * src/dispnew.c (update_window, scrolling_window):
3523         * src/dispextern.h (g, i):
3524         * Makefile.in (XWIDGETS_OBJ, WEBKIT_CFLAGS, WEBKIT_LIBS)
3525         (GIR_LIBS, ALL_CFLAGS, base_obj, LIBES):
3526         * src/keyboard.c (kbd_buffer_get_event):
3527         * src/emacsgtkfixed.c (emacs_fixed_gtk_widget_size_allocate)
3528         (emacs_fixed_class_init): Add case for an xwidget view.
3530         * src/xwidget.c, src/xwidget.h, lisp/xwidget.el: New files for xwidgets
3533         Various improvements to the Xwidget feature.
3534         * src/xwidget.c:
3535         * src/emacsgtkfixed.c:
3536         * lisp/xwidget.el:
3538 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
3540         Improve documentation of 'alist-get'
3542         * doc/lispref/variables.texi (Setting Generalized Variables): Add
3543         'alist-get' to the list of functions that can appear in PLACE
3544         argument of 'setf'.
3546 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
3548         Minor copyedits of doc/emacs/maintaining.texi
3550         * doc/emacs/maintaining.texi (List Identifiers): More accurate
3551         description of "C-M-i" wrt tags tables.
3552         (Tags Tables): Move the definition of "tag" to a footnote.
3554 2016-01-19  Eli Zaretskii  <eliz@gnu.org>
3556         Unbreak the Cygwin-w32 build
3558         * src/w32fns.c (globals_of_w32fns): Move the initialization of
3559         resetstkoflw into a part that isn't compiled on Cygwin.
3560         (Bug#22403)
3562 2016-01-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3564         * shr.el (shr-table-body): Allow tables to have text children.
3566 2016-01-19  Phillip Lord  <phillip.lord@russet.org.uk>
3568         Cope with multiple overlapping faces.
3570         * lisp/htmlfontify.el (hfy-face-to-style-i): Treat inheritance right to
3571           left.
3572           (hfy-face-resolve-face): Handle font specification as well as font
3573           name. Documentation update. (Bug#21990)
3575 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
3577         Fix spurious escapes in describe-input-method
3579         Problem reported by Vincent Belaïche (Bug#22309).
3580         * lisp/international/mule-cmds.el (describe-language-environment):
3581         * lisp/international/quail.el (quail-help):
3582         Apply substitute-command-keys to doc strings before displaying them.
3584 2016-01-19  Paul Eggert  <eggert@cs.ucla.edu>
3586         Minor improvements to (random t) documentation
3588         * doc/lispref/numbers.texi (Random Numbers):
3589         * src/fns.c (Frandom):
3590         Omit unnecessary details about randomness fallback.
3591         Say that it is a fallback.
3593 2016-01-19  Dmitry Gutov  <dgutov@yandex.ru>
3595         Rename methods in Ruby etags example file
3597         * test/etags/ruby-src/test.rb: Rename the example methods to
3598         correspond to the common terminology used in Ruby.
3599         * test/etags/CTAGS.good:
3600         * test/etags/ETAGS.good_1:
3601         * test/etags/ETAGS.good_2:
3602         * test/etags/ETAGS.good_3:
3603         * test/etags/ETAGS.good_4:
3604         * test/etags/ETAGS.good_5:
3605         * test/etags/ETAGS.good_6: Adjust accordingly.
3607 2016-01-19  Dmitry Gutov  <dgutov@yandex.ru>
3609         Propertize backtick in 'def `(abc)' as symbol constituent
3611         * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
3612         Propertize backtick in 'def `(abc)' as symbol constituent.
3613         (ruby-syntax-propertize-function):
3614         Rename to ruby-syntax-propertize.
3616 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
3618         Fix scrolling under scroll-preserve-screen-position on TTY
3620         * src/window.c (window_scroll_line_based): When setting point to
3621         preserve screen coordinates, don't let cursor enter either of the
3622         two scroll margins.  (Bug#22395)
3624 2016-01-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3626         Fix shr table rendering of nested tables
3628         * shr.el (shr-table-body): Don't include all tbodies in nested
3629         tables in the levels above.
3631 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
3633         * lisp/progmodes/project.el (project--read-regexp): Quote the identifier.
3635 2016-01-18  Dmitry Gutov  <dgutov@yandex.ru>
3637         Add xref-based replacements for Dired search commands
3639         * lisp/dired-aux.el (dired-do-find-regexp)
3640         (dired-do-find-regexp-and-replace): New commands.
3641         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00864.html
3643         * lisp/dired.el (dired-mode-map): Change bindings for `A' and
3644         `Q' to the new commands.
3646         * lisp/progmodes/xref.el (xref-query-replace)
3647         (xref-collect-matches): Add progress reporters.
3648         (xref--find-ignores-arguments): Return nil for zero ignores.
3649         (xref--show-xrefs): Add an optional argument.
3650         (xref-collect-matches): Drop the assert.  'find' accepts a
3651         regular file in place of directory argument, too.
3653 2016-01-18  Alan Mackenzie  <acm@muc.de>
3655         * doc/lispref/frames.texi (Position Parameters): Say they don't exist on TTYs.
3657 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
3659         Improve user documentation of Xref
3661         * doc/emacs/maintaining.texi (Xref, Find Identifiers)
3662         (Looking Up Identifiers, Identifier Search, List Identifiers):
3663         Adjudicate comments by Dmitry Gutov <dgutov@yandex.ru>.  See
3664         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00650.html
3665         for the details.
3667 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
3669         Fix scrolling under scroll-preserve-screen-position and margins
3671         * src/window.c (window_scroll_pixel_based): When setting point to
3672         preserve screen coordinates, don't let cursor enter either of the
3673         two scroll margins.  Fix incorrect usage of
3674         WINDOW_WANTS_HEADER_LINE_P and use WINDOW_HEADER_LINE_HEIGHT
3675         instead of CURRENT_HEADER_LINE_HEIGHT.  (Bug#22395)
3677 2016-01-18  Eli Zaretskii  <eliz@gnu.org>
3679         Unbreak the MS-Windows build
3681         * src/sysdep.c (emacs_gnutls_global_init, gnutls_rnd): Disable for
3682         WINDOWSNT, to avoid link failure.  (Bug#22202)
3684 2016-01-18  Alan Mackenzie  <acm@muc.de>
3686         Desktop: protect users against inadvertant upgrading of desktop file.
3688         An upgraded (version 208) desktop file cannot be read in Emacs < 25.
3690         * etc/NEWS: Add an entry about upgrading a desktop file.
3692         * lisp/desktop.el (desktop-file-version): Amend doc string.
3693         (desktop-native-file-version, desktop-io-file-version): new variables.
3694         (desktop-clear): Set desktop-io-file-version to nil.
3695         (desktop-buffer-info): make the presence of the last item on the list
3696         conditional on (>= desktop-io-file-version 208).
3697         (desktop-save): Add extra parameter VERSION to take user's C-u or C-u C-u.
3698         Amend the doc string.  Add code to determine the output file version.
3699         (desktop-create-buffer): Set desktop-io-file-version to the input file's
3700         version.
3702 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3704         Initialize GnuTLS before calling gnutls_rnd
3706         * src/gnutls.c (emacs_gnutls_global_init): Now extern.
3707         Don’t set gnutls_global_initialized if gnutls_global_init fails.
3708         * src/sysdep.c: Include "gnutls.h", and <gnutls/crypto.h>
3709         if 2.12 or later, which has gnutls_rnd.
3710         (emacs_gnutls_global_init, gnutls_rnd): New fallback
3711         placeholder macros if before 2.12.
3712         (init_random): Initialize gnutls globals before trying to
3713         use gnutls_rnd.
3715 2016-01-18  Andreas Schwab  <schwab@linux-m68k.org>
3717         Don't use GnuTLS before it is initialized
3719                 * src/sysdep.c (init_random): Don't use gnutls_rnd.
3721 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
3723         Port cleanup attribute to OpenBSD
3725         The OpenBSD C compiler issues false alarms about strcpy, strcat, and
3726         sprintf, and this messes up 'configure' when it tests for the cleanup
3727         attribute.  Work around the problem by using __has_attribute directly.
3728         Problem reported by Joakim Jalap (Bug#22385).
3729         * configure.ac: Don’t use AX_GCC_VAR_ATTRIBUTE.
3730         * m4/ax_gcc_var_attribute.m4: Remove.
3731         * src/conf_post.h (__has_attribute): Provide a substitute, for
3732         non-GCC or older GCC compilers.  All uses changed to assume
3733         the substitute.  Check for the cleanup attribute.
3734         * src/emacs-module.c (module_has_cleanup): Just use __has_attribute.
3736 2016-01-17  Paul Eggert  <eggert@cs.ucla.edu>
3738         Prefer GnuTLS when acquiring random seed
3740         This attempts to improve on the fix for Bug#22202.
3741         * configure.ac (HAVE_DEV_URANDOM): Remove.
3742         Check /dev/urandom existence at run time, not at build time,
3743         since the device could exist in the former but not the latter.
3744         * src/sysdep.c [HAVE_GNUTLS]: Include gnutls/gnutls.h.
3745         (gnutls_rnd) [GNUTLS_VERSION_NUMBER < 0x020c00]: New fallback macro.
3746         (random_seed): New typedef.
3747         (set_random_seed): New static function.
3748         (seed_random): Use them.
3749         (init_random): Use random_seed instead of uintmax_t, so as to
3750         not consume more entropy than needed.  Prefer gnutls_rnd if it
3751         works; this avoids a redundant open of /dev/urandom on
3752         GNU/Linux with modern GnuTLS.
3754 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3756         Improve documentation of dynamic modules
3758         * doc/lispref/loading.texi (How Programs Do Loading): Update the
3759         description of searching for files in 'load' when Emacs was built
3760         with support for dynamic modules.
3762 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3764         * INSTALL: Document --with-modules.
3766 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3768         Document 'function-put'
3770         * doc/lispref/symbols.texi (Symbol Plists): Document
3771         'function-put'.  Update documentation of 'function-get'.
3773 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3775         Document 'funcall-interactively'
3777         * doc/lispref/commands.texi (Interactive Call): Document
3778         'funcall-interactively'.
3779         * doc/lispref/functions.texi (Calling Functions): Mention
3780         'funcall-interactively' and provide a cross-reference.
3782 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3784         * doc/lispref/lists.texi (Association Lists): Document 'alist-get'.
3786         * doc/lispref/strings.texi (Text Comparison): Document 'string-greaterp'.
3788 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3790         Document renaming of selection-related functions
3792         * doc/lispref/frames.texi (Window System Selections): Rename "x-*"
3793         functions into the corresponding "gui-*" functions.  Make the
3794         description slightly less X-centric.
3796 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3798         * doc/lispref/macros.texi (Expansion): Document 'macroexpand-1'.
3800 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3802         Document 'define-inline'
3804         * doc/lispref/functions.texi (Defining Functions): Document
3805         'define-inline' and related macros.
3807         * lisp/emacs-lisp/inline.el (inline-letevals): Doc fix.
3809 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
3811         * lisp/files.el (dir-locals--all-files): Respect absolute file-names
3813         * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
3815 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
3817         * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
3819         instead of manually writing a dir-locals file.
3821 2016-01-16  Artur Malabarba  <bruce.connor.am@gmail.com>
3823         * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
3825         (dir-locals-file)
3826         * lisp/files-x.el (modify-dir-local-variable)
3827         * lisp/dos-fns.el (dosified-file-name)
3828         * lisp/help-fns.el (describe-variable): Change accordingly.
3830 2016-01-16  Jussi Lahdenniemi  <jussi@aprikoodi.fi>  (tiny change)
3832         Fix incompatbilities with MS-Windows 2000 and older
3834         * src/w32.c <multiByteToWideCharFlags>: New global variable.
3835         (filename_to_utf16, filename_from_ansi, check_windows_init_file):
3836         Use it instead of the literal MB_ERR_INVALID_CHARS.
3837         (maybe_load_unicows_dll): Initialize multiByteToWideCharFlags as
3838         appropriate for the underlying OS version.  For details, see
3839         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
3840         * src/w32.h: Declare multiByteToWideCharFlags.
3841         * src/w32fns.c (Fx_file_dialog, Fw32_shell_execute)
3842         (add_tray_notification): Use multiByteToWideCharFlags instead of
3843         the literal MB_ERR_INVALID_CHARS.
3844         (_resetstkoflw_proc): New typedef.
3845         (w32_reset_stack_overflow_guard): Call _resetstkoflw via a
3846         pointer, as this function is absent in msvcrt.dll shipped with W2K
3847         and older systems.
3849 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3851         Mention in PROBLEMS an issue with MS-Windows NT4
3853         * etc/PROBLEMS (MS-Windows): Mention the problem with Shell32.dll
3854         on Windows NT4.  For the details, see
3855         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html.
3857 2016-01-16  Jussi Lahdenniemi  <jussi@aprikoodi.fi>  (tiny change)
3859         Ensure 8-byte aligned memory allocation on MS-Windows 9X
3861         * src/w32heap.c (init_heap): Redirect malloc, realloc, and free to
3862         special functions on Windows 9X.  Refuse to dump Emacs on Windows 9X.
3863         (malloc_after_dump_9x, realloc_after_dump_9x)
3864         (free_after_dump_9x): New functions.  (Bug#22379)  See also
3865         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00852.html
3866         for more details about the original problem.
3868         * nt/inc/ms-w32.h (malloc_after_dump_9x, realloc_after_dump_9x)
3869         (free_after_dump_9x): Add prototypes.
3871 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3873         Fix tests for active region in hideif.el
3875         * lisp/progmodes/hideif.el (hif-evaluate-macro, hide-ifdef-block): Use
3876         'use-region-p' to test whether to operate on region, instead of
3877         testing 'mark-active'.
3879 2016-01-16  Eli Zaretskii  <eliz@gnu.org>
3881         Fix interactive specs in some hideif.el commands
3883         * lisp/progmodes/hideif.el (hif-evaluate-macro)
3884         (hide-ifdef-undef, show-ifdef-block): Don't use '(interactive "r")'
3885         in commands that should only act on the region if it's active.
3887 2016-01-15  Phillip Lord  <phillip.lord@russet.org.uk>
3889         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
3891 2016-01-15  Phillip Lord  <phillip.lord@russet.org.uk>
3893         Enable test selector from command line
3895         * test/automated/Makefile.in: Change variable manipulation to avoid
3896           over-writing selector.
3898 2016-01-15  Alan Mackenzie  <acm@muc.de>
3900         Don't confuse "::" with ":" when trying to parse member initializers.
3902         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
3903         more robustly for ":" token when searching backwards for it.
3905         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New language
3906         variable.
3908 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
3910         Ensure positive number of glyphs for margins of positive width
3912         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
3913         positive value when a non-zero width of the marginal area was
3914         requested.  (Bug#22356)
3916 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
3918         Fix crashes when mini-window has non-zero margins
3920         * src/window.c (resize_frame_windows): Use 'new_size' to set
3921         minibuffer window's 'total_cols' value, as 'size' might be in
3922         pixels.  (Bug#22356)
3924 2016-01-15  Alan Mackenzie  <acm@muc.de>
3926         In comment-dwim with style `extra-line', respect indent-tabs-mode.
3928         This fixes bug #22369.
3930         * lisp/newcomment.el (comment-make-bol-ws): New function.
3931         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
3933 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
3935         Make 'random' seeds cryptographically secure if possible
3937         * configure.ac: Check for "/dev/urandom".
3939         * src/sysdep.c (init_random) [HAVE_DEV_URANDOM]: Read the stream
3940         for the seed from "/dev/urandom".
3941         [WINDOWSNT]: Obtain the stream for the seed from w32 APIs.
3942         * src/fns.c (Frandom): Update the doc string to indicate that
3943         system entropy is used when available.
3944         * src/w32.c: Include wincrypt.h.
3945         (w32_init_crypt_random, w32_init_random): New functions, use the
3946         CryptGenRandom API.
3947         (globals_of_w32): Initialize w32_crypto_hprov handle to zero.
3948         * src/w32.h (w32_init_random): Add prototype.
3950         * doc/lispref/numbers.texi (Random Numbers): Document more details
3951         about 't' as the argument to 'random'.
3953         * etc/NEWS: Mention that '(random t)' now uses a cryptographically
3954         strong seed if possible.
3956         (Bug#22202)
3958 2016-01-15  Eli Zaretskii  <eliz@gnu.org>
3960         Unhide the --no-line-directive option to 'etags'
3962         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
3963         option.  (Bug#22306)
3965         * doc/man/etags.1: Document the --no-line-directive option.
3967 2016-01-15  Alan J Third  <alan@idiocy.org>  (tiny change)
3969         Fix picture-mode wrt double-width characters
3971         * lisp/textmodes/picture.el (picture-insert): Check the width of
3972         the character being replaced, not just that of the replacement.
3973         (Bug#1808)
3975 2016-01-15  Eric Abrahamsen  <eric@ericabrahamsen.net>
3977         Honor docstring of gnus-group-get-new-news
3979         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg is t,
3980         but non-numeric, unconditionally consider all groups to need updating.
3982 2016-01-14  Simen Heggestøyl  <simenheg@gmail.com>
3984         Disallow parenthesis in non-pseudo CSS selectors
3986         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Disallow
3987         parenthesis in selectors except for in the function notation that
3988         might appear right after a pseudo-class.
3989         * test/indent/scss-mode.scss: Add a test for it.
3991 2016-01-14  Katsumi Yamaoka  <yamaoka@jpl.org>
3993         * lisp/gnus/nntp.el (nntp-request-newgroups): Simplify
3995 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
3997         check-maybe shall run only default tests
3999         * test/automated/Makefile.in (check, check-expensive): Depend on
4000         mostlyclean.
4001         (check-maybe): Re-run only default tests.
4002         (check-doit): Use code of check-maybe.
4003         (mostlyclean): Move *.log files away.
4005 2016-01-14  Mark Oteiza  <mvoteiza@udel.edu>
4007         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "magnet:"
4009 2016-01-14  Dmitry Gutov  <dgutov@yandex.ru>
4011         Un-obsolete tags-loop-continue
4013         * lisp/progmodes/etags.el (tags-loop-continue): Un-obsolete.
4014         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00682.html
4016 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
4018         Document obsoletion of 'intangible' and 'point-entered/left'
4020         * doc/lispref/text.texi (Special Properties): Document the new
4021         properties 'cursor-intangible' and 'cursor-sensor-functions'.
4022         Document the obsolete status of 'intangible', 'pointer-left',
4023         and 'point-entered' properties, and of 'inhibit-point-motion-hooks'.
4024         * doc/lispref/display.texi (Overlay Properties): Document that
4025         'intangible' overlay property is obsolete.
4027         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor-mode): Doc fix.
4029 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
4031         Updater documentation of 'looking-back'
4033         * doc/lispref/searching.texi (Regexp Search): Update documentation
4034         of 'looking-back'.  Fix markup.
4036 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
4038         Document 'pre-redisplay-functions'
4040         * doc/lispref/hooks.texi (Standard Hooks):
4041         * doc/lispref/display.texi (Forcing Redisplay): Document
4042         'pre-redisplay-functions'.
4044 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
4046         Document the new deafault value of 'load-read-function'
4048         * doc/lispref/loading.texi (How Programs Do Loading): Document the
4049         change in the default value of 'load-read-function'.
4051 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
4053         Document 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
4055         * doc/lispref/nonascii.texi (Text Representations): Document
4056         'bufferpos-to-filepos' and 'filepos-to-bufferpos'.
4058 2016-01-13  Eli Zaretskii  <eliz@gnu.org>
4060         Document the new prefix-command hooks
4062         * doc/lispref/hooks.texi (Standard Hooks): Document
4063         `prefix-command-echo-keystrokes-functions' and
4064         `prefix-command-preserve-state-hook'.
4066 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
4068         Fix one more misuse of time-stamp-time-zone
4070         * test/etags/html-src/softwarelibero.html: Use "UTC0" rather
4071         than the unportable "GMT" for time zone.
4073 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
4075         Fix NNTP NEWGROUPS off-by-a-few-hours bug
4077         * lisp/gnus/nntp.el (nntp-request-newgroups): Format string
4078         in Universal Time, since we’re telling the server “GMT”.
4080 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
4082         Update publicsuffix.txt from upstream
4084         * etc/publicsuffix.txt: Update from
4085         https://publicsuffix.org/list/effective_tld_names.dat
4086         dated 2016-01-12 11:52:01 UTC.
4088 2016-01-13  Glenn Morris  <rgm@gnu.org>
4090         Fix some declarations.
4092         * lisp/descr-text.el (internal-char-font):
4093         * lisp/cedet/mode-local.el (xref-item-location):
4094         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
4095         (epg-sub-key-capability, epg-sub-key-validity):
4096         * lisp/international/mule-util.el (internal-char-font):
4097         Fix declarations.
4099 2016-01-13  Glenn Morris  <rgm@gnu.org>
4101         Fix some custom types.
4103         * lisp/gnus/gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files):
4104         * lisp/gnus/gnus.el (gnus-valid-select-methods):
4105         * lisp/mail/rmail.el (rmail-get-coding-function):
4106         * lisp/net/newst-treeview.el (newsticker-groups-filename):
4107         * lisp/progmodes/hideif.el (hide-ifdef-exclude-define-regexp):
4108         * lisp/textmodes/tildify.el (tildify-space-predicates):
4109         * lisp/url/url-tramp.el (url-tramp-protocols):
4110         Fix custom types.
4112 2016-01-13  Glenn Morris  <rgm@gnu.org>
4114         Add some missing version tags.
4116         * lisp/electric.el (electric-quote-comment)
4117         (electric-quote-string, electric-quote-paragraph):
4118         * lisp/epg-config.el (epg-gpgconf-program):
4119         * lisp/rect.el (rectangle-preview):
4120         * lisp/emacs-lisp/check-declare.el (check-declare-ext-errors):
4121         * lisp/emacs-lisp/package.el (package-selected-packages)
4122         (package-hidden-regexps):
4123         * lisp/erc/erc.el (erc-network-hide-list, erc-channel-hide-list):
4124         * lisp/eshell/em-term.el (eshell-destroy-buffer-when-process-dies):
4125         * lisp/gnus/mml-sec.el (mml1991-signers, mml2015-signers)
4126         (mml-smime-signers, mml1991-encrypt-to-self, mml2015-encrypt-to-self)
4127         (mml-smime-encrypt-to-self, mml2015-sign-with-sender)
4128         (mml-smime-sign-with-sender, mml2015-always-trust)
4129         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
4130         * lisp/net/browse-url.el (browse-url-conkeror-new-window-is-buffer)
4131         (browse-url-conkeror-arguments):
4132         * lisp/net/newst-reader.el (newsticker-download-logos):
4133         * lisp/progmodes/gud.el (gud-guiler-command-name):
4134         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
4135         * lisp/progmodes/project.el (project-vc):
4136         * lisp/progmodes/python.el (python-indent-guess-indent-offset-verbose)
4137         (python-shell-remote-exec-path, python-shell-first-prompt-hook)
4138         (python-shell-completion-native-disabled-interpreters)
4139         (python-shell-completion-native-enable)
4140         (python-shell-completion-native-output-timeout)
4141         (python-shell-completion-native-try-output-timeout):
4142         * lisp/progmodes/xref.el (xref):
4143         * lisp/term/screen.el (xterm-screen-extra-capabilities):
4144         * lisp/term/xterm.el (xterm-max-cut-length):
4145         Add missing version tags.
4147 2016-01-13  Glenn Morris  <rgm@gnu.org>
4149         * test/automated/core-elisp-tests.el
4150         (core-elisp-tests-1-defvar-in-let): Add a custom type.
4152 2016-01-13  Glenn Morris  <rgm@gnu.org>
4154         * src/buffer.c (syms_of_buffer) <major-mode>: Doc fix.
4156         Remove comments that do not apply since 2005-08-09.  (Bug#22349)
4158 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
4160         Merge from gnulib
4162         This mostly just changes "UTC" to "UTC0" for POSIX conformance.
4163         It also updates to the latest version of texinfo.tex.
4164         * build-aux/gitlog-to-changelog, build-aux/move-if-change:
4165         * build-aux/update-copyright, doc/misc/texinfo.tex:
4166         Update from gnulib.
4168 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
4170         Update documentation of 'process-running-child-p'
4172         * doc/lispref/processes.texi (Input to Processes): Document the
4173         changes in return value of 'process-running-child-p'.
4175 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
4177         Update documentation of 'deactivate-mark'.
4179         * doc/lispref/markers.texi (The Mark): Document that
4180         'deactivate-mark' is now buffer-local when set.
4182 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
4184         Update documentation of 'completion-table-dynamic'
4186         * doc/lispref/minibuf.texi (Programmed Completion): Document the
4187         new optional argument to 'completion-table-dynamic'.
4189 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
4191         Document changes in 'read-buffer' and 'read-buffer-function'
4193         * doc/lispref/minibuf.texi (High-Level Completion): Document the
4194         4th argument to 'read-buffer' and 'read-buffer-function'.
4196 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
4198         Fix time-stamp-time-zone bugs introduced in July
4200         This fixes a bug introduced when the July changes to
4201         format-time-string installed, as the changes were not
4202         correctly handled in this module (Bug#22302).
4203         Also, document time stamp time zones.
4204         * lisp/time-stamp.el (time-stamp-time-zone): Document values better.
4205         (time-stamp--format): New private function.
4206         (time-stamp-string, time-stamp-string-preprocess)
4207         (time-stamp-do-number): Use it.
4208         * doc/emacs/files.texi (Time Stamps): Mention time zones.
4209         * doc/misc/autotype.texi (Timestamps): Document time-stamp-time-zone.
4211 2016-01-12  Eli Zaretskii  <eliz@gnu.org>
4213         Make piping to subprocesses more robust on MS-Windows
4215         * src/w32.c (sys_write): Don't write to a pipe more stuff than its
4216         buffer can hold.  Don't return -1 if something has been written to
4217         the pipe.  Zero out 'errno' before calling '_write', to avoid
4218         returning a stale value.  (Bug#22344)
4219         * src/w32proc.c (syms_of_ntproc) <w32-pipe-buffer-size>: New variable.
4220         * src/w32.c (pipe2): Use it to request a user-defined size for the
4221         pipe being created.
4223         * etc/NEWS: Mention 'w32-pipe-buffer-size'.
4225         * doc/emacs/msdos.texi (Windows Processes): Document
4226         'w32-pipe-buffer-size'.
4228 2016-01-11  Dmitry Gutov  <dgutov@yandex.ru>
4230         test/automated/vc-hg.el: Support out-of-tree build
4232         * test/automated/vc-hg.el
4233         (vc-hg-annotate-extract-revision-at-line-with-filename)
4234         (vc-hg-annotate-extract-revision-at-line-with-both):
4235         Don't refer to source-directory.
4236         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00755.html
4238 2016-01-11  Michael Albinus  <michael.albinus@gmx.de>
4240         Minor change in tramp-tests.el
4242         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
4243         Use `dired-uncache' instead of a Tramp internal function.
4245 2016-01-11  Peter Feigl  <peter.feigl@nexoid.at>
4247         * etc/HELLO: Add Armenian and Mongolian greetings.
4249         (Bug#22346)
4251 2016-01-11  Alan Mackenzie  <acm@muc.de>
4253         Java Mode: Fontify identifiers in the presence of annotations.
4255         * lisp/progmodes/cc-engine.el (c-forward-annotation): Tidy up the coding:
4256         Don't move point when the defun fails.
4257         (c-forward-decl-or-cast-1): Correct a usage of match data.
4259         * lisp/progmodes/cc-fonts.el (c-font-lock-maybe-decl-faces): Remove.
4260         (c-font-lock-declarations): Use the new c-maybe-decl-faces in place of the
4261         removed variable.
4263         * lisp/progmodes/cc-langs.el (c-maybe-decl-faces): New language variable.
4265 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
4267         Avoid an infloop when we run out of memory
4269         * src/alloc.c (garbage_collect_1): Don't bother saving and
4270         restoring the echo-area message if we are GC'ing after running out
4271         of memory.  This avoids an infloop due to repeated attempts to
4272         allocate memory for the cons cell needed to save the message,
4273         which signals the memory-full error, which attempts to save the
4274         echo-area message, which signals memory-full again, etc.
4276 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
4278         Avoid unnecessary failures of auto-saving after fatal error
4280         * src/w32.c (map_w32_filename): Avoid non-trivial system calls for
4281         the benefit of FAT volumes if we are called as part of shutting
4282         down due to a fatal error, which probably means we are trying to
4283         auto-save the session.
4284         * src/lread.c (check_obarray): Don't bother making the obarray
4285         valid if we are shutting down due to a fatal error.  This avoids
4286         interfering with auto-saving the crashed session.
4288 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4290         Simplify HAVE_MODULES use in mark_maybe_pointer
4292         * src/alloc.c (HAVE_MODULES): Now a constant 0 if not defined,
4293         so that later code can use 'if' rather than '#ifdef'.
4294         (mark_maybe_pointer): Simplify based on HAVE_MODULES now
4295         always working.
4297 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4299         Revert attempt to use 'noexcept' in typedef
4301         This use of 'noexcept' runs afoul of the C++11 standard.
4302         Problem reported by Philipp Stephani in:
4303         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00706.html
4304         * src/emacs-module.c (emacs_finalizer_function):
4305         Move this typedef here ...
4306         * src/emacs-module.h: ... from here, and use only the C
4307         version of the typedef.  The typedef is now private since it
4308         is never used in the .h file now and anyway it seemed to be
4309         causing more confusion than it cured.
4310         (make_user_ptr, get_user_finalizer, set_user_finalizer):
4311         Open-code the type instead.
4313 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
4315         Update documentation of 'indirect-function'
4317         * doc/lispref/eval.texi (Function Indirection): Update the
4318         documentation of 'indirect-function'.
4320 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
4322         Update documentation for obsoleting 'syntax-begin-function'
4324         * doc/lispref/syntax.texi (Position Parse): Undocument
4325         'syntax-begin-function' that is now obsolete.
4327 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
4329         Document new features if Eshell
4331         * doc/misc/eshell.texi (Input/Output): Document the new
4332         '#<bufname>' syntax.
4333         (Input/Output): Document 'eshell-destroy-buffer-when-process-dies'.
4334         Disable "Key Index" generation, as there are no @kindex entries in
4335         this manual.
4337 2016-01-10  Michael Albinus  <michael.albinus@gmx.de>
4339         Handle too long commands in Tramp
4341         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
4342         (tramp-do-file-attributes-with-ls): Send sequence of commands, in
4343         order to not exceed shell command line limit.
4345         * test/automated/tramp-tests.el (tramp--test-darwin-p): Remove.
4346         (tramp--test-utf8): Include Arabic file name, again.
4348 2016-01-10  Paul Eggert  <eggert@cs.ucla.edu>
4350         * .gitattributes: *.cur and *.pif are binary files too.
4352 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
4354         * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
4356 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
4358         * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
4360         * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation
4361         within $(...).
4362         * test/indent/shell.sh: Add corresponding test.
4364 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
4366         * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
4368         (mark_memory): Simplify loop.  Don't assume a pointer-sized word can be
4369         cast to Lisp_Object.
4371 2016-01-10  Dmitry Gutov  <dgutov@yandex.ru>
4373         Use short date for 'hg annotate', and output the author
4375         * lisp/vc/vc-hg.el (vc-hg-annotate-command):
4376         Change '-d' to '-dq'.  (Bug#21805)
4377         (vc-hg-annotate-switches): Default to "-u" "--follow".
4378         (vc-hg-annotate-re): Update to recognize the short date format
4379         and the optional username.
4380         (vc-hg-annotate-time)
4381         (vc-hg-annotate-extract-revision-at-line): Update accordingly.
4383         * test/automated/vc-hg.el: New file.
4385 2016-01-10  Paul Eggert  <eggert@cs.ucla.edu>
4387         Spelling fix
4389 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
4391         Document user-level functions in project.el
4393         * lisp/progmodes/project.el (project-find-file)
4394         (project-or-external-find-file): Add doc strings.
4396 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
4398         Document the user-level features of the Xref package
4400         * doc/emacs/maintaining.texi (Maintaining): Add a list of
4401         described features.
4402         (Xref): New section, made out of thoroughly rewritten "Tags"
4403         section.
4404         (Find Identifiers, Looking Up Identifiers, Xref Commands)
4405         (Identifier Search, List Identifiers): New subsections,
4406         incorporating the old tags commands and the new xref commands.
4407         (Tags Tables, Tag Syntax, Create Tags Table, Etags Regexps):
4408         Section and subsections demoted to a lower level.
4409         * doc/emacs/search.texi (Search):
4410         * doc/emacs/windows.texi (Pop Up Window):
4411         * doc/emacs/frames.texi (Creating Frames):
4412         * doc/emacs/programs.texi (Imenu, Symbol Completion):
4413         * doc/emacs/building.texi (Grep Searching):
4414         * doc/emacs/dired.texi (Operating on Files):
4415         * doc/emacs/glossary.texi (Glossary): All references to tags changed.
4417 2016-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>
4419         * doc/lispref/loading.texi: Add `define-type' entry for load-history
4421         * doc/lispref/loading.texi (Where Defined): Remove incorrect
4422         cl-defmethod description, and add missing define-type entry.
4424 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
4426         Improve doc strings and prompts in xref.el
4428         * lisp/progmodes/xref.el (xref-backend-functions)
4429         (xref-find-definitions): Doc fixes.
4430         (xref-query-replace): Doc fix.  Improve prompts for arguments.
4432 2016-01-09  Alan Mackenzie  <acm@muc.de>
4434         Allow the use of `font-lock-extend-region-multiline' in CC Mode.
4436         * lisp/progmodes/cc-mode.el (c-font-lock-init): Remove
4437         `font-lock-extend-regions-wholelines' from
4438         `font-lock-extend-region-functions' rather than setting the latter to
4439         nil.
4441 2016-01-09  Michael Albinus  <michael.albinus@gmx.de>
4443         Fix coding system for Tramp on OS X.
4445         * lisp/net/tramp-compat.el: Require ucs-normalize.
4447         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
4448         Set coding system to `utf-8-hfs' for Mac OS X.
4450         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
4451         Flush directory properties when needed.
4452         (tramp--test-utf8): Include Chinese file name, again.
4454 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
4456         Update 'load-history' docs
4458         * doc/lispref/loading.texi (Where Defined): Update the list of
4459         forms in 'load-history' by adding the forms created for the
4460         'cl-generic' generics.  (Bug#21422)
4462 2016-01-09  Paul Eggert  <eggert@cs.ucla.edu>
4464         Fix (error ...) error
4466         Problem reported by Glenn Morris in:
4467         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00561.html
4468         * lisp/vc/add-log.el (change-log-goto-source): Fix typos
4469         introduced in my Aug 28 change, where I got confused by the
4470         two meanings of (error ...).
4472 2016-01-08  Alan Mackenzie  <acm@muc.de>
4474         Correctly analyze brace arguments in templated C++ function declarations.
4476         * lisp/progmodes/cc-defs.el (c-go-list-forward, c-go-list-backward): add
4477         POS and LIMIT parameters, like the other c-go-list-* functions have.
4479         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): Check backwards
4480         for a ?\( rather than a ?<.  (c-looking-at-inexpr-block): Handle names
4481         followed by template specifiers.
4483 2016-01-08  Glenn Morris  <rgm@gnu.org>
4485         * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
4487         * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
4489 2016-01-08  Mark Oteiza  <mvoteiza@udel.edu>
4491         * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
4493 2016-01-08  Alan Mackenzie  <acm@muc.de>
4495         Respect fontification region calculated by major mode.  Fixes bug #22316.
4497         * lisp/font-lock.el (font-lock-extend-jit-lock-region-after-change): when a
4498         fontification region has been calculated by a function on
4499         font-lock-extend-after-change-region-function use this region rather than
4500         changing the end position to somewhere else.
4502 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
4504         Improve documentation of Delete Selection mode
4506         * lisp/delsel.el (delete-selection-mode)
4507         (delete-selection-helper): Update and expand the doc strings.
4508         (Bug#22296)
4510         * doc/emacs/mark.texi (Using Region): Document the behavior of
4511         delete commands in Delete Selection mode.  (Bug#22296)
4513         * doc/lispref/markers.texi (The Mark): Document how to add the
4514         support for Delete Selection mode to Lisp programs. (Bug#22296)
4516 2016-01-08  Dmitry Gutov  <dgutov@yandex.ru>
4518         Fix two project-find-file issues
4520         * lisp/progmodes/project.el (project--value-in-dir):
4521         Temporarily set enable-local-variables to :all.
4522         (project-find-file, project-or-external-find-file):
4523         All autoloads.
4524         (project--find-file-in): Require xref.
4526 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
4528         Clarify doc string of 'dired-current-directory'
4530         * lisp/dired.el (dired-current-directory): Doc fix: clarify that
4531         the return value might not end in a slash when called with the
4532         optional argument non-nil.  (Bug#6273)
4534 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
4536         Use the face of preceding text for displaying the ellipsis
4538         * src/xdisp.c (setup_for_ellipsis): Use the face of the preceding
4539         text in it->saved_face_id for displaying the ellipsis, and ignore
4540         the face, if any, of the invisible text.  (Bug#22320)
4542 2016-01-08  Michael Albinus  <michael.albinus@gmx.de>
4544         Suppress Chinese file name test for OSX in tramp-tests.el
4546         * test/automated/tramp-tests.el (tramp--test-utf8):
4547         Remove instrumentation.  Suppress Chinese file name test for OSX.
4549 2016-01-08  Glenn Morris  <rgm@gnu.org>
4551         * admin/admin.el (set-version): Also handle the NEWS file.
4553 2016-01-08  Dmitry Gutov  <dgutov@yandex.ru>
4555         apropos-library: Skip obvious duplicates; don't error on generics
4557         * lisp/apropos.el (apropos-library): Skip "was an autoload"
4558         entries, to avoid obvious duplicates.  For each cl-defmethod
4559         entry, take just its function symbol (bug#21422).
4561 2016-01-07  Dmitry Gutov  <dgutov@yandex.ru>
4563         Add project-find-file and project-or-external-find-file
4565         * lisp/minibuffer.el (completion-category-defaults):
4566         Add `project-file' category.
4568         * lisp/progmodes/project.el (project-find-file)
4569         (project-or-external-find-file): New commands.
4570         (project--find-file-in): New private function.
4572         * lisp/progmodes/xref.el (xref-collect-matches): Use
4573         `expand-file-name' on DIR, to expand the tildes.
4574         (xref--find-ignores-arguments): Extract from
4575         `xref--rgrep-command'.
4577 2016-01-07  Leo Liu  <sdl.web@gmail.com>
4579         Add defvar-local to lisp-imenu-generic-expression
4581         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add
4582           defvar-local.
4584 2016-01-07  Leo Liu  <sdl.web@gmail.com>
4586         Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
4588         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
4589           Don't declare (indent 1).
4591 2016-01-07  Glenn Morris  <rgm@gnu.org>
4593         * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
4595 2016-01-07  Glenn Morris  <rgm@gnu.org>
4597         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
4599         Avoid specifying the length of a time object (it has not been "2"
4600         for some time).
4602 2016-01-06  Andreas Schwab  <schwab@linux-m68k.org>
4604         Properly encode/decode base64Binary data in SOAP
4606                 * lisp/net/soap-client.el (soap-encode-xs-basic-type): Encode
4607                 base64Binary value as utf-8.
4608                 (soap-decode-xs-basic-type): Decode base64Binary value as utf-8.
4610 2016-01-06  Eli Zaretskii  <eliz@gnu.org>
4612         Obey coding-system-for-write when writing stdout/stderr in batch
4614         * src/print.c (printchar_to_stream):
4615         * src/xdisp.c (message_to_stderr): If coding-system-for-write has
4616         a non-nil value, use it to encode output in preference to
4617         locale-coding-system.  See the discussions in
4618         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00048.html
4619         for the details.
4621         * doc/lispref/os.texi (Terminal Output): Document how to send
4622         non-ASCII text via 'send-string-to-terminal'.
4623         (Batch Mode): Document how text written to standard streams is
4624         encoded.  Fix inaccuracy regarding which output streams are used
4625         by output functions in batch mode.
4627 2016-01-06  Xue Fuqiao  <xfq.free@gmail.com>
4629         * doc/misc/efaq.texi (Packages that do not come with Emacs):
4630         Update the URI of MELPA and marmalade-repo.  Reported by CHENG Gao
4631         <chenggao@royau.me> in
4632         https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
4634 2016-01-06  Maksim Golubev  <maksim.golubev72@gmail.com>  (tiny change)
4636         * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
4638         Fix backslash.  (Bug#22224)
4640 2016-01-06  Federico Beffa  <beffa@ieee.org>  (tiny change)
4642         * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
4644         Make it actually work.  (Bug#22265)
4646 2016-01-05  Alan Mackenzie  <acm@muc.de>
4648         Remove function wrongly on AWK Mode value of context fontification hook.
4650         * lisp/progmodes/cc-langs.el (c-before-context-fontification-functions):
4651         swap order of entries so that awk's entry isn't superseded by the default.
4653         * lisp/progmodes/cc-mode.el (c-before-context-fl-expand-region): Correct
4654         to handle nil value of c-before-context-fontification-functions.
4656 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4658         * src/buffer.c: Stick with ASCII in doc string.
4660 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4662         Reword transient-mark-mode doc string
4664         * src/buffer.c (syms_of_buffer): Reword doc string to avoid confusion.
4665         The value 'lambda (literally) can be interpreted as (quote lambda),
4666         which is not intended here; we want just the lambda symbol.
4668 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
4670         Update doc string of 'selective-display'
4672         * src/buffer.c (syms_of_buffer) <selective-display>: Say that
4673         using it with the value of 't' is obsolete.  (Bug#1092)
4675 2016-01-05  Alan Mackenzie  <acm@muc.de>
4677         Make C++ buffers writeable when writing their initial text properties.
4679         This is a correction to yesterday's CC Mode patch.
4681         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Put
4682         c-save-buffer-state around the function rather than a mere `let'.
4684 2016-01-05  Michael Albinus  <michael.albinus@gmx.de>
4686         Additional changes for "make check-expensive"
4688         * CONTRIBUTE : Encourage use of ":tags '(:expensive-test)".
4689         Explain make target `check-expensive'.
4691         * etc/NEWS: Mention new make target `check-expensive'.
4693         * test/automated/Makefile.in (check-doit): New target.
4694         (check, check-expensive): Use it.
4696 2016-01-04  Alan Mackenzie  <acm@muc.de>
4698         Apply text properties for <, > in new after-change function (C++ Java Modes).
4700         These are category/syntax-table properties to give < and > paren syntax.
4701         Also apply certain `c-type' text properties to the insides of <..> constructs
4702         to ensure that identifiers contained by them get fontified.  This patch fixes
4703         bug #681.
4705         * lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Reformulate due to new
4706         after-change action.
4708         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Expand
4709         change region to include <s and >s which might not be already marked as
4710         parens, rather than just when paren text properties are removed.
4711         (c-restore-<>-properties): New after-change function, which applies text
4712         properties marking < and > with paren syntax.
4714         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Ensure `c-type'
4715         properties are applied to the interiors of <...> constructs, to ensure
4716         fontification of identifiers there.
4718         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
4719         c-restore-<>-properties to this list for C++ and Java.
4721         * lisp/progmodes/cc-mode.el (c-common-init): When invoking
4722         c-before-font-lock-functions, exclude c-restore-<>-properties from the
4723         functions invoked.
4724         (c-before-change): Initialize c-new-BEG/END here (rather than c-after-change)
4725         to allow modification by before-change functions.
4726         (c-after-change): Amend c-new-END here, rather than initializing it and
4727         c-new-BEG.
4729 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
4731         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
4733 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
4735         Introduce check-expensive tests.
4737         * Makefile.in (check-expensive):
4738         * test/automated/Makefile.in (check-expensive): New target.
4740         * test/automated/auto-revert-tests.el
4741         (auto-revert-test01-auto-revert-several-files):
4742         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
4743         * test/automated/tramp-tests.el (tramp-test26-process-file)
4744         (tramp-test27-start-file-process, tramp-test28-shell-command)
4745         (tramp-test29-vc-registered)
4746         (tramp-test31-special-characters-with-stat)
4747         (tramp-test31-special-characters-with-perl)
4748         (tramp-test31-special-characters-with-ls)
4749         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
4750         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
4751         (tramp-test35-unload): Tag the tests as :expensive-test.
4753 2016-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4755         shr-tag-video bug fix
4757         * shr.el (shr-tag-video): Protect against the `poster' being
4758         empty.
4760 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
4762         Minor fixes in tramp-tests.el
4764         * test/automated/tramp-tests.el (tramp-test26-process-file):
4765         Move point properly.
4766         (tramp-test29-vc-registered): Work with relative file names.
4768 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
4770         Ensure redisplay when 'truncate-lines' is set
4772         * lisp/frame.el (redisplay--variables): Add 'truncate-lines'.
4773         (Bug#22303)
4775 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
4777         Fix a doc string of 'transient-mark-mode'
4779         * src/buffer.c (syms_of_buffer) <transient-mark-mode>: Prevent
4780         "lambda" in doc string from becoming a link to lambda expressions.
4782 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
4784         MS-Windows followup to latest gnulib update
4786         * nt/gnulib.mk (EXTRA_DIST): Add ignore-value.h.
4788 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4790         Spelling fix
4792 2016-01-04  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
4794         Do secure signed Bcc handling
4796         * lisp/gnus/message.el (message-send): Do secure signed Bcc handling
4797         (bug#18718).
4799 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4801         Avoid stdio in SIGINT handler
4803         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
4804         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
4805         * lib/ignore-value.h: New file, from gnulib.
4806         * src/keyboard.c: Include it.
4807         (write_stdout, read_stdin): New functions.
4808         (handle_interrupt): Use them instead of printf and getchar,
4809         and avoid fflush when handling signals.
4811 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4813         * doc/misc/texinfo.tex: Revert unwanted copyright change.
4815 2016-01-03  Artur Malabarba  <bruce.connor.am@gmail.com>
4817         * lisp/align.el (align): Simplify a lambda
4819         * lisp/align.el (align): Fix arg order in call to `align-region'
4821 2016-01-03  Eli Zaretskii  <eliz@gnu.org>
4823         Fix compilation next-error in buffers with selective-display
4825         * lisp/progmodes/compile.el (compilation-beginning-of-line): New
4826         function.
4827         (compilation-internal-error-properties)
4828         (compilation-next-error-function, compilation-set-window): Use
4829         it.  (Bug#1092)
4831 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4833         * lisp/net/nsm.el (nsm-check-protocol): Fix typo in the message.
4835 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4837         Add SHA1 warnings for high network security settings
4839         * lisp/net/nsm.el (nsm-check-protocol): When using high security, warn
4840         about SHA1 certificates, which are now believed to be open to
4841         spoofing.
4843 2016-01-03  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
4845         Refactor mml-smime.el, mml1991.el, mml2015.el
4847         (Maybe this is the last merge from Gnus git to Emacs git)
4849         Cf. discussion on ding mailing list, messages in
4850         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
4851         Common code from the three files mml-smime.el, mml1991.el, and
4852         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
4853         to gnus-util.el.
4855         The code is supported by test cases with necessary test keys.
4857         Documentation in message.texi is updated.
4859         * doc/misc/message.texi (Security, Using S/MIME):
4860         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
4861         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
4862         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
4864         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
4865         New functions.
4867         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
4868         (epa--select-keys): Autoload.
4869         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
4870         (mml-secure-openpgp-signers): New user option;
4871         make mml1991-signers and mml2015-signers obsolete aliases to it.
4872         (mml-secure-smime-signers): New user option;
4873         make mml-smime-signers an obsolete alias to it.
4874         (mml-secure-openpgp-encrypt-to-self): New user option;
4875         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
4876         aliases to it.
4877         (mml-secure-smime-encrypt-to-self): New user option;
4878         make mml-smime-encrypt-to-self an obsolete alias to it.
4879         (mml-secure-openpgp-sign-with-sender): New user option;
4880         make mml2015-sign-with-sender an obsolete alias to it.
4881         (mml-secure-smime-sign-with-sender): New user option;
4882         make mml-smime-sign-with-sender an obsolete alias to it.
4883         (mml-secure-openpgp-always-trust): New user option;
4884         make mml2015-always-trust an obsolete alias to it.
4885         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
4886         New user options.
4887         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
4888         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
4889         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
4890         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
4891         (mml-secure-passphrase-callback, mml-secure-check-user-id)
4892         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
4893         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
4894         (mml-secure-fingerprint, mml-secure-filter-keys)
4895         (mml-secure-normalize-cust-name, mml-secure-select-keys)
4896         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
4897         (mml-secure-self-recipients, mml-secure-recipients)
4898         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
4900         * lisp/gnus/mml-smime.el: Require epg;
4901         refactor declaration and autoloading of epg functions.
4902         (mml-smime-use): Doc fix.
4903         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
4904         Obsolete.
4905         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
4906         Use format instead of gnus-format-message.
4907         (mml-smime-epg-secret-key-id-list): Remove variable.
4908         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
4909         (mml-smime-epg-find-usable-secret-key): Remove functions.
4910         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
4912         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
4913         (mml1991-passphrase-cache-expiry): Obsolete.
4914         (mml1991-epg-secret-key-id-list): Remove variable.
4915         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
4916         (mml1991-epg-find-usable-secret-key): Remove functions.
4917         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
4919         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
4920         (mml2015-passphrase-cache-expiry): Obsolete.
4921         (mml2015-epg-secret-key-id-list): Remove variable.
4922         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
4923         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
4924         (mml2015-epg-find-usable-secret-key): Remove functions.
4925         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
4926         (mml2015-epg-encrypt): Refactor.
4928 2016-01-02  Glenn Morris  <rgm@gnu.org>
4930         * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
4932         Explicitly ignore case.  (Bug#22262)
4934 2016-01-02  Stefan Monnier  <monnier@iro.umontreal.ca>
4936         (semantic-symref-derive-find-filepatterns): Return a list
4938         * lisp/cedet/semantic/symref/grep.el
4939         (semantic-symref-derive-find-filepatterns): Return a list.
4940         (semantic-symref-perform-search): Quote the result here once and for all.
4942 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4944         Fix xref-find-references on MS-Windows
4946         * lisp/cedet/semantic/symref/grep.el
4947         (semantic-symref-derive-find-filepatterns): Use
4948         'shell-quote-argument' instead of manually quoting in a way that
4949         only works with Posix shells.  (Bug#22289)
4951 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4953         Document new features of tildify-mode
4955         * lisp/textmodes/tildify.el (tildify-foreach-ignore-environments)
4956         (tildify-mode): Spelling fixes in doc strings.
4958         * etc/NEWS: Reformat the tildify-mode entry.
4960 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4962         Document new features of Whitespace mode
4964         * doc/emacs/display.texi (Useless Whitespace): Document
4965         'whitespace-toggle-options' and the new 'big-indent' style.
4966         Document 'whitespace-big-indent-regexp'.  Document the Global
4967         Whitespace mode.
4969 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
4971         Improve documentation of new Hide-IfDef features
4973         * etc/NEWS: Expand and reword Hide-IfDef section.
4975 2016-01-02  Leo Liu  <sdl.web@gmail.com>
4977         Fix regression in font-locking cl-assert and cl-check-type
4979         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Fix
4980           el-errs-re.
4982 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4984         Spelling and grammar fixes
4986 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4988         Fix copyright years by hand
4990         These are dates that admin/update-copyright did not update, or
4991         updated incorrectly.
4993 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4995         Update copyright year to 2016
4997         Run admin/update-copyright.
4999 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
5001         Merge from gnulib
5003         This mostly just updates copyright dates of gnulib files.
5004         It also updates to the latest version of texinfo.tex.
5006 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
5008         lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
5010 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
5012         Port chart.el methods to cl-generic.
5014         cl-call-next-method cannot be used inside EIEIO's defmethod.
5015         * lisp/emacs-lisp/chart.el: Require cl-generic at compile time.
5016         * lisp/emacs-lisp/chart.el (initialize-instance, chart-draw):
5017         (chart-draw-title, chart-size-in-dir, chart-draw-axis):
5018         (chart-axis-draw, chart-translate-xpos, chart-translate-ypos):
5019         (chart-translate-namezone, chart-draw-data, chart-add-sequence):
5020         (chart-trim, chart-sort): Use cl-defmethod instead of defmethod.
5022 2015-12-31  Brian Burns  <bburns.km@gmail.com>
5024         Add nt/INSTALL.W64 build instructions
5026         * nt/INSTALL.W64: New file.
5027         * nt/INSTALL: Point to INSTALL.W64 for 64-bit build instructions.
5029 2015-12-31  Joakim Jalap  <joakim.jalap@fastmail.com>
5031         Add new input method 'programmer-dvorak'
5033         * lisp/leim/quail/programmer-dvorak.el ("programmer-dvorak"): New
5034         input method.
5036         * etc/NEWS: Mention it.
5038 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
5040         Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
5042         * lisp/textmodes/flyspell.el (flyspell-prog-mode): Record the
5043         original M-TAB binding in a buffer-local variable.
5044         (flyspell-auto-correct-word): Invoke the original binding of M-TAB
5045         if that is recorded, when point is in a place where flyspell
5046         should not be active (e.g., because the user turned on
5047         'flyspell-prog-mode').  (Bug#18533)
5049 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
5051         Fix EWW rendering of long RTL lines
5053         * lisp/net/shr.el (shr-insert-document): Undo any previous hscroll
5054         of the selected window before filling its lines.  (Bug#22250)
5056 2015-12-31  Vincent Belaïche  <vincentb1@users.sourceforge.net>
5058         fix  bug#21054
5060         * lisp/ses.el (ses-check-curcell): Call `ses-set-curcell' unconditionally
5062 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5064         Clean up cairo printing code
5066         * src/gtkutil.c (xg_get_page_setup): Use listn.
5067         * src/xfns.c (Fx_export_frames, Fx_print_frames_dialog): Doc fix.  Use
5068         decode_window_system_frame and FRAME_VISIBLE_P.
5069         (Fx_print_frames_dialog): Use redisplay_preserve_echo_area instead
5070         of Fdisplay.
5071         * src/xterm.c (x_cr_export_frames): Use redisplay_preserve_echo_area
5072         instead of Fdisplay.  Temporarily unblock_input around QUIT.
5074 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5076         Move variables to inner loop, preparing for Mac port merge
5078         * src/keyboard.c (command_loop_1): Move variables `cmd',
5079         `keybuf', and `i' to inner loop.
5081 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5083         Add handle_user_signal_hook
5085         * src/keyboard.h (handle_user_signal_hook): New declaration.
5086         * src/keyboard.c (handle_user_signal_hook): New variable.
5087         (handle_user_signal): Call it.
5089 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5091         Avoid writing to purespace
5093         * src/alloc.c (Fmake_string): Don't write to empty string contents.
5094         (allocate_vector): Don't write to empty vector size.
5095         * src/character.h (CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR):
5096         Don't call unnecessary XSETCAR or XSETCDR.
5097         * src/lisp.h (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE): Don't
5098         write to empty string size_byte.
5100 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5102         Remove unused variable
5104         * lisp/international/mule-cmds.el: Remove unused variable
5105         `mac-system-coding-system'.
5107 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5109         * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
5111 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5113         Use posix_openpt instead of openpty on Darwin
5115         * configure.ac (PTY_ITERATION, FIRST_PTY_LETTER, PTY_OPEN)
5116         (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Remove
5117         Darwin-specific definitions.  Use posix_openpt instead.
5119 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
5121         Document support for ':documentation' in Lisp mode
5123         * lisp/emacs-lisp/lisp-mode.el (lisp-string-in-doc-position-p)
5124         (lisp-string-after-doc-keyword-p)
5125         (lisp-font-lock-syntactic-face-function): Add doc strings.
5127 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
5129         Document new features of TeX mode
5131         * doc/emacs/text.texi (TeX Print): Document
5132         'tex-print-file-extension'.
5133         * doc/emacs/programs.texi (Misc for Programs): Document support
5134         for Prettify Symbols mode in TeX mode.
5136 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
5138         Clarify docs of hscroll in RTL text
5140         * doc/lispref/windows.texi (Horizontal Scrolling): Clarify the
5141         meaning of a window's horizontal scroll amount for RTL paragraphs.
5143 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
5145         Fix rendering of HTML pages that use character composition
5147         * src/indent.c (Fvertical_motion): Fix the case when point starts
5148         in the middle of a composition, as in shr-vertical-motion.
5149         (Bug#22250)
5151 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
5153         Avoid some compiler warnings in w32.c
5155         * src/w32.c (codepage_for_filenames, crlf_to_lf)
5156         (ansi_encode_filename, socket_to_fd, sys_write)
5157         (check_windows_init_file): Avoid compiler warnings about
5158         differences in pointer signedness.
5160 2015-12-30  Dmitry Gutov  <dgutov@yandex.ru>
5162         Undo ill-advised change
5164         * lisp/progmodes/xref.el (xref-collect-matches): Undo
5165         ill-advised change.  The hits come in the order that `find'
5166         produces them in, which isn't alphabetical.
5168 2015-12-30  Dmitry Gutov  <dgutov@yandex.ru>
5170         Unbreak completion in python-mode buffers
5172         * lisp/progmodes/python.el (python-shell-completion-at-point):
5173         Unbreak in python-mode buffers.
5175 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
5177         Fix typos in CC Mode manual
5179         * doc/misc/cc-mode.texi (c-offsets-alist, Style Variables): Fix
5180         typos.  (Bug#22267)
5182 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
5184         Avoid assertion violations in compact_font_cache_entry
5186         * src/alloc.c (compact_font_cache_entry): Don't use VECTORP to
5187         avoid assertion violation in ASIZE.  (Bug#22263)
5189 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
5191         Fix filling text with bidirectional characters in shr.el
5193         * lisp/net/shr.el (shr-insert-document): Bind
5194         bidi-display-reordering to nil while filling lines.  This is
5195         required for when a line includes characters whose bidi
5196         directionality is opposite to the base paragraph direction,
5197         because columns are counted in the logical order.  (Bug#22250)
5199 2015-12-29  Martin Rudalics  <rudalics@gmx.at>
5201         * src/xfns.c (x_create_tip_frame): Process alpha parameter.
5203 2015-12-29  Michael Albinus  <michael.albinus@gmx.de>
5205         Sync with Tramp 2.2.13
5207         * doc/misc/trampver.texi: Change version to "2.2.13.25.1".
5209         * lisp/net/tramp-compat.el (tramp-compat-delete-dups):
5210         Use `tramp-compat-funcall'.
5212         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names):
5213         Make `split-string' call compatible with older Emacsen.
5215         * lisp/net/trampver.el: Change version to "2.2.13.25.1".
5217 2015-12-29  Lambda Coder  <sjLambda@gmail.com>
5219         * doc/misc/tramp.texi: Editorial revisions to the Tramp manual
5221 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
5223         Mention that tls.el is secure by default, and will fail
5225 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
5227         Make tls.el use trustfiles by default
5229         * lisp/net/tls.el (tls-program): Add a certfile by default (bug#21227).
5230         (open-tls-stream): Insert the trustfile by looking at
5231         `gnutls-trustfiles'.
5233 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
5235         Refactor out gnutls-trustfiles
5237         * lisp/net/gnutls.el (gnutls-trustfiles): Refactor out for reuse by tls.el.
5239 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
5241         Remove --insecure from gnutls-cli invocation
5243         * tls.el (tls-program): Default to using secure TLS
5244         connections (bug#19284).
5246 2015-12-29  Paul Eggert  <eggert@cs.ucla.edu>
5248         Spelling fix
5250 2015-12-29  Paul Eggert  <eggert@cs.ucla.edu>
5252         Port report-emacs-bug to deterministic builds
5254         * lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
5255         recent "built on" change to deterministic builds where
5256         emacs-build-system will be nil.  See:
5257         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
5259 2015-12-29  Jose A. Ortega Ruiz  <jao@gnu.org>  (tiny change)
5261         Fix URL auth error message
5263         * lisp/url/url-http.el (url-http-handle-authentication): Make the error
5264         message more correct (bug#20069).
5266 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5268         shr link traversal fixup
5270         * shr.el (shr-next-link): Don't bug out on adjacent links.
5272         Backport:
5274         (cherry picked from commit 1efc5f8b09273c359683ce13be95fb5df7a84311)
5276 2015-12-28  Tom Tromey  <tom@tromey.com>
5278         set :safe on css-indent-offset
5280         * lisp/textmodes/css-mode.el (css-indent-offset): Add :safe 'integerp.
5282 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5284         * eww.el (eww-mode): Remove superfluous bidi reset.
5286 2015-12-28  James Stout  <james.wolf.stout@gmail.com>  (tiny change)
5288         Make chunked encoding trailer detection more compliant
5290         * lisp/url/url-http.el
5291         (url-http-chunked-encoding-after-change-function): Make
5292         trailer detection more compliant (bug#16345).
5294 2015-12-28  Martin Rudalics  <rudalics@gmx.at>
5296         Fix Bug#10873 in `report-emacs-bug'
5298         * lisp/mail/emacsbug.el (report-emacs-bug): If
5299         `report-emacs-bug-no-explanations' is nil, make sure we can show
5300         mail and warnings buffer on this frame (Bug#10873).
5302 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
5304         Always reset the bidi direction
5306         * eww.el (eww-display-html): Always reset the bidi direction
5307         to `left-to-right' (bug#22257).
5309 2015-12-28  Alan Mackenzie  <acm@muc.de>
5311         Allow line comments ending with escaped NL to be continued to the next line.
5313         Use this in C, C++, and Objective C Modes.  Fixes bug#22246
5315         * src/syntax.c (comment-end-can-be-escaped): New buffer local variable.
5316         (forw-comment, back-comment): On encountering an end of comment character,
5317         test whether it is escaped when `comment-end-can-be-escaped' is non-nil.
5319         * doc/lispref/syntax.texi (Control Parsing): Describe
5320         `comment-end-can-be-escaped'.
5322         * etc/NEWS (Lisp Changes): Describe `comment-end-can-be-escaped'.
5324         * lisp/progmodes/cc-langs.el: New c-lang-setvar `comment-end-can-be-escaped'.
5326 2015-12-28  Dmitry Gutov  <dgutov@yandex.ru>
5328         Rename project-library-roots to project-external-roots
5330         * lisp/progmodes/project.el (project-library-roots): Rename to
5331         project-external-roots.
5332         (project-library-roots-function): Rename to
5333         project-vc-external-roots-function.  Only use it in the VC
5334         backend, for now.  Update project-external-roots accordingly.
5335         (project-vc-library-roots): Remove.
5336         (project-or-libraries-find-regexp):
5337         Rename to project-or-external-find-regexp.
5339         * lisp/progmodes/elisp-mode.el (elisp-library-roots):
5340         Rename to elisp-load-path-roots.
5342         * lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
5343         an anonymous function for the default value of
5344         project-vc-external-roots-function.
5346 2015-12-27  Deniz Dogan  <deniz@dogan.se>
5348         Clear erc user list upon disconnection
5350         * lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
5351         lists upon disconnection.  This prevents invalid channel
5352         user lists when reconnecting (bug#10947).
5354 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5356         Don't bug out in erc after waking from sleep
5358         * lisp/erc/erc-backend.el (erc-server-send-ping): If the server has
5359         closed connection, this may already have been detected and
5360         `erc-server-last-received-time' has been set to nil (bug#13608).
5362 2015-12-27  David Edmondson  <dme@dme.org>
5364         Proxy error in erc with multiple clients
5366         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
5367         generated when multiple IRC clients talk to a single IRC proxy
5368         (bug#19034).
5370         Backport:
5372         (cherry picked from commit 507e98a54d1aa37823c64993d6b59257a82fe8f4)
5374 2015-12-27  Dima Kogan  <dima@secretsauce.net>
5376         Ensure that we don't have several timers in erc
5378         * lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
5379         for existing timers in the alist before adding new ones.  If a
5380         timer already exists, it is cancelled and
5381         overwritten. (bug#19292).
5383 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
5385         Fix mml-sec build warnings
5387         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
5388         (bug#18718).
5390         Backport:
5392         (cherry picked from commit 3603097f62f5f4aa5451716e9ac380161f6829e2)
5394 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5396         Don't insert erc logs at the end
5398         * lisp/erc/erc-log.el (erc-log-setup-logging): Insert the previous log
5399         at the start of the buffer, not at the end (bug#20496).
5401 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5403         (eww-setup-buffer): Restore left-to-right defaults
5405         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
5407         Backport:
5409         (cherry picked from commit 96c874b96b617c124d500a94de761a61f2a08685)
5411 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5413         Don't join erc channels doubly
5415         * lisp/erc/erc-join.el (erc-autojoin-channels): Don't join channels
5416         more than once (if you have several nicks) (bug#20695).
5418 2015-12-27  Eli Zaretskii  <eliz@gnu.org>
5420         Avoid leaving "ghost" of mouse pointer on MS-Windows
5422         * src/w32term.c (frame_set_mouse_pixel_position):
5423         * src/w32fns.c (Fw32_mouse_absolute_pixel_position): Momentarily
5424         disable "mouse trails" when moving the mouse pointer.  (Bug#22247)
5425         * src/w32term.c (frame_set_mouse_pixel_position): Include
5426         w32common.h.
5428 2015-12-27  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
5430         Fix auth source lookups from erc with port numbers
5432         * lisp/erc/erc.el (erc-open): `auth-source' wants strings, not port
5433         numbers (bug#20541).
5435 2015-12-27  Fran Litterio  <flitterio@gmail.com>
5437         Run erc-kill-channel-hook always on exit
5439         * lisp/erc/erc.el (erc-kill-buffer-function): Run erc-kill-channel-hook
5440         when erc-kill-queries-on-quit is set (bug#21187).
5442 2015-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5444         Spelling fix
5446         * test/automated/url-parse-tests.el:
5447         (url-generic-parse-url/same-document-reference):
5448         Rename from url-generic-parse-url/same-decument-reference.
5450 2015-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5452         Reword initial *scratch* for brevity, appearance
5454         * lisp/startup.el (initial-scratch-message):
5455         Reword to avoid apostrophes, and to make it shorter.
5456         See the thread starting in:
5457         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html
5459 2015-12-26  Leo Liu  <sdl.web@gmail.com>
5461         Add ert-deftest to lisp-mode.el
5463         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression,
5464           lisp-el-font-lock-keywords-1): Add ert-deftest.
5466 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
5468         Mark imap changes as not needing doc changes
5470         * lisp/net/imap.el (imap-ssl-open): Remove
5472 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
5474         Use built-in encryption in imap.el
5476         * lisp/net/imap.el (imap-ssl-program): Remove (bug#21134).
5477         (imap-starttls-open): Use open-network-stream instead of starttls.el.
5478         (imap-tls-open): Use open-network-stream instead of tls.el.
5480 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5482         Don't try using /bin/sh in artist.el on MS-Windows
5484         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
5485         New function.
5486         (artist-figlet-choose-font): Use it on MS-Windows and MS-DOS.
5487         (Bug#20167)
5489 2015-12-26  Wolfgang Jenkner  <wjenkner@inode.at>
5491         Always define gmalloc etc. in src/gmalloc.c
5493         This is a work-around to prevent the compiler from using semantic
5494         knowledge about malloc for optimization purposes.  E.g., gcc 5.2
5495         with -O2 replaces most of calloc's definition by a call to calloc;
5496         see Bug#22085.
5497         * src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
5498         (aligned_alloc, free): Do not undef.  Instead, define these as
5499         functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
5501 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5503         Fix documentation of browse-url browser-related functions
5505         * lisp/net/browse-url.el (browse-url)
5506         (browse-url-default-browser, browse-url-default-windows-browser)
5507         (browse-url-default-macosx-browser, browse-url-chromium)
5508         (browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS
5509         and NEW-WINDOW arguments in these functions.  (Bug#19421)
5511 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
5513         Propagate Bug#14412 fix to backtrace_eval_unrewind
5515         * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
5516         becomes accurate again. This shouldn’t affect behavior.
5517         (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.
5519 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5521         Don't produce non-ASCII characters in *scratch*
5523         * lisp/startup.el (initial-scratch-message): Quote apostrophes to
5524         avoid producing non-ASCII characters in the *scratch* buffer's
5525         commentary.
5527 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5529         Document changes in 'compare-windows'
5531         * lisp/vc/compare-w.el (compare-windows-removed)
5532         (compare-windows-added): Doc fix.
5534         * doc/emacs/files.texi (Comparing Files): Document the changes in
5535         window selection by 'compare-windows'.
5537 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5539         Document 'vc-annotate-background-mode'
5541         * doc/emacs/maintaining.texi (Old Revisions): Document
5542         'vc-annotate-background-mode'.
5544 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5546         Document 'vc-region-history'
5548         * doc/emacs/maintaining.texi (VC Change Log): Document
5549         'vc-region-history'.
5551 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5553         Improve documentation of 'vc-push'
5555         * doc/emacs/maintaining.texi (Pulling / Pushing): Expand and
5556         improve the documentation of 'vc-push'.
5558         * lisp/vc/vc.el (vc-pull, vc-push): Doc fix.
5560 2015-12-26  Alain Schneble  <a.s@realize.ch>
5562         Include the tests for the URL parsing fixes
5564 2015-12-26  Alain Schneble  <a.s@realize.ch>
5566         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
5568         * test/automated/url-parse-tests.el: Add tests covering url-generic-parse-url.
5569         * test/automated/url-expand-tests.el: Add tests covering url-expand-file-name.
5570         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
5571         information in URL-struct.
5572         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
5573         path and query into nil path and query, respectively.
5574         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
5575         empty path into an absolute ("/") path.
5576         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
5577         fragment-only URIs. Do not just return them unchanged.
5578         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
5579         reference URI should not drop the last segment.
5581         Backport:
5583         (cherry picked from commit b792ecea1715e080ad8e232d3d154b8a25d2edfb)
5585 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5587         Document 'url-user-agent'.
5589         * lisp/url/url-http.el (url-user-agent): Move from here...
5590         * lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
5591         keep all the URL defcustoms in one place, and also have it defined
5592         whenever the URL library is loaded.
5594         * doc/misc/url.texi (Customization): Document 'url-user-agent'.
5596 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5598         Document protocols supported by URL library via Tramp
5600         * doc/misc/url.texi (Tramp): New node, describes the URL schemes
5601         supported via Tramp.
5602         (Supported URL Types, file/ftp, rlogin/telnet/tn3270): Mention
5603         Tramp.
5605 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5607         Document changes in Shell-script mode
5609         * lisp/progmodes/sh-script.el (sh-mode, sh-set-shell): Document
5610         the 'sh-shell' file-local variable.
5611         (top level): Add an auto-load form to avoid byte-compiler warning
5612         about 'comint-send-string'.
5614 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5616         Fix documentation of 'ses-define-local-printer'
5618         * doc/misc/ses.texi (Printer functions): Fix whitespace between
5619         sentences and punctuation.  Add an index entry for
5620         'ses-define-local-printer'.
5622 2015-12-26  Shakthi Kannan  <shakthimaan@gmail.com>
5624         Document 'ert-summarize-tests-batch-and-exit'
5626         * doc/misc/ert.texi (Running Tests in Batch Mode): Document
5627         'ert-summarize-tests-batch-and-exit'.
5629 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
5631         Avoid assertion violation in unbind_to
5633         * src/eval.c (unbind_to) <SPECPDL_LET>: Avoid assertion violation
5634         if we get here with an object that is not a symbol.  (Bug#14412)
5636 2015-12-25  Andreas Schwab  <schwab@linux-m68k.org>
5638         Don't treat /foo/bar:mumble as ange-ftp address
5640                 * lisp/net/browse-url.el (browse-url-filename-alist): Match colons
5641                 only in the first component.  (bug#5362)
5643 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5645         Follow <meta> redirects in eww
5647         Merge conflict, but I think I resolved it.
5649             Follow meta refresh tags in eww
5651             * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
5653         Backport:
5655 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5657         Allow http://user:pass@foo/ URLs again
5659         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
5660         user/passwords in URLs (bug#19046).
5662         Backport:
5664         (cherry picked from commit b563715a2db265517d5a77f165a42afa1e233fdd)
5666 2015-12-25  Samer Masterson  <samer@samertm.com>
5668         Autoload url-insert-buffer-contents
5670         * lisp/url/url-handlers.el: Add autoload cookie so that
5671         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
5673         Backport:
5675         (cherry picked from commit 7a7b5b492ff9929eecd90c4564db6fbf3b192323)
5677 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
5679         Make sure *scratch* etc. use forward slashes in its default-directory
5681         * lisp/startup.el (normal-top-level): On MS-Windows, convert
5682         backslashes to forward slashes while decoding default-directory
5683         of the initially-created buffers.
5685 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5687         More eww file name coding fixes
5689         * eww.el (eww-decode-url-file-name): Use the base coding
5690         system to check for encodability.
5692         Backport:
5694         (cherry picked from commit a8627008abe4ab339df19b417776da28b3ce0fc7)
5696 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5698         Always save eww history
5700         * eww.el (eww-setup-buffer): Always save history, even when
5701         called from outside the eww buffer (bug#19638).
5703         Backport:
5705         (cherry picked from commit 2a0f18d9b6ce0ccce3d9c4a4a3b5743bae71b41e)
5707 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5709         Default web pages to right-to-left
5711         * eww.el (eww-mode): Most web pages are left-to-right, so make
5712         that the default (bug#19801).
5714         * shr.el (shr-tag-html): Respect "dir" attributes
5715         (left-to-right, right-to-left).
5717         Backport:
5719         (cherry picked from commit 9e089ec8a380ec3758fcf1564c5f86dc92c68c2a)
5721 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5723         Make toggling checkboxes work again
5725         * eww.el (eww-update-field): Make toggling checkboxes work
5726         again (bug#21881).
5728         Backport:
5730         (cherry picked from commit 5e56f606952e5e81b4d3a93ea70e791b74b33041)
5732 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5734         Don't store cookies with empty names
5736         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
5737         cookies with empty names (bug#21936).
5739         Backport:
5741         (cherry picked from commit 9f0fd7cb1aec3eb9e2e0f7b8854c30870286d96c)
5743 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5745         Stop rendering HTML before specdlr exhaustion
5747         Fixes: 22117
5749         * shr.el (shr-descend): Stop rendering before we run out of
5750         specpdl room (bug#22117).
5752         Backport:
5754         (cherry picked from commit 248da292fe46224b0b5a79b632c89cf4de2c2081)
5756 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5758         Use cl-reduce, not reduce.
5760         Backport:
5762         (cherry picked from commit fe4606f93b91ff3d046aee0cf21ecc277af7a786)
5764 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5766         Allow several <tbody> tags in shr
5768         * shr.el (shr-table-body): New function to find the real body
5769         of a table.
5770         (shr-tag-table): Use it to render several <tbody> tags in a
5771         table (bug#22170).
5773         Backport:
5775         (cherry picked from commit cdaf33029d6620073833876d76056045ecfbc7c4)
5777 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5779         Make prettier unique file names in eww
5781         (eww-make-unique-file-name): Make unique file names by making
5782         files like foo(2).jpg instead of foo(1)(2).jpg.
5784         Backport:
5786         (cherry picked from commit edfdd0a6cbdfa9e5e4bd0553e2b489401ca39266)
5788 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5790         Decode hex-encoded URLs before using them as file names
5792         * eww.el (eww-decode-url-file-name): New function.
5793         (eww-download-callback): Use it to decode file names before
5794         saving them.
5796         Backport:
5798         (cherry picked from commit af22a010d87516c2a646572fb27512c03057784f)
5800 2015-12-25  Ashish SHUKLA  <ashish.is@lostca.se>
5802         Add FreeBSD cert bundle
5804         * doc/misc/emacs-gnutls.texi (Help For Users): Document
5805         FreeBSD bundle.
5807         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
5809         Backport:
5811         (cherry picked from commit 60c0f1a18ad88d6dc1a8f4ee5d9d18940eaeb6f7)
5813 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5815         Ignore invalid SVG images
5817         * shr.el (shr-tag-svg): Ignore SVG images that have no width
5818         or height, because these can't be displayed by ImageMagick,
5819         anyway.
5821         Backport:
5823         (cherry picked from commit 821107d53c2e390240d25c036b99ebbf9b4a93b6)
5825 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5827         shr table rendering fix
5829         * shr.el (shr-tag-table): Allow rendering body-less tables
5830         that have headers.
5832         Backport:
5834         (cherry picked from commit b05471e42c17e02c56c87d7599ada0c124a5fe09)
5836 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
5838         Restore info about the build host in bug reports
5840         * lisp/mail/emacsbug.el (report-emacs-bug): Report the system on
5841         which Emacs was built.  This is important information for
5842         investigating bug reports reported by users who don't build their
5843         Emacs.
5845 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
5847         Fix bootstrap broken by changes related to OS X file-name encoding
5849         * lisp/international/ucs-normalize.el (eval-when-compile): Make
5850         sure char-code-property-alist includes elements that allow access
5851         to 'decomposition' and 'canonical-combining-class' Unicode
5852         properties, as compiling ucs-normalize.el requires that.
5853         * lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
5854         only of charprop.el was already loaded.
5856         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
5857         New order-only dependency.
5859 2015-12-25  Leo Liu  <sdl.web@gmail.com>
5861         * lisp/ido.el (ido-add-virtual-buffers-to-list): Use bookmark-get-filename.
5863 2015-12-25  Michael Albinus  <michael.albinus@gmx.de>
5865         Make tramp-test29-vc-registered more robust
5867         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
5868         Move `bzr' case down.  Skip test when `vc-create-repo' fails.
5869         Remove instrumentation.
5871 2015-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5873         * lisp/term/x-win.el (x-gtk-stock-map): Fix typo.
5875 2015-12-24  Katsumi Yamaoka  <yamaoka@jpl.org>
5877         Fix `gnus-union' so as to behave like `cl-union'
5879         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat):
5880         Make gnus-union use `equal' to compare items in lists.
5882         * lisp/gnus/gnus-util.el (gnus-union):
5883         Make it behave like cl-union partially.
5885 2015-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5887         Fix dired.c typo with ptrdiff_t vs Lisp_Object
5889         * src/dired.c (file_name_completion): Don't assume Lisp_Object is
5890         an integer type, fixing a problem introduced in the recent fix for
5891         Bug#22169.
5893 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
5895         Document default process sentinel more prominently
5897         * doc/lispref/processes.texi (Asynchronous Processes): Mention the
5898         defaults for process filter and sentinel.  Provide cross-references.
5899         (Process Information): Provide cross-references to where filters
5900         and sentinels are described.
5901         (Filter Functions): Add an index entry for "default filter".
5902         (Sentinels): Add a few status messages not documented previously.
5903         Resolve the "killed" confusion.  Document and describe the default
5904         sentinel.  (Bug#22220)
5906 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
5908         Fix file-name completion on OS X
5910         * src/dired.c (file_name_completion): Reject false matches due to
5911         file-name-coding-systems that decompose characters when encoding
5912         file names, by comparing decoded file names as well.  (Bug#22169)
5913         (syms_of_dired) <Qdecomposed_characters>: New DEFSYM.
5915         * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a
5916         non-nil 'decomposed-characters' property.
5918 2015-12-23  Anders Lindgren  <andlind@gmail.com>
5920         File-name completion of non-ASCII characters on OS X (bug#22169)
5922         The coding system `utf-8-nfd', locally defined in ns-win.el,
5923         didn't provide a :pre-write-conversion method, causing file name
5924         completion of non-ASCII characters to fail.  Solved by using the
5925         `utf-8-hfs' coding system provided by `ucs-normalize'.
5927         * lisp/loadup.el: Load international/ucs-normalize (when building
5928         for ns).
5930         * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for
5931         `utf-8-hfs' and removed the old implementation.  Set `utf-8-hfs'
5932         as the file name coding system.
5934         * src/nsfns.m (ns-convert-utf8-nfd-to-nfc): Removed.
5936 2015-12-23  Tom Tromey  <tom@tromey.com>
5938         Fix bug #18588 by making bug-reference-bug-regexp more lenient
5940         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Accept
5941         "bug NNNN".  (Bug #18588)
5943 2015-12-23  Tom Tromey  <tom@tromey.com>
5945         add some cl-* aliases to lisp-mode imenu
5947         * (lisp-imenu-generic-expression): Add cl-define-compiler-macro,
5948         cl-defgeneric, and cl-defmethod.
5950 2015-12-22  Tom Tromey  <tom@tromey.com>
5952         Make a variable buffer-local
5954         * lisp/generic-x.el (generic-rul-mode-setup-function): Make
5955         font-lock-syntax-table buffer-local.  (Bug #21627)
5957 2015-12-22  Eli Zaretskii  <eliz@gnu.org>
5959         Fix decoding of text in URLs retrieved by EWW
5961         * lisp/net/eww.el (eww-render): Pass 'charset' to
5962         'eww-display-raw'.  Use the value of 'last-coding-system-used', if
5963         non-nil, to set 'buffer-file-coding-system' of the buffer where we
5964         show the URL.
5965         (eww-display-html, eww-display-raw): Decode the text correctly,
5966         using the charset found in the headers, and defaulting to UTF-8.
5967         If the user told us to use a specific encoding, override the
5968         charset from the headers.  (Bug#22222)
5970 2015-12-22  Alan Mackenzie  <acm@muc.de>
5972         Fix a coding error in c-forward-<>-arglist-recur.  Fixes bug#22156
5974         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Remove unused
5975         variable `tmp'.
5976         After a failed search for a matching ">", restore point before continuing.
5978 2015-12-22  Michael Albinus  <michael.albinus@gmx.de>
5980         Instrument Tramp tests
5982         * test/automated/tramp-tests.el (tramp-test29-vc-registered)
5983         (tramp--test-utf8): Instrument tests.
5985 2015-12-22  Martin Rudalics  <rudalics@gmx.at>
5987         Fix `display-buffer' call in `display-message-or-buffer' (Bug#22221)
5989         * lisp/simple.el (display-message-or-buffer): Call
5990         `display-buffer' with ACTION instead of NOT-THIS-WINDOW
5991         (Bug#22221).
5993 2015-12-22  Juri Linkov  <juri@linkov.net>
5995         * lisp/saveplace.el (toggle-save-place, save-place-to-alist)
5997         (save-places-to-alist, save-place-dired-hook):
5998         Check for dired-subdir-alist.  (Bug#19851)
6000 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
6002         Add FIXME comment re stack overflow and modules
6004 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
6006         Revert some recent emacs-module commentary
6008         Most of the recently-added commentary was incorrect, due to the
6009         possibility of stack overflow.
6011 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
6013         Spelling fix: prefer "cooperate" to "co-operate"
6015 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
6017         Port undo fixes to -fno-common
6019         Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'.
6020         * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo)
6021         (buffer_before_last_command_or_undo):
6022         Declare in keyboard.h, and define in keyboard.c,
6023         instead of assuming the traditional Unix relaxed ref-def linkage.
6025 2015-12-20  Philipp Stephani  <phst@google.com>
6027         Improve commentary for emacs-module.c
6029         * src/lisp.h: Document emacs-module.c assumptions about EQ and NILP.
6030         * src/emacs-module.c (module_non_local_exit_get): Document that we
6031         cannot use the current implementation.
6032         (module_is_not_nil, module_eq): Document assumptions about EQ and
6033         NILP.
6035 2015-12-20  Michael Albinus  <michael.albinus@gmx.de>
6037         Suppress test on Mac OS X
6039         * test/automated/tramp-tests.el (tramp--test-darwin-p): New defun.
6040         (tramp--test-utf8): Use it.
6042 2015-12-20  Alan Mackenzie  <acm@muc.de>
6044         Merge branch 'scratch/follow' into emacs-25
6046         This allows Isearch, etc., to work well when Follow Mode is active.
6048 2015-12-19  Michael Albinus  <michael.albinus@gmx.de>
6050         * lisp/net/tramp-sh.el (tramp-get-ls-command-with-w-option): Improve check.
6052 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6054         Fix last commit
6056         * doc/emacs/rmail.texi (Rmail Deletion): Document new behavior of 'u'
6057         with numeric argument.
6059 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6061         Document new features of Rmail
6063         * doc/emacs/rmail.texi (Rmail Summary Edit, Rmail Deletion):
6064         Document new behavior of 'd' and 'C-d' with numeric argument.
6065         (Rmail Display): Document the rendering of HTML MIME parts.
6067 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6069         Improve documentation of new cl-lib functions
6071         * doc/misc/cl.texi (Predicates on Numbers, Numerical Functions):
6072         Fix wording.
6074 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6076         Document the new feature of 'minibuffer-with-setup-hook'
6078         * lisp/files.el (minibuffer-with-setup-hook): Clarify how FUN is
6079         added to `minibuffer-setup-hook'.
6081 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6083         Document new features of Font Lock
6085         * doc/lispref/modes.texi (Other Font Lock Variables): Document
6086         'font-lock-flush-function' and 'font-lock-ensure-function'.
6087         (Font Lock Basics): Document the basic fontification functions
6088         referenced in "Other Font Lock Variables".
6090         * lisp/font-lock.el (font-lock-flush, font-lock-ensure): Doc fix.
6092 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6094         Document new features of Rectangle mode
6096         * doc/emacs/killing.texi (Rectangles): Document "C-x C-x" in
6097         rectangle-mark-mode.
6099 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6101         Manual followup to last change
6103         * doc/lispref/display.texi (Displaying Messages): Sync with the
6104         doc string.  (Bug#22210)
6106 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6108         Clarify doc string of 'display-message-or-buffer'
6110         * lisp/simple.el (display-message-or-buffer): Doc fix.  Suggested
6111         by Sebastian Wiesner <swiesner@lunaryorn.com>.  (Bug#22210)
6113 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6115         * doc/emacs/emacs.texi (Top): Update top-level menus.
6117         * doc/lispref/elisp.texi (Top): Update top-level menus.
6119 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6121         Document how to avoid file-local variables that aren't
6123         * doc/emacs/custom.texi (Specifying File Variables): Describe how
6124         to prevent Emacs from interpreting unrelated text as file-local
6125         variables.  (Bug#22166)
6127 2015-12-19  Dave Thomas  <dave@pragprog.org>  (tiny change)
6129         Fix a typo in eterm-color's termcap entry
6131         * lisp/term.el (term-termcap-format): Fix a typo in the "ue="
6132         entry.  (Bug#22184)
6134 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
6136         Allow 'browse-url-emacs' visit non-existent URLs
6138         * lisp/url/url-handlers.el (url-insert-file-contents): Don't
6139         signal an error if VISIT is non-nil, to more faithfully emulate
6140         the behavior of 'insert-file-contents'.  (Bug#22160)
6142 2015-12-19  Paul Eggert  <eggert@cs.ucla.edu>
6144         Remove SunOS 4.x cruft
6146         Support for SunOS 4.x was removed in Emacs 23 but some cruft was left behind.
6147         * lib-src/pop.c [sun]: Remove no-longer-needed include.
6148         * lwlib/xlwmenu.c (SUNSO41): Remove.
6150 2015-12-19  Paul Eggert  <eggert@cs.ucla.edu>
6152         Merge from gnulib
6154         This mostly commentary fixes.
6155         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
6156         * lib/gnulib.mk: Regenerate with new gnulib-tool.
6158 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
6160         Minor fixes in Tramp
6162         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
6163         Reorder ls arguments.
6165         * lisp/net/tramp.el (tramp-dissect-file-name): Fix docstring.
6167 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
6169         Make tramp a built-in package
6171         * lisp/finder.el (finder-compile-keywords): Update
6172         `package--builtins' also when Version: keyword is available.
6174         * lisp/net/trampver.el: Add Version: keyword.
6175         (tramp-version): Change it to "2.2.13.25.1", in order to be
6176         compatible with `version-to-list'.
6178 2015-12-18  Lele Gaifax  <lele@metapensiero.it>
6180         * etc/tutorials/TUTORIAL.it: Update and fix typos.
6182 2015-12-18  Alan Mackenzie  <acm@muc.de>
6184         Rename `recenter-group' to `recenter-window-group'
6186         * doc/lispref/windows.texi (Textual Scrolling)
6187         * lisp/window.el (top level, recenter-group)
6188         * lisp/follow.el (follow-mode)
6189         * lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
6190         `recenter-window-group' and `recenter-group-function' to
6191         `recenter-window-group-function'.
6193 2015-12-18  Eli Zaretskii  <eliz@gnu.org>
6195         Fix vertical-motion in tabulated-list mode
6197         * src/indent.c (Fvertical_motion): When moving from line beginning
6198         to point under line truncation, assume overshoot by one line only
6199         if point actually lies beyond the window's right margin.
6200         (Bug#22194)
6202 2015-12-18  Martin Rudalics  <rudalics@gmx.at>
6204         Don't have help functions call x-display-pixel-width/-height on ttys
6206         * lisp/help.el (temp-buffer-max-height, temp-buffer-max-width):
6207         Don't call x-display-pixel-width/-height on ttys.
6209 2015-12-18  Dmitry Gutov  <dgutov@yandex.ru>
6211         Use 'hg id' in vc-hg-previous-revision
6213         * lisp/vc/vc-hg.el (vc-hg-previous-revision):
6214         Use 'hg id' to retrieve it (bug#22032).
6216 2015-12-17  Alan Mackenzie  <acm@muc.de>
6218         * lisp/follow.el (follow-sit-for): Remove (it's redundant).
6220 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
6222         Fix a typo in the Emacs manual
6224         * doc/emacs/trouble.texi (Sending Patches): Fix a typo.  Reported
6225         by Lele Gaifax <lele@metapensiero.it>.  (Bug#22193)
6227 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
6229         Fix parsing netrc entries with ports
6231         * lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't
6232         make a list out of 't'.  (Bug#22188)
6234         * test/automated/auth-source-tests.el
6235         (auth-source-test-netrc-parse-entry): New test.
6237 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
6239         Fix typo in Doug Lea malloc configure log
6241         * configure.ac (emacs_cv_var_doug_lea_malloc):
6242         Fix typo that confused the log output of 'configure'.
6244 2015-12-16  Nicolas Petton  <nicolas@petton.fr>
6246         * etc/NEWS: Mention the new pcase patterns `seq' and `map'.
6248 2015-12-16  Alan Mackenzie  <acm@muc.de>
6250         * etc/NEWS: Move entry on pcase to correct section
6252         (Accidentally omitted from previous commit)
6254 2015-12-16  Alan Mackenzie  <acm@muc.de>
6256         Add documentation for changes to Show Paren mode.
6258         * lisp/paren.el (show-paren-highlight-openparen): Enhance doc string.
6260         * doc/emacs/programs.texi (Matching): Add descriptions of some pertinent user
6261         options, including the new show-paren-when-point-inside-paren and
6262         show-paren-when-point-in-periphery.
6264         * etc/NEWS (.. Specialized Modes ...): Add an entry for Show Paren mode.
6265         Move an entry on pcase to the Lisp Changes section.
6267 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
6269         Document Eldoc changes
6271         * doc/emacs/programs.texi (Lisp Doc): Document Global Eldoc mode.
6273 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
6275         Fix invocation of Python and Guile interpreters from gdb-mi
6277         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
6278         commands for interactive Python and Guile interpreters.
6279         (gdb-send): Recognize various ways of exiting from Python and
6280         Guile interpreters and returning to GDB.  For details, see
6281         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00693.html
6282         and http://stackoverflow.com/questions/31514741.
6284 2015-12-16  Paul Eggert  <eggert@cs.ucla.edu>
6286         Remove attempt to use C11 threads
6288         C11 threads are not needed for Emacs now, and their use is causing
6289         hassles on FreeBSD 10.x.  Problem reported by Ashish SHUKLA in:
6290         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html
6291         * configure.ac: Do not check for C11 threads. Remove unnecessary
6292         fiddling with CPPFLAGS when configuring pthreads.
6293         * src/emacs-module.c (main_thread, check_main_thread)
6294         (module_init): Do not worry about C11 threads.
6296 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
6298         Set utf8 encoding with stty in Tramp
6300         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6301         Move up uname check.  Handle Mac OS X eol encoding.  Set utf8
6302         encoding with stty.
6304 2015-12-15  Alan Mackenzie  <acm@muc.de>
6306         Tidy up documentation associated with window groups.
6308         * doc/lispref/windows.texi (Basic Windows): Add an @anchor for "Window
6309         Groups".  Correct example function to `window-group-start'.
6310         (Window Start and End, Textual scrolling): Point to the new anchor.  State
6311         that (most of) the args in window group functions have the same meaning as for
6312         the corresponding window primitives.
6314         * doc/lispref/positions.texi (Screen Lines).  Same as above.
6316 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
6318         Complete last commit
6320         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6321         Move uname check up.  Handle Mac OS X eol encoding.
6323 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
6325         Handle Mac OS X eol encoding in Tramp
6327         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6328         Handle Mac OS X eol encoding.
6330 2015-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6332         Fix variable name typo in compute_tip_xy
6334         * src/w32fns.c (compute_tip_xy):
6335         * src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y
6336         when `right' is integer.
6338 2015-12-14  foudfou  <foudil.newbie+git@gmail.com>
6340         * lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region.
6342 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
6344         Revert "Fix rx matcher overflow without limiting"
6346         This reverts commit fe27e037663d36be3e5741c2ce86ab4ee8017db1.
6348 2015-12-14  Alan Mackenzie  <acm@muc.de>
6350         Ispell: Bind isearch-regexp-function to nil around call to isearch..-new-loop
6352         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): bind
6353         isearch-regexp-function to nil around call to isearch-lazy-highligh-new-loop.
6355 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
6357         Fix rx matcher overflow without limiting
6359         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve last
6360         change to the regexp without imposing a limit on the length of the
6361         options.
6363 2015-12-14  Alan Mackenzie  <acm@muc.de>
6365         Enhance ispell-skip-region-alist by generating part of it at runtime.
6367         * lisp/textmodes/ispell.el (ispell--\\w-filter, ispell--make-\\w-expression)
6368         (ispell--make-filename-or-URL-re): New functions which generate a regexp.
6369         (ispell-skip-region-alist): Remove the bit that matches a filename/URL, etc.
6370         (ispell-begin-skip-region-regexp, ispell-skip-region-list, ispell-message):
6371         Include the result of ispell--make-filename-or-URL-re in regexps.
6373 2015-12-14  Glenn Morris  <rgm@gnu.org>
6375         * build-aux/gitlog-to-emacslog: Ignore more pointless merge commits.
6377 2015-12-14  Alan Mackenzie  <acm@muc.de>
6379         Replace GROUP argument in six window primitives by new functions.
6381         * doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
6382         * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
6383         from description of six window functions.  Add in description of new functions
6384         window-group-start, window-group-end, set-window-group-start,
6385         pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
6386         together with the six variables indirecting to the pertinent group
6387         functions.
6389         * src/window.c
6390         * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
6391         applies to these two files, which added the GROUP argument to six window
6392         primitives.
6394         * lisp/follow.el (follow-mode): Use updated variable names for the indirected
6395         functions.
6397         * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
6398         (isearch-back-into-window, isearch-lazy-highlight-new-loop)
6399         (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
6400         to window primitives (e.g. window-start) with a GROUP argument by calls to
6401         new functions (e.g. window-group-start).
6403         * lisp/ispell.el (ispell-command-loop): Replace call to
6404         pos-visible-in-window-p with pos-visible-in-window-group-p.
6406         * lisp/window.el (window-group-start, window-group-end)
6407         (set-window-group-start, recenter-group, pos-visible-in-window-group-p)
6408         (selected-window-group, move-to-window-group-line): New functions.
6409         (window-group-start-function, window-group-end-function)
6410         (set-window-group-start-function, recenter-group-function)
6411         (pos-visible-in-window-group-p-function, selected-window-group-function)
6412         (move-to-window-group-line-function): New variables.
6414 2015-12-14  Vitorio Miguel  <vdrbandeiras@gmail.com>  (tiny change)
6416         * etc/tutorials/TUTORIAL.pt_BR: Fix a typo.  (Bug#22165)
6418 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
6420         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
6422 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
6424         Improve regex to not trigger stack overflow
6426         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve regex in
6427         order not to trigger a stack overflow in regex matcher with unbalanced
6428         brackets (bug#22146).
6430 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
6432         Fix visiting files with raw-text
6434         * src/fileio.c (Finsert_file_contents): Fix setting buffer unibyte
6435         when some stuff was actually read.  (Bug#22162)
6437 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
6439         Fix regex matching keyval labels
6441         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Fix regexp
6442         matching keyval labels.
6444 2015-12-13  Michael Albinus  <michael.albinus@gmx.de>
6446         * lisp/ido.el (ido-file-name-all-completions-1): Do not raise an error
6448         ... in case of Tramp.  (Bug#20821)
6450 2015-12-13  Paul Eggert  <eggert@cs.ucla.edu>
6452         Fix performance regression with gcc -O0
6454         This fixes the smaller performance hit that I noted in:
6455         https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00357.html
6456         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, macro_XPNTR):
6457         * src/puresize.h (puresize_h_PURE_P)
6458         (puresize_h_CHECK_IMPURE):
6459         New macros, with the old contents of the functions.
6460         * src/alloc.c (XPNTR_OR_SYMBOL_OFFSET, XPNTR):
6461         * src/puresize.h (PURE_P, CHECK_IMPURE):
6462         Use the new macros.  Also macros, if DEFINE_KEY_OPS_AS_MACROS.
6463         * src/conf_post.h (ATTRIBUTE_UNUSED):
6464         * src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): New macros.
6466 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6468         * lisp/emacs-lisp/package.el (package-unpack): Security check
6470         Check that we received the package we were offered.
6472 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6474         * lisp/emacs-lisp/package.el (package--compile): Don't activate
6476         `package-unpack' takes care of all activations now (other than
6477         `package-initialize).  `package--compile' now only compiles.
6479 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6481         Document the new bindings of <UP> and <DOWN> in the minibuffer
6483         * doc/emacs/mini.texi (Minibuffer History): Describe the new
6484         bindings of <UP> and <DOWN> in the minibuffer.
6486 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6488         Document new features of Ido
6490         * doc/misc/ido.texi (Misc): Document 'C-S-b'.
6492 2015-12-12  Martin Rudalics  <rudalics@gmx.at>
6494         Fix frame height calculations with added menu bar on Windows (Bug#22105)
6496         * doc/lispref/frames.texi (Parameter Access): Mention pitfalls
6497         when simultaneously specifying multiple parameters for
6498         `modify-frame-parameters' that all may change the frame's size.
6499         * src/w32fns.c (x_set_menu_bar_lines): Don't set
6500         windows_or_buffers_changed here.
6501         (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect
6502         with third argument false.
6503         * src/w32menu.c (set_frame_menubar): Set
6504         windows_or_buffers_changed here.
6505         * src/w32term.c (x_set_window_size): Determine third argument of
6506         AdjustWindowRect from whether the frame has a menu bar and not
6507         from whether it wants one.
6509 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6511         Document the change in interactive shell mode
6513         * doc/emacs/misc.texi (Interactive Shell): Document that the
6514         '*shell*' buffer by default displays in a new window.
6516 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6518         Document new features of package.el
6520         * doc/emacs/package.texi (Package Menu): Document the 'external'
6521         status and the new menu commands.
6522         (Package Installation): Document archive priorities.
6524         * lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
6525         (package-menu-hide-low-priority): Doc fix.
6527 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6529         Update and document new features of xterm support
6531         * doc/emacs/frames.texi (Text-Only Mouse): Document that
6532         track-mouse is supported by newer xterm versions.
6534 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6536         Document new features of Prettify Mode
6538         * doc/emacs/programs.texi (Misc for Programs): Document
6539         'prettify-symbols-compose-predicate' and
6540         'prettify-symbols-unprettify-at-point'.
6542         * lisp/progmodes/prog-mode.el (prettify-symbols-alist)
6543         (prettify-symbols-default-compose-p)
6544         (prettify-symbols-compose-predicate)
6545         (prettify-symbols--compose-symbol): Doc fixes.
6547 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6549         Document multi-mode indentation facilities
6551         * doc/lispref/text.texi (Mode-Specific Indent): Document
6552         'prog-indentation-context', 'prog-first-column', and 'prog-widen'.
6554         * lisp/progmodes/prog-mode.el (prog-indentation-context)
6555         (prog-widen): Doc fixes.
6557 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6559         Document 'vc-refresh-state'
6561         * doc/emacs/maintaining.texi (Version Control): Document
6562         'vc-refresh-state'.
6564         * lisp/vc/vc-hooks.el (vc-refresh-state): Doc fix.
6566 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
6568         Fix echo for "C-u"
6570         * src/keyboard.c (command_loop_1): Undo last change.  It caused
6571         duplicate echo of C-u.  (Bug#22107)
6573 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6575         Avoid errors when creating files under SVN in new directory
6577         * lisp/vc/vc-svn.el (vc-svn-registered): Use
6578         file-accessible-directory-p, to avoid cd'ing to a non-existing
6579         directory, which signals an error on some systems.  (Bug#21984)
6580         (vc-svn-checkin): Call log-edit-extract-headers with 2 arguments.
6581         Use declare-function to avoid byte-compiler warnings.
6583 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6585         Improve Lua support in etags
6587         * lib-src/etags.c (Lua_functions): Skip spaces before looking for
6588         "function".
6590         * etc/NEWS: Mention improved Lua support by 'etags'.
6592         * test/etags/lua-src/test.lua (test): Add tests for indented
6593         function definitions.
6594         * test/etags/ETAGS.good_1:
6595         * test/etags/ETAGS.good_2:
6596         * test/etags/ETAGS.good_3:
6597         * test/etags/ETAGS.good_4:
6598         * test/etags/ETAGS.good_5:
6599         * test/etags/ETAGS.good_6:
6600         * test/etags/CTAGS.good: Adapt to the modified Lua tests.
6602 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6604         Fix 'this-command-keys' wrt prefix argument
6606         * src/keyboard.c (command_loop_1): Restore the feature whereby C-u
6607         was part of this-command-keys, but not of this-single-command-keys.
6608         (Bug#22107)
6610         * lisp/simple.el (internal-echo-keystrokes-prefix): Add
6611         commentary about the function's return value.
6613 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6615         * lisp/files.el (load-library): Doc fix.  (Bug#22140)
6617 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6619         Improve and document Ruby support in 'etags'
6621         * lib-src/etags.c (Ruby_suffixes): Add ".ruby".
6622         (Ruby_functions): Support "module" and overloaded operators.
6623         (Ruby_help): Mention "module".
6625         * test/etags/ruby-src/test.rb:
6626         * test/etags/ruby-src/test1.ru: New files.
6627         * test/etags/Makefile (RBSRC): New tests.
6628         (SRCS): Add ${RBSRC}.
6629         * test/etags/ETAGS.good_1:
6630         * test/etags/ETAGS.good_2:
6631         * test/etags/ETAGS.good_3:
6632         * test/etags/ETAGS.good_4:
6633         * test/etags/ETAGS.good_5:
6634         * test/etags/ETAGS.good_6:
6635         * test/etags/CTAGS.good: Adapt to the new Ruby tests.
6637         * doc/man/etags.1: Mention Ruby support.
6638         * etc/NEWS: Mention Ruby support.
6640 2015-12-11  Xi Lu  <lx@shellcodes.org>
6642         Initial support for Ruby in 'etags'
6644         * lib-src/etags.c <Ruby_suffixes>: New variable.
6645         (lang_names): Add an entry for Ruby.
6646         (Ruby_functions): New function.  (Bug#22116)
6648 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6650         Clarify documentation of 'modify-frame-parameters'
6652         * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
6653         PARMs" mean for 'modify-frame-parameters'.
6655         * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
6656         PARMs" mean for this function.  (Bug#22104)
6658 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6660         Fix setting buffer unibyte when reading from a device
6662         * src/fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
6663         to make a (possibly non-empty) buffer unibyte.  (Bug#22096)
6665 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
6667         Clarify documentation of 'values'
6669         * doc/lispref/eval.texi (Eval): Clarify that 'values' are not
6670         updated by any evaluation commands in 'lisp-interaction-mode'.
6671         (Bug#22056)
6673 2015-12-11  Anders Lindgren  <andlind@gmail.com>
6675         Fixed subversion vc error when opening file in new directory (bug#21984).
6677         * lisp/vc/vc-svn.el (vc-svn-registered): Check if directory exists.
6679 2015-12-09  Eli Zaretskii  <eliz@gnu.org>
6681         Yet another fix for when point ends up in invisible text
6683         * src/xdisp.c (redisplay_window): When someone forced
6684         window-start, and honoring that failed to show the cursor, try
6685         moving out of invisible text, before falling back to the middle of
6686         the window.  (Bug#22098)
6688 2015-12-09  Michael Albinus  <michael.albinus@gmx.de>
6690         Fix error in Tramp perl script for cygwin
6692         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not raise an
6693         error if file doesn't exist.
6695 2015-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6697         Remove font workaround for limited outdated versions
6699         * src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove
6700         workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1.
6702 2015-12-09  Anders Lindgren  <andlind@gmail.com>
6704         Don't add "." to load path (bug#21104)
6706         When configured with --enable-locallisppath=no, which is the
6707         default for OS X, the load-path incorrectly was populated with ".".
6709         * src/lread.c (init_lread): Don't call `decode_env_path' when
6710         PATH_SITELOADSEARCH is empty.
6712 2015-12-08  Artur Malabarba  <bruce.connor.am@gmail.com>
6714         * lisp/emacs-lisp/package.el (package--with-response-buffer):
6716         Search for the blank-line in the right buffer.
6718 2015-12-08  Glenn Morris  <rgm@gnu.org>
6720         * test/automated/simple-test.el (undo-auto-boundary-timer): Update
6721         for recent change.
6723 2015-12-08  Glenn Morris  <rgm@gnu.org>
6725         Fix some display-warning usage.
6727         * lisp/files.el (hack-local-variables, hack-dir-local-variables):
6728         * lisp/calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
6729         * lisp/calendar/holidays.el (calendar-holiday-list):
6730         * lisp/mail/rmailout.el (rmail-output-read-file-name):
6731         Fix display-warning usage.
6733 2015-12-08  Glenn Morris  <rgm@gnu.org>
6735         * lisp/calendar/cal-html.el: Require diary-lib.
6737         (cal-html-list-diary-entries): Handle no diary.  (Bug#21994)
6739 2015-12-08  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6741         Add Obsolete-since header to eudcb-ph.el
6743         * lisp/obsolete/eudcb-ph.el: Add Obsolete-since header.
6745 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
6747         Spelling fixes
6749         * doc/misc/calc.texi (Predefined Units): Use the bland modern
6750         scientific style for spelling the units “ampere” and
6751         “angstrom” rather than the older style “Ampere” and
6752         “Ångstrom”.  The latter spelling was wrong anyway (it should
6753         have been “Ångström”).
6754         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
6755         Fix misspelling of ‘atom’ in code.
6757 2015-12-07  Eli Zaretskii  <eliz@gnu.org>
6759         Improve documentation of kill commands
6761         * lisp/simple.el (region-extract-function, delete-backward-char)
6762         (delete-forward-char, kill-region, copy-region-as-kill)
6763         (kill-ring-save): Better document the optional argument REGION in
6764         the doc strings.  Mention in the doc strings that text put in the
6765         kill-ring can be filtered by 'filter-buffer-substring'.
6767         * doc/lispref/text.texi (Kill Functions): Mention that functions
6768         described in this subsection can filter text they put in the
6769         kill-ring.  Add a cross-reference to "Buffer Contents" and an
6770         index entry.  Document the optional argument 'region' and its
6771         effect.
6772         (Bug#21315)
6774 2015-12-07  Alan Mackenzie  <acm@muc.de>
6776         Further progress making Isearch, Ispell, Replace work with Follow Mode.
6778         * lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which
6779         no longer exists.  Add follow-post-command-hook to  three special purpose
6780         hooks at setup, and remove them at tear down.
6782         * lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before
6783         isearch-lazy-highlight-new-loop.
6784         (isearch-lazy-highlight-new-loop): Restore this function to what it previously
6785         was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into
6786         it.
6787         (isearch-lazy-highlight-maybe-new-loop): function removed.
6789         * lisp/replace.el: (replace-update-post-hook): New hook variable.
6790         (perform-replace): Add second (nil) argument to looking-back.  Invoke
6791         replace-update-post-hook before calling replace-highlight.
6793         * lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable.
6794         (ispell-command-loop): invoke ispell-update-post-hook.  Add GROUP argument to
6795         call of pos-visible-in-window-p.
6796         (ispell-display-buffer): Place *Choices* window at the top of the last window
6797         in a window group.
6799 2015-12-07  Alan Mackenzie  <acm@muc.de>
6801         Amend doc of `mapconcat': it can take sequences, not merely strings.
6803         * doc/lispref/functions.texi (Mapping Functions): Amend the doc of `mapconcat'
6804         to say that SEPARATOR and the results from FUNCTION may be any character
6805         sequences, not just strings.  Add an @xref to "Sequences Arrays Vectors".
6807 2015-12-07  Michael Albinus  <michael.albinus@gmx.de>
6809         Fix an utf8 problem for Tramp on BSD
6811         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6812         Make lax check for utf8.
6813         (tramp-get-remote-locale): Add "en_US.UTF-8" as candidate.
6815 2015-12-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6817         Make eudcb-ph.el obsolete
6819         * doc/misc/eudc.texi: Bump version to 1.40.0.
6820         Remove PH/QI sections and mentions.
6821         * lisp/obsolete/eudcb-ph.el: Make obsolete.
6822         * lisp/net/eudc-vars.el (eudc-known-protocols): Remove ph.
6823         (eudc-ph-bbdb-conversion-alist): Make obsolete.
6824         * etc/NEWS: Mention this.  (Bug#21191)
6826 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
6828         Remove overenthusiastic eassert
6830         * src/lisp.h (XSYMBOL): Remove eassert incorrectly added in
6831         previous change.  It breaks on MS-Windows --with-wide-int.
6832         Problem reported by Eli Zaretskii in:
6833         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00275.html
6835 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6837         Pacify gcc -Wparentheses
6839         * src/xdisp.c (row_containing_pos): Reparenthesize.
6841 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6843         Port mod-test to 32-bit Emacs --without-wide-int
6845         * modules/mod-test/test.el (mod-test-sum-test):
6846         Bring back the 2**29 tests, but port them to 32-bit Emacs
6847         --without-wide-int.
6849 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
6851         Fix minor Tramp problems found on BSD
6853         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
6854         trailing slash.  Quote apostrophes.
6855         (tramp-sh-handle-file-truename): Do not append trailing slash in
6856         the "ls" case.
6857         (tramp-get-ls-command-with-w-option): New defun.
6858         (tramp-do-file-attributes-with-ls)
6859         (tramp-do-directory-files-and-attributes-with-stat): Use it.
6861         * test/automated/tramp-tests.el
6862         (tramp-test31-special-characters-with-perl)
6863         (tramp-test31-special-characters-with-ls)
6864         (tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
6865         Suppress also readlink.
6867 2015-12-06  Eli Zaretskii  <eliz@gnu.org>
6869         Fix cursor display when invisible text is at line beginning
6871         * src/xdisp.c (redisplay_window): When scrolling fails to show
6872         point, prefer using the desired matrix if possible for finding the
6873         fallback glyph row for displaying the cursor.  (Bug#22098)
6874         (row_containing_pos): Exit the loop as soon as we hit the first
6875         disabled glyph row.  Otherwise we risk accessing garbled data and
6876         departing to the no-no land.
6878 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6880         Improve module interface when WIDE_EMACS_INT
6882         * src/emacs-module.c (plain_values): New constant.
6883         (module_nil): Now a constant.
6884         (Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits)
6885         (syms_of_module): Use if, not #ifdef, so that both sides are
6886         checked at compile-time, and so that GCC doesn’t complain
6887         about an unused var in the typical case.  Also, depend on
6888         plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume
6889         that WIDE_EMACS_INT implies !USE_LSB_TAG.
6890         (value_to_lisp_bits, lisp_to_value_bits): New functions.
6891         Sign-extend integers rather than zero-extending them, as small
6892         negative integers are more likely.
6893         (value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits
6894         functions.
6895         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined.
6896         (mark_modules): Remove.  All uses removed.
6897         (lisp_to_value): Don’t assume Fcons returns a pointer aligned
6898         to GCALIGNMENT.
6899         (syms_of_module): Check that module_nil converts to Qnil.
6900         * src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since
6901         we prefer signed to unsigned when either will do.
6902         (TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is
6903         a bit better for emacs-module.c.
6905 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
6907         Port mod-test to x86-64 GNU/Linux running 32-bit
6909         * modules/mod-test/test.el (mod-test-sum-test):
6910         Don’t attempt to match descriptions to operating systems.
6911         It didn’t work on Fedora x86-64 running a 32-bit executable,
6912         and it’s not worth the trouble anyway.
6913         Port to 32-bit platforms by removing an assumption about
6914         fixnum widths.
6916 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
6918         Fix auto-revert-tests.el when filenotify isn't used
6920         * test/automated/auto-revert-tests.el (auto-revert--wait-for-revert):
6921         Make it working also when filenotify isn't used.
6923 2015-12-06  Juri Linkov  <juri@linkov.net>
6925         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
6927         Let-bind isearch-regexp-function to nil.  (Bug#22097)
6929 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
6931         * lisp/emacs-lisp/package.el: Don't install bad signatures (bug#22089)
6933         (package--with-response-buffer): NOERROR and ERROR-FORM only
6934         handle connection errors.
6935         (bad-signature): New error type.
6936         (package--check-signature-content): Use it.
6937         (package--check-signature): Properly distinguish connection errors
6938         from bad-signature errors.  Do the check for
6939         `package-check-signature' `allow-unsigned' here instead of forcing
6940         the callbacks to do it.  Add a new argument, UNWIND.
6941         (package--download-one-archive, package-install-from-archive):
6942         Update usage of `package--check-signature'.
6944 2015-12-05  Ulf Jasper  <ulf.jasper@web.de>
6946         Fix Bug#22092.
6948         * lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
6949           Clean up inconsistent line endings. (Bug#22092)
6950           (icalendar--clean-up-line-endings): New.
6951         * test/automated/icalendar-tests.el (icalendar-real-world): Add test
6952           for Bug#22092.
6954 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6956         Document 'bookmark-set-no-overwrite'
6958         * doc/emacs/regs.texi (Bookmarks): Document the new command
6959         'bookmark-set-no-overwrite' and its keybinding.
6961 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6963         Document new binding of 'mouse-buffer-menu'
6965         * doc/emacs/buffers.texi (Buffer Menus): 'mouse-buffer-menu' is
6966         now also on C-F10.
6968 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6970         Initial documentation of dynamic modules
6972         * doc/lispref/loading.texi (Dynamic Modules): New section with
6973         initial documentation for dynamic modules.
6974         * doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the
6975         detailed menu
6977         * etc/NEWS: Fix typos in dynamic modules' entry.
6979 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
6981         Remove copyright statements from trivial test files
6983 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
6985         Add "Preliminaries" section to etc/DEBUG
6987         * etc/DEBUG: Add the "Preliminaries" section for GDB beginners.
6988         Most of the content was suggested by Phillip Lord
6989         <phillip.lord@russet.org.uk>.  Remove the section about debugging
6990         with the Visual Studio, as building Emacs with the Microsoft
6991         compilers is no longer supported.  Minor fixes in some other
6992         sections.
6994 2015-12-05  Alex Dunn  <dunn.alex@gmail.com>  (tiny change)
6996         Improve parsing of version strings
6998         * lisp/subr.el (version-regexp-alist): Allow "." as priority separator
6999         (version-to-list): More helpful error messages.
7000         (version-to-list): ".5" is valid (update docstring).  Make
7001         "22.8X3" invalid, as the doc string says.
7003         * test/automated/subr-tests.el (ert-test-version-parsing): New
7004         tests for version string processing.
7006 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
7008         Fix documentation of 'undo' changes
7010         * doc/lispref/text.texi (Undo): Minor wording changes.  Use US
7011         English conventions for spelling and whitespace between sentences.
7013         * etc/NEWS: Fix wording and spelling of undo-related entries.
7014         Mark them as documented.
7016 2015-12-05  Glenn Morris  <rgm@gnu.org>
7018         * lisp/net/net-utils.el: Small improvements.
7020         (net-utils--executable-find-sbin): New function.
7021         (ifconfig-program): Check sbin directories.
7022         Fallback to "ip".  (Bug#22091)
7023         (ifconfig-program-options): Check the actual program in use.
7024         (arp-program): Check sbin directories.
7026 2015-12-04  (tiny change) Arash Esbati  <esbati@gmx.de>  (tiny change)
7028         Fix wrong-type-argument integer-or-marker-p nil error
7030         * lisp/textmodes/reftex-auc.el (reftex-what-index-tag):
7031         Fix (wrong-type-argument integer-or-marker-p nil) error (bug#22077).
7033 2015-12-04  Alan Mackenzie  <acm@muc.de>
7035         Merge branch 'scratch/follow' of /home/acm/emacs/emacs.git/emacs-25 into scratch/follow
7037         Merge necessitated by a rebase operation.
7039 2015-12-04  Alan Mackenzie  <acm@muc.de>
7041         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
7043 2015-12-04  Alan Mackenzie  <acm@muc.de>
7045         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
7047         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
7048         Windows" and new @defun selected-window-group.
7049         (Window Start and End): Describe new &optional parameter GROUP and
7050         ...-group-function for window-start, window-end, set-window-start, and
7051         pos-visible-in-window-p.
7052         (Textual Scrolling) Describe the same for recenter.
7053         doc/lispref/positions.texi (Screen Lines): Describe the same for
7054         move-to-window-line.
7056         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
7057         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
7058         new optional parameter "group".  At the beginning of each, check whether the
7059         corresponding ...-group-function is set to a function, and if so execute this
7060         function in place of the normal processing.
7061         (syms_of_window): Define symbols for the six new variables below.
7062         (window-start-group-function, window-end-group-function)
7063         (set-window-start-group-function, recenter-group-function)
7064         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
7065         New permanent local buffer local variables.
7066         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
7067         Fpos_visible_in_window_p.
7069         lisp/window.el (selected-window-group-function): New permanent local buffer
7070         local variable.
7071         (selected-window-group): New function.
7073         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
7074         enable, kill them at mode disable.  Add/remove follow-after-change to/from
7075         after-change-functions.
7076         (follow-start-end-invalid): New variable.
7077         (follow-redisplay): Manipulate follow-start-end-invalid.
7078         (follow-after-change, follow-window-start, follow-window-end)
7079         (follow-set-window-start, follow-pos-visible-in-window-p)
7080         (follow-move-to-window-line, follow-sit-for): New functions.
7082         lisp/isearch.el (isearch-call-message): New macro.
7083         (isearch-update, with-isearch-suspended, isearch-del-char)
7084         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
7085         (with-isearch-suspended): Rearrange code such that isearch-call-message is
7086         invoked before point is moved.
7087         (isearch-message): Add comment about where point must be at function call.
7088         (isearch-search): Remove call to isearch-message.
7089         (isearch-lazy-highlight-window-group): New variable.
7090         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
7091         the battery of tests to ...
7092         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
7093         Note: (sit-for 0) is still called.
7094         (isearch-lazy-highlight-update): Check membership of
7095         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
7096         property.
7097         (isearch-update, isearch-done, isearch-string-out-of-window)
7098         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
7099         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
7100         (isearch-lazy-highlight-update): Call the six amended primitives (see
7101         src/window.c above) with the new `group' argument set to t, to cooperate
7102         with Follow Mode.
7104 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
7106         * lisp/emacs-lisp/ert.el: Prefer pcase over cl-typecase
7108         * lisp/emacs-lisp/ert.el (ert--should-error-handle-error)
7109         (ert--explain-format-atom, ert--explain-equal-rec)
7110         (ert--print-backtrace, ert-test-result-type-p, ert-select-tests)
7111         (ert--insert-human-readable-selector): Prefer pcase over cl-typecase.
7113 2015-12-04  Artur Malabarba  <bruce.connor.am@gmail.com>
7115         * lisp/character-fold.el: Remove special case-folding support
7117         (character-fold-to-regexp): Remove special code for
7118         case-folding.  Char-fold search still respects the
7119         `case-fold-search' variable (i.e., f matches F).  This only
7120         removes the code that was added to ensure that f also matched
7121         all chars that F matched.  For instance, after this commit, f
7122         no longer matches 𝔽.
7124         This was necessary because the logic created a regexp with
7125         2^(length of the string) redundant paths.  So, when a very
7126         long string "almost" matched, Emacs took a very long time to
7127         figure out that it didn't.  This became particularly relevant
7128         because isearch's lazy-highlight does a search bounded by (1-
7129         match-end) (which, in most circumstances, is a search that
7130         almost matches).  A recipe for this can be found in bug#22090.
7132 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
7134         * lisp/emacs-lisp/cl-macs.el (character): Can't be negative
7136         Fixes (bug#21701)
7138 2015-12-04  Daiki Ueno  <ueno@gnu.org>
7140         lisp/gnus/qp.el: Don't replace "from " at bol
7142         * lisp/gnus/qp.el (quoted-printable-encode-region): Bind `case-fold-search'
7143         to nil when looking for "^From ".  Problem reported by Simon Josefsson.
7145 2015-12-03  Phillip Lord  <phillip.lord@russet.org.uk>
7147         Externalize some symbols in undo-auto
7149          * doc/lispref/text.texi: Update symbols.
7150          * lisp/simple.el (undo-auto--amalgamate,
7151            undo-auto--current-boundary-timer): Make symbols public.
7152          * src/cmds.c (Fself_insert_command,Fdelete_char): Call
7153            updated symbol.
7155 2015-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
7157         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix BOB "token"
7159 2015-12-03  Michael Albinus  <michael.albinus@gmx.de>
7161         Some error message improvements in tramp-sh.el
7163         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
7164         Suppress error messages for "mesg" and "biff" calls.
7165         (tramp-get-remote-path): Ignore errors when expanding
7166         `tramp-own-remote-path'.  Raise a warning instead.
7168 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
7170         Document 'nacl' value for 'system-type'
7172         * doc/lispref/os.texi (System Environment): Document the 'nacl'
7173         value of 'system-type'.
7175 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
7177         Document 'window-max-chars-per-line'
7179         * doc/lispref/windows.texi (Window Sizes): Document
7180         'window-max-chars-per-line'.
7182 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
7184         Fix some file headers for the purpose of `package--builtins'
7186         * lisp/emacs-lisp/cl-preloaded.el
7187         * lisp/emacs-lisp/eieio-compat.el
7188         * lisp/net/sasl-scram-rfc.el: Add a "Package:" header
7190         * lisp/ielm.el: Fix summary line.
7192 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
7194         * lisp/emacs-lisp/package.el (package-unpack): Load before compiling
7196         Reload any previously loaded package files before compiling
7197         the package (also reload the same files after compiling).
7198         This ensures that we have the most recent definitions during
7199         compilation, and avoids generating bad elc files when a macro
7200         changes and it is used in a different file from the one it's
7201         defined in.
7203 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
7205         * lisp/emacs-lisp/package.el: Refactor package activation code
7207         (package-activate): Move code that activates dependencies into
7208         package-activate-1.
7209         (package--load-files-for-activation): New function.
7210         (package-activate-1): Add code for (optionally) activating
7211         dependencies, and move file-loading code into
7212         `package--load-files-for-activation'.
7214 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
7216         Document new font-related functionality
7218         * doc/lispref/display.texi (Low-Level Font): Document
7219         'default-font-width', 'default-font-height', 'window-font-width',
7220         and 'window-font-height'.
7222         * etc/NEWS: Move entries for 'default-font-width',
7223         'default-font-height', 'window-font-width', and 'window-font-height'
7224         to their place and mark them documented.
7226 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
7228         Fix documentation and implementation of 'directory-name-p'
7230         * lisp/files.el (directory-name-p): Modify to recognize
7231         backslashes on MS-Windows and MS-DOS.  Adjust the doc string
7232         accordingly.  Use '=', not char-equal, for comparison, as
7233         letter-case cannot possibly be an issue here.
7235         * doc/lispref/files.texi (Directory Names): Move the documentation
7236         of directory-name-p here from "Relative File Names".  Update the
7237         description per the changes in implementation.
7239         * etc/NEWS: Move the entry for 'directory-name-p' to its proper
7240         place and mark it documented.
7242 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
7244         Minor copyedit in Emacs manual
7246         * doc/emacs/search.texi (Lax Search): Make wording about character
7247         folding by default less definitive.  (Bug#22043)
7249 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
7251         More emacs-module.c fixes for wide ints
7253         * src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
7254         unsigned data types to manipulate pointers, to avoid sign
7255         extension coming after us with a vengeance.
7257         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
7258         Emacs with wide ints that verify integer values near the critical
7259         value that requires us to switch to a cons cell.
7261 2015-12-02  Stephen Leake  <stephen_leake@stephe-leake.org>
7263         Fix bug#22069 in cl-generic.el
7265         * lisp/emacs-lisp/cl-generic.el (cl-no-method): Remove %S; this string is
7266         not run thru `format'.
7268 2015-12-02  Dmitry Gutov  <dgutov@yandex.ru>
7270         APPEND etags--xref-backend to xref-backend-functions
7272         * lisp/progmodes/xref.el (xref-backend-functions):
7273         Use APPEND when adding the default element
7274         (http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00061.html).
7276 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
7278         More accurate documentation of lax whitespace matching
7280         * lisp/isearch.el (isearch-forward-word, isearch-forward-symbol)
7281         (word-search-backward, word-search-forward)
7282         (word-search-backward-lax, word-search-forward-lax): Mention in
7283         doc strings that toggling lax whitespace matching has no effect on
7284         these commands.
7286         * doc/emacs/search.texi (Word Search, Symbol Search): Clarify that
7287         lax whitespace matching has no effect on these commands.
7289 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
7291         Fix emacs-module.c for wide ints
7293         * src/emacs-module.c (lisp_to_value): Compare the produced value
7294         with the original Lisp object, not with the one potentially
7295         converted into a Lisp_Cons.  Fixes assertion violations when
7296         working with integers larger than fit into a 32-bit value.
7298         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
7299         large integers, to test --with-wide-int.
7301 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
7303         Document 'directory-files-recursively'
7305         * lisp/files.el (directory-files-recursively): Doc fix.  Rename
7306         the argument MATCH to REGEXP, to be more explicit about its form.
7308         * doc/lispref/files.texi (Contents of Directories): Improve the
7309         documentation of 'directory-files-recursively'.  Add
7310         cross-references.
7312         * etc/NEWS: Move the entry for 'directory-files-recursively' to
7313         its place and mark it documented.
7315 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
7317         Document 'inhibit-read-only' property
7319         * doc/lispref/text.texi (Special Properties): Describe the new
7320         'inhibit-read-only' text property.  Add cross-reference to where
7321         read-only buffers are described.
7322         * doc/lispref/buffers.texi (Read Only Buffers): Mention that
7323         'inhibit-read-only' property exempts text from being read-only.
7324         Add cross-reference to "Special Properties".
7326         * etc/NEWS: Move the entry about 'inhibit-read-only' property to
7327         its place and mark it documented.
7329 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
7331         * lisp/emacs-lisp/package.el: Update header comments
7333 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
7335         * lisp/character-fold.el: Add back multi-char matching
7337         (character-fold-to-regexp): Uncomment recently commented code
7338         and make the algorithm "dummer" by not checking every possible
7339         combination.  This will miss some possible matches, but it
7340         greatly reduces regexp size.
7342         * test/automated/character-fold-tests.el
7343         (character-fold--test-fold-to-regexp): Comment out test of
7344         functionality no longer supported.
7346 2015-12-01  Xue Fuqiao  <xfq.free@gmail.com>
7348         * doc/emacs/ack.texi (Acknowledgments): Update.
7350 2015-12-01  Michael Albinus  <michael.albinus@gmx.de>
7352         Check `file-remote-p' over absolute files names in files.el
7354         * lisp/files.el (directory-files-recursively)
7355         (get-free-disk-space): Check `file-remote-p' over absolute files names.
7357 2015-12-01  Andreas Schwab  <schwab@linux-m68k.org>
7359                 * src/lread.c (syms_of_lread): Doc fix.
7361 2015-12-01  Dmitry Gutov  <dgutov@yandex.ru>
7363         Don't mistake certain JS method calls for keywords
7365         * lisp/progmodes/js.el (js--ctrl-statement-indentation):
7366         Braceless keyword can't come after a period (bug#22063).
7368 2015-12-01  David Reitter  <david.reitter@gmail.com>
7370         Read frame_title_format from buffer-local variable for NS port
7372         * src/nsfns.m (x_implicitly_set_name): Read frame-title-format and
7373         icon-title-format variables from buffer in appropriate window.
7374         (Bug#22048)
7376 2015-12-01  Juri Linkov  <juri@linkov.net>
7378         * lisp/replace.el (occur-engine): Count matches in empty lines.
7380         (Bug#22062)
7382 2015-11-30  Aurélien Aptel  <aurelien.aptel@gmail.com>
7384         * src/emacs-module.h: Fix finalizer typedef for C++11
7386         C++11 standard doesn't allow exception-specification in typedef.
7387         The workaround is to declare a dummy function prototype and use
7388         decltype on it.
7390 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
7392         Fix last change
7394         * src/emacs-module.c (lisp_to_value, value_to_lisp)
7395         [WIDE_EMACS_INT]: Avoid compiler warnings.
7397 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
7399         Rely on conservative stack scanning to find "emacs_value"s
7401         * src/emacs-module.c (struct emacs_value_tag)
7402         (struct emacs_value_frame, struct emacs_value_storage): Remove.
7403         (value_frame_size): Remove constant.
7404         (struct emacs_env_private): Use Lisp_Object for non_local_exit info.
7405         (lisp_to_value): Remove first arg.
7406         (module_nil): New constant.
7407         Use it instead of NULL when returning an emacs_value.
7408         (module_make_function): Adjust to new calling convention of
7409         Qinternal_module_call.
7410         (DEFUN): Receive args in an array rather than a list.
7411         Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
7412         we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
7413         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
7414         Adjust to new type of non_local_exit info.
7415         (ltv_mark) [WIDE_EMACS_INT]: New constant.
7416         (value_to_lisp, lisp_to_value): Rewrite.
7417         (initialize_frame, initialize_storage, finalize_storage): Remove functions.
7418         (allocate_emacs_value): Remove function.
7419         (mark_modules): Gut it.
7420         (initialize_environment): Don't initialize storage any more.
7421         Keep the actual env object on Vmodule_environments.
7422         (finalize_environment): Don't finalize storage any more.
7423         (syms_of_module): Initialize ltv_mark and module_nil.
7425         * src/emacs-module.h (emacs_value): Make it more clear that this type
7426         is really opaque, including the fact that NULL may not be valid.
7428         * modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
7429         Don't assume that NULL is a valid emacs_value.
7431 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
7433         Yet another doc improvement for search commands
7435         * doc/emacs/search.texi (Word Search, Symbol Search)
7436         (Regexp Search): Document commands that don't support lax
7437         whitespace matching or character folding.
7438         (Nonincremental Search): Mention the search commands that can be
7439         invoked from the menu bar.
7441         * lisp/isearch.el (isearch-define-mode-toggle-word)
7442         (isearch-define-mode-toggle-symbol)
7443         (isearch-define-mode-toggle-character-fold): Note in the doc
7444         string that turning these on exits the regexp mode.
7445         (isearch-forward-regexp, isearch-forward-word)
7446         (isearch-forward-symbol, isearch-backward-regexp)
7447         (word-search-backward, word-search-forward)
7448         (word-search-backward-lax, word-search-forward-lax): State in the
7449         doc string which commands don't support character folding and/or
7450         lax-whitespace matching.
7452 2015-11-30  Martin Rudalics  <rudalics@gmx.at>
7454         Run `window-size-change-functions' also when reading from minibuffer
7456         * src/xdisp.c (redisplay_internal): Run `window-size-change-functions'
7457         also when reading from minibuffer.
7459 2015-11-30  Ulf Jasper  <ulf.jasper@web.de>
7461         Fix scrambling of html-rendered item buffers
7463         * lisp/net/newst-treeview.el (newsticker--treeview-render-text): Fix
7464           scrambling of contents by wrapping call to html-renderer in
7465           save-selected-window.
7467 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
7469         Fix font typo in previous doc fix.
7471 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
7473         A bit more security doc, esp. file local vars
7475         * doc/emacs/emacs.texi (Top):
7476         * doc/emacs/misc.texi (Miscellaneous Commands):
7477         Refer to new Host Security section.
7478         (Host Security): New section.
7479         * doc/lispref/os.texi (Security Considerations):
7480         Mention file local variables.
7482 2015-11-30  Artur Malabarba  <bruce.connor.am@gmail.com>
7484         * lisp/character-fold.el: Comment out branching code
7486         (character-fold-to-regexp): Comment out code that uses multi-char
7487         table.  The branching caused by this induces absurdly long regexps,
7488         up to 10k chars for as little as 25 input characters.
7490 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
7492         Spelling and grammar fixes
7494 2015-11-30  Dmitry Gutov  <dgutov@yandex.ru>
7496         Make lisp-completion-at-point a wrapper instead of an alias
7498         * lisp/progmodes/elisp-mode.el (lisp-completion-at-point):
7499         Turn into an obsolete wrapper around elisp-completion-at-point
7500         (bug#20455).
7502 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7504         * lisp/isearch.el (isearch-search-fun-default): Nicer error
7506         message when the search fails.
7508 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
7510         Update menu-bar-goto-uses-etags-p for the current xref API
7512         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult
7513         xref-backend-functions, instead of now-nonexistent
7514         xref-find-function.
7516 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7518         * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding
7520 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7522         * lisp/menu-bar.el: Use folding in searches
7524         (nonincremental-search-forward): Use `isearch-search-fun-default'
7525         to determine the search function.
7526         (nonincremental-search-backward)
7527         (nonincremental-repeat-search-forward)
7528         (nonincremental-repeat-search-backward): Use it.
7530 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7532         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning
7534 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7536         * lisp/character-fold.el (character-fold-to-regexp): Be careful
7538         not to return huge regexps.
7540 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
7542         Improve documentation of string-collate-* functions
7544         * doc/lispref/strings.texi (Text Comparison): Improve wording and
7545         indexing of 'string-collate-equalp' and 'string-collate-lessp'.
7547         * etc/NEWS: Move the entry of 'string-collate-equalp' and
7548         'string-collate-lessp' to "Lisp Changes" section and mark it as
7549         documented.
7551 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
7553         Document truncate-string-ellipsis
7555         * doc/lispref/display.texi (Size of Displayed Text): Document
7556         'truncate-string-ellipsis'.
7558         * lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix.
7559         (truncate-string-to-width): Mention in the doc string that the
7560         default for ELLIPSIS comes from 'truncate-string-ellipsis'.
7562         * etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp
7563         Changes" section.
7565 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
7567         Fix confusion wrt character folding in the Emacs manual
7569         * doc/emacs/search.texi (Nonincremental Search, Regexp Search):
7570         Document that invoking search-forward/backward and
7571         re-search-forward/backward supports only case folding, but not the
7572         rest of the lax-search features.  Reported by Mike Kupfer
7573         <m.kupfer@acm.org>.
7575 2015-11-29  Ken Brown  <kbrown@cornell.edu>
7577         Update mod-test-sum-test
7579         * modules/mod-test/test.el (mod-test-sum-test): Update to
7580         accommodate the lack of dladdr on Cygwin.
7582 2015-11-29  Alan Mackenzie  <acm@muc.de>
7584         Byte compiler: Catch missing argument to `funcall'.  Fixes bug#22051.
7586         * lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
7587         to `funcall', (i) Output an error message; (ii) Generate code to signal a
7588         `wrong-number-of-arguments' error.
7590 2015-11-29  Martin Rudalics  <rudalics@gmx.at>
7592         * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil.
7594 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7596         * lisp/character-fold.el (character-fold-to-regexp)
7598         Warn about using long strings.
7600         * test/automated/character-fold-tests.el
7601         (character-fold--test-lax-whitespace)
7602         (character-fold--test-consistency): Reduce string size for tests.
7604 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7606         Document renaming of x-select-enable-* variables
7608         * doc/emacs/killing.texi (Clipboard): Rename
7609         x-select-enable-clipboard to select-enable-clipboard and
7610         x-select-enable-primary to select-enable-primary.  Update index
7611         entries.
7613         * etc/NEWS: Mark entry as documented.
7615 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7617         Document the shorthand hints displayed by M-x
7619         * doc/emacs/m-x.texi (M-x): Document the numeric meaning of
7620         suggest-key-bindings.  Document the shorthand hints for commands
7621         that have no key bindings.  Document that M-x completion ignores
7622         obsolete commands.
7624         * etc/NEWS: Move the M-x entry to "Editing Changes" and mark it as
7625         documented.
7627 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7629         Update docs of character folding
7631         * doc/emacs/search.texi (Lax Search): Update the description of
7632         character folding for the latest changes.
7634 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7636         * lisp/character-fold.el: Also play nice with case-folding
7638         (character-fold-to-regexp): Take `case-fold-search' into account.
7640 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7642         * lisp/character-fold.el: Add support for multi-char matches
7644         (character-fold-table): Now has an extra-slot. This is a second
7645         char-table that holds multi-character matches.  See docstring for
7646         details.
7647         (character-fold-to-regexp): Can build branching regexps when a
7648         character's entry the extra slot of `character-fold-table' matches the
7649         characters that succeed it.
7651 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7653         * lisp/character-fold.el: Code simplifications
7655         (character-fold-table): Reduce the scope of a variable.
7656         (character-fold-to-regexp): Change logic to work directly on the
7657         input string.  It's a little easier to understand, probably
7658         faster, and sets us up for implementing multi-char matches.
7660         * test/automated/character-fold-tests.el
7661         (character-fold--test-fold-to-regexp): New test.
7663 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7665         Document changes in "C-h l"
7667         * doc/emacs/help.texi (Misc Help): Document the changes in "C-h l".
7669         * etc/NEWS: mark "C-h l" changes as documented.
7671 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7673         Finalize documentation of 'custom-prompt-customize-unsaved-options'
7675         * doc/emacs/custom.texi (Saving Customizations): Index the new
7676         function 'custom-prompt-customize-unsaved-options'.
7678         * etc/NEWS: Mention when 'custom-prompt-customize-unsaved-options'
7679         is useful.
7681 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7683         Document 'comment-line'
7685         * doc/emacs/programs.texi (Comment Commands): Document
7686         'comment-line'.
7688         * etc/NEWS: Move the entry for 'comment-line' into "Editing Changes".
7690 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7692         Document new checkdoc features
7694         * doc/lispref/tips.texi (Tips, Library Headers): Document the
7695         keyword-checking features of checkdoc and the commands
7696         'checkdoc-file' and 'checkdoc-current-buffer'.
7698         * etc/NEWS: Move the checkdoc-related entries to their own
7699         section.
7701 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
7703         Simplify the prologue of emacs-module.c functions
7705         * src/emacs-module.c (MODULE_FUNCTION_BEGIN): New macro.
7706         (module_make_global_ref)
7707         (module_free_global_ref, module_make_function, module_funcall)
7708         (module_intern, module_type_of, module_extract_integer)
7709         (module_make_integer, module_extract_float, module_make_float)
7710         (module_copy_string_contents, module_make_string)
7711         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
7712         (module_get_user_finalizer, module_set_user_finalizer)
7713         (module_vec_set, module_vec_get, module_vec_size): Use new helper
7714         macro MODULE_FUNCTION_BEGIN.
7716 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7718         Don't reject module calls with no arguments
7720         * src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil.
7722 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
7724         Make module-call be visible from Lisp
7726         * src/emacs-module.c (module_make_function): Use internal--module-call.
7727         (Finternal_module_call): Renamed from Fmodule_call.  Add safety
7728         checks.
7729         (syms_of_module): DEFSYM save-value-p and save-pointer-p.  Do
7730         defsubr internal--module-call.
7732 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7734         Add etags tests for the recent Lua-related bugfix
7736         * test/etags/lua-src/test.lua: New file, tests the issues raised
7737         by bug#21934.
7738         * test/etags/Makefile (LUASRC): Add test.lua.
7739         * test/etags/ETAGS.good_1:
7740         * test/etags/ETAGS.good_2:
7741         * test/etags/ETAGS.good_3:
7742         * test/etags/ETAGS.good_4:
7743         * test/etags/ETAGS.good_5:
7744         * test/etags/ETAGS.good_6:
7745         * test/etags/CTAGS.good: Adapt to the new Lua test.  Also, an old
7746         regression fix, resolved around 25 May 2015, required changes to
7747         the "good" ETAGS files.
7749 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7751         Fix Lua tags when a function name includes '.' or ':'
7753         * lib-src/etags.c (Lua_functions): Add a tag for the last element
7754         of a function name after a dot or a colon.  (Bug#21934)
7756 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
7758         Improve documentation of search and replace commands
7760         * doc/emacs/search.texi (Replacement and Lax Matches): Document
7761         which commands are affected by 'replace-character-fold'.
7762         (Lax Search): Add a cross reference to "Replacement and Lax
7763         Matches".  Improve wording.  Fix lost extra whitespace.
7764         (Search Customizations): Improve wording.  (Bug#22036)
7765         See also comments in
7766         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.
7768         * lisp/replace.el (query-replace, query-replace-regexp)
7769         (query-replace-regexp-eval, replace-string, replace-regexp):
7770         Mention 'replace-character-fold' in the doc strings.
7772 2015-11-28  Paul Eggert  <eggert@cs.ucla.edu>
7774         Fix minor problems found by static checking
7776         * src/undo.c (prepare_record): Add proper prototype for C.
7778 2015-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7780         * src/emacs-module.c (struct env_storage): Delete
7782         (struct emacs_runtime_private): Keep an emacs_env instead.
7783         (Fmodule_load, Fmodule_call): Declare emacs_env_private separately.
7784         (initialize_environment): Split the arg in two.  Adjust all callers.
7785         Only store the private part in Vmodule_environments.
7786         (finalize_environment): Change the arg to only be the private env.
7787         Adjust all callers.
7789 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7791         Improve documentation of 'replace-character-fold'
7793         * lisp/replace.el (replace-character-fold): Clarify which commands
7794         are affected by this variable.
7796 2015-11-27  Mark Oteiza  <mvoteiza@udel.edu>
7798         Backport: Add interactive seek command.
7800         * lisp/mpc.el (mpc-cmd-seekcur): New function.
7801         (mpc-seek-current): New command.
7802         (mpc-mode-menu): Add entry for mpc-seek-current
7803         (mpc-mode-map): Bind mpc-seek-current to "g"
7805 2015-11-27  Dmitry Gutov  <dgutov@yandex.ru>
7807         Autoload etags when using its xref backend
7809         * lisp/progmodes/xref.el (xref--etags-backend):
7810         Rename to etags--xref-backend.  Move to etags.el.  Autoload.
7811         (Bug#22026)
7813 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7815         * lisp/character-fold.el: Allow complex chars to match their decomposition
7817         (character-fold-table): When a character's decomposition does not
7818         involve a formatting tag (i.e., if it has an "exact" description via
7819         other characters), then this character is allowed to match the
7820         decomposition.
7822 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7824         * lisp/character-fold.el: More descriptive variable names
7826         (character-fold-table): Rename a lot of the lexical variables to
7827         make the code easier to read.
7829 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7831         * lisp/isearch.el: Ensure we still support `isearch-new-word'
7833         (isearch-new-regexp-function): Define variable.
7834         (isearch-new-word): Define as an obsolete alias. (Bug#22018)
7836 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7838         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
7840 2015-11-27  Lee Bochicchio  <lboc.home@gmail.com>
7842         * test/automated/abbrev-tests.el: Define more tests
7844         (abbrev-table-name-test, kill-all-abbrevs-test)
7845         (clear-abbrev-table-test): New tests.
7847 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7849         Add module tests for wrong-type-argument
7851         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
7852         wrong-type-argument.
7854 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7856         Improve handling of signals and 'throw' in modules
7858         * src/emacs-module.c: Add commentary explaining how to write
7859         functions in this file.
7860         (module_make_global_ref, module_free_global_ref)
7861         (module_non_local_exit_signal, module_non_local_exit_throw)
7862         (module_make_function, module_funcall, module_intern)
7863         (module_type_of, module_is_not_nil, module_eq)
7864         (module_extract_integer, module_make_integer)
7865         (module_extract_float, module_make_float)
7866         (module_copy_string_contents, module_make_string)
7867         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
7868         (module_get_user_finalizer, module_set_user_finalizer)
7869         (module_vec_set, module_vec_get, module_vec_size)
7870         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
7871         Do nothing and return with failure indication immediately, if some
7872         previous module call signaled an error or wants to throw.  See
7873         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html
7874         for the relevant discussions.
7876 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7878         Add ':version' tag to 'checkdoc-package-keywords-flag'
7880         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
7881         Add a ':version' tag.
7883 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7885         Improve documentation of 'eval-buffer' and 'eval-region'
7887         * src/lread.c (Feval_buffer, Feval_region): Doc fixes.  (Bug#22023)
7889         * doc/lispref/eval.texi (Eval): Mention narrowing to clarify
7890         "accessible portion of buffer".
7892 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7894         Unbreak the Cygwin w32 build
7896         * src/emacs.c (main): Call w32_init_main_thread in the Cygwin w32
7897         build as well.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
7899 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
7901         Improve commentary in character-fold.el
7903         * lisp/character-fold.el (character-fold-to-regexp): Move detailed
7904         description from commit log message to comments.  (Bug#22019)
7906 2015-11-26  Alan Mackenzie  <acm@muc.de>
7908         Byte Compiler: generate code to adjust stack count after call to `signal'.
7910         Corrects change from earlier today.
7912         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
7913         `byte-compile--for-effect' as argument to `byte-compile-form'.
7915 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
7917         Improve commentary of prepare_to_modify_buffer_1
7919         * src/insdel.c (prepare_to_modify_buffer_1): Mention in commentary
7920         that this function runs Lisp.  Suggested by Richard Stallman
7921         <rms@gnu.org>.
7923 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
7925         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
7927 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
7929         Fix regression after merge.
7931          * src/undo.c (prepare_record): Remove call to run_undoable_change.
7933 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
7935         After delete, record point location in undo.
7937         Addresses Bug #21968.
7939                 * lisp/simple.el (undo-auto--add-boundary): Clean up code to
7940                 better support intercalating calls.
7941                 * src/keyboard.c, src/keyboard.h (command_loop_1): Store value of
7942                 point and current buffer before each command.
7943                 * src/undo.c (record_point): Now only record the point.
7944                 * src/undo.c (prepare_record): Functionality removed form
7945                 record_point.
7946                 * src/undo.c (record_delete): Check if point needs recording.
7947                 * src/undo.c (undo-boundary): Record value of point before each
7948                 boundary.
7949                 * test/automated/simple-test.el: New tests.
7951         Conflicts:
7952                 src/undo.c
7954 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
7956         Fix compiler warnings in w32.c
7958         * src/w32.c (sys_socket): In case of error, use -1 as return
7959         value, not INVALID_SOCKET, which causes compiler warnings.
7960         (maybe_load_unicows_dll): Cast the return value of GetProcAddress
7961         to the appropriate function signature, to avoid compiler errors.
7962         Reported by Andy Moreton <andrewjmoreton@gmail.com>.  (Bug#21953)
7964 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
7966         Check if the file exists on disk before producing the revert diff
7968         * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file
7969         exists on disk (bug#20558).
7971 2015-11-26  Alan Mackenzie  <acm@muc.de>
7973         Byte compiler: on setq with an odd number of arguments, generate a `signal'
7975         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
7976         it has an odd number of arguments, to allow bytecomp to handle the error.
7978         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
7979         odd number of arguments, generate a `signal' instead of the normal code.
7981 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
7983         Use find-tag-default for xref-backend-identifier-at-point
7985         * lisp/progmodes/etags.el (find-tag-tag)
7986         (tags-completion-at-point-function): Extract common code as
7987         find-tag--default.
7988         (xref-backend-identifier-at-point): Define in terms of the new
7989         function.
7991 2015-11-26  Paul Eggert  <eggert@cs.ucla.edu>
7993         * src/undo.c (record_property_change): Remove now-unused local.
7995 2015-11-25  Phillip Lord  <phillip.lord@russet.org.uk>
7997         run_undoable_changes now called from insdel.
7999         The original calls from inside undo.c are not always at a safe position
8000         to call lisp, as they originate in varied positions within insdel.c.
8001         Calling them directly from prepare_to_modify_buffer_1 ensures that they
8002         are always run at the same point.
8004          * src/undo.c (run_undoable_changes,syms_of_undo): Remove function
8005          and symbol used.
8006          * src/insdel.c (run_undoable_changes): Add function and symbol.
8008 2015-11-25  Eli Zaretskii  <eliz@gnu.org>
8010         Improve and update documentation of search commands
8012         * doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
8013         all references changed.  Move the description of lax-whitespace
8014         here.  Add description of the new character folding features and
8015         additional customizable options.
8016         (Isearch Yank): Move before "Error in Search".
8017         (Basic Isearch): Improve wording.  Add index entries.  Add short
8018         description of how to abandon search, making this subsection a
8019         complete introduction to search basics.
8020         (Repeat Isearch): Add index entries.  Describe additional
8021         customizable options.  Describe mouse clicks.
8022         (Isearch Yank): Add index entries.  Describe mouse-2 click in echo
8023         area.  Describe more customizable options.
8024         (Error in Isearch): Add index entries.
8025         (Special Isearch): Move actual description of some isearch
8026         commands to other sections, leaving here just the summary of the
8027         commands.  Add command that toggles character folding.  Describe
8028         commands, like "C-h C-h", that were previously omitted for some
8029         reason.
8030         (Not Exiting Isearch): Describe search-exit-option.  Add index
8031         entries.
8032         (Word Search): Describe eww-search-word and eww-search-prefix.
8033         (Symbol Search): Add index entries.
8034         (Regexp Search): Describe regexp-search-ring-max.
8035         (Replacement and Lax Matches): Renamed from "Replacement and
8036         Case"; all references changed.  Describe lax-whitespace matching
8037         in replace commands and related options.  Describe character
8038         folding in replace commands and related options.
8039         (Query Replace): Describe query-replace-from-to-separator and the
8040         new history features.  Add index entries for highlighted text.
8041         Describe query-replace-skip-read-only.  Describe more keys
8042         accepted by query-replace.
8043         (Other Repeating Search): More index entries for Occur.  Describe
8044         list-matching-lines-default-context-lines.
8045         (Search Customizations): New section, documents customizable
8046         options that were not documented until now.
8047         * doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
8048         "Character Folding".
8050         * etc/NEWS: Move search- and replace-related entries to a single
8051         parent section.
8053         * lisp/replace.el (query-replace-show-replacement): Doc fix.
8054         * lisp/isearch.el (search-nonincremental-instead)
8055         (isearch-hide-immediately): Doc fixes.
8057 2015-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
8059         Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
8061         * lisp/gnus/nnml.el (nnml-retrieve-groups): Remove.  See:
8062         <http://thread.gmane.org/gmane.emacs.gnus.general/86308> and
8063         <http://thread.gmane.org/gmane.emacs.gnus.general/86321>
8065 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
8067         Fix module_format_fun_env when dynlib_addr fails
8069         * src/emacs-module.c (module_format_fun_env):
8070         exprintf doesn’t support %p, so use %x.  Reported by Eli Zaretskii in:
8071         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html
8073 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
8075         Disambiguate variable help a bit better
8077         * lisp/help-fns.el (describe-variable): Quote the
8078         variable’s value if it is a symbol other than t or nil.
8079         See: T.V Raman in:
8080         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
8082 2015-11-25  Dmitry Gutov  <dgutov@yandex.ru>
8084         Pass SVN commit message through log-edit-extract-headers
8086         * lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through
8087         log-edit-extract-headers (bug#18954).
8089 2015-11-24  Alan Mackenzie  <acm@muc.de>
8091         CC Mode: Eliminate compiler warning messages.
8093         * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
8094         `font-lock-syntactic-keywords' (which CC Mode doesn't use).
8095         * lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
8096         (c-awk-set-syntax-table-properties): Clarify comments about
8097         `font-lock-syntactic-keywords'.
8099         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
8100         of this before the real (interpreted) one, to satisfy the byte compiler.
8102 2015-11-24  Simen Heggestøyl  <simenheg@gmail.com>
8104         Extend the test suite for json.el
8106         * lisp/json.el (json-plist-p): Clarify docstring.
8108         * test/automated/json-tests.el (json-tests--with-temp-buffer): New
8109         macro.
8110         (test-json-join, test-json-alist-p)
8111         (test-json-plist-p, test-json-advance, test-json-peek)
8112         (test-json-pop, test-json-skip-whitespace)
8113         (test-json-read-keyword, test-json-encode-keyword)
8114         (test-json-read-number, test-json-encode-number)
8115         (test-json-read-escaped-char, test-json-read-string)
8116         (test-json-encode-string, test-json-encode-key)
8117         (test-json-new-object, test-json-add-to-object)
8118         (test-json-read-object, test-json-encode-list)
8119         (test-json-read-array, test-json-encode-array)
8120         (test-json-read, test-json-read-from-string)
8121         (test-json-encode): New tests.
8122         (json-read-simple-alist): Merged into `test-json-read-object'.
8123         (json-encode-string-with-special-chars): Merged into
8124         `test-json-encode-string'.
8125         (json-read-string-with-special-chars): Split into
8126         `test-json-encode-string' and `test-json-read-from-string'.
8128 2015-11-24  Anders Lindgren  <andlind@gmail.com>
8130         Fixed bug#18283: Enable applescript in NextStep.
8132         * nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES.
8134 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
8136         Allow completion on dynamic module files in load-library
8138         * lisp/files.el (load-library): Bind completion-ignored-extensions
8139         to nil, to allow completion on dynamic modules typed as file
8140         names.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
8142 2015-11-24  Alan Mackenzie  <acm@muc.de>
8144         CC Mode: eliminate almost all byte compilation warnings
8146         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
8147         (cc-require): Remove the crude hack that saved and restored
8148         byte-compile-noruntime-functions.
8149         (cc-conditional-require, cc-conditional-require-after-load): New macros.
8151         * lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
8152         cc-fix.el using the new macros in cc-bytecomp.el.
8154         * lisp/progmodes/cc-langs.el (c++-template-syntax-table)
8155         (c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
8156         forms to remove the superflous quotes.
8158 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
8160         Add one more mod-test test
8162         * modules/mod-test/test.el (mod-test-sum-test): Test the error
8163         signaled when the function is invoked with a wrong number of
8164         arguments.
8166 2015-11-24  Philipp Stephani  <phst@google.com>
8168         * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args.
8170 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
8172         Implement dynlib_addr for MS-Windows
8174         * src/dynlib.c [WINDOWSNT]: Include w32common.h.
8175         <g_b_init_get_module_handle_ex> [WINDOWSNT]: New static variable.
8176         (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
8177         (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define
8178         if undefined.
8179         (dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to
8180         zero.
8181         (dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report
8182         the full file name of the module for a given address.
8184 2015-11-24  Alan Mackenzie  <acm@muc.de>
8186         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
8188 2015-11-24  Alan Mackenzie  <acm@muc.de>
8190         Squashed commit of the following:
8192         commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
8193         Author: Alan Mackenzie <acm@muc.de>
8194         Date:   Tue Nov 24 16:50:09 2015 +0000
8196             Byte compile: minor amendments.
8198             * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
8199             add a comment to explain the binding of variables around a subsidiary
8200             compilation.
8201             (byte-compile-new-defuns): Amend the doc string.
8203         commit c537bfed1dda1593d218956ff00c6105a3ff0316
8204         Author: Alan Mackenzie <acm@muc.de>
8205         Date:   Sat Nov 21 18:43:57 2015 +0000
8207             Byte compiler: fix spurious warnings "might not be defined at runtime".
8209             Also initialize byte-compile-noruntime-functions between runs.
8211             * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
8212             (byte-compile-initial-macro-environment): For eval-when-compile: bind
8213             byte-compile-unresolved-functions and byte-compile-new-defuns around
8214             byte-compile-top-level, to prevent spurious entries being made.
8215             (byte-compile-warn-about-unresolved-functions): Check whether function is
8216             in byte-compile-new-defuns before emitting a warning about it.
8217             (byte-compile-from-buffer): Initialize new variable and
8218             byte-compile-noruntime-functions to nil.
8219             (byte-compile-file-form-require): record all new functions defined by a
8220             `require' in byte-compile-new-defuns.
8221             (byte-compile-file-form-defmumble): record the new alias in
8222             byte-compile-new-defuns.
8224 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
8226         Fix crash at startup related to GC of font entities
8228         * src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P)
8229         (GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY)
8230         (GC_XFONT_OBJECT): New macros, for use in garbage collector.
8231         * src/alloc.c (compact_font_cache_entry, compact_font_caches):
8232         Don't ifdef away font cache compaction on NT_GUI, as the problems
8233         which led to that seem to have been solved.
8234         (compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC,
8235         GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_
8236         cousins.  (Bug#21999)
8238 2015-11-24  Alan Mackenzie  <acm@muc.de>
8240         Byte compile: Output an error, not a warning, for odd number of args to setq
8242         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend.
8244 2015-11-24  Ken Raeburn  <raeburn@raeburn.org>
8246         Fix kbd_buffer iteration loop in readable_events
8248         * src/keyboard.c (readable_events): Wrap the event pointer back to the
8249         start of the kbd_buffer array inside the top of the loop instead of
8250         right before checking the loop condition, since kbd_fetch_ptr and
8251         kbd_store_ptr point past the end of the array to mean that element 0
8252         is next. (bug#21935)
8254 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
8256         Improve text-quoting-style doc again
8258         * doc/lispref/help.texi (Keys in Documentation):
8259         Omit overkill discussion of ‘setq’.  Mention Emacs versions
8260         where ‘grave’ style was standard.
8262 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
8264         Improve text-quoting-style doc
8266 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
8268         Simplify module_make_function
8270         * src/emacs-module.c (module_make_function):
8271         Simplify by calling build_unibyte_string.
8273 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
8275         Port better to FreeBSD’s dlfunc vs dlsym
8277         This avoids warnings when converting between void * and
8278         function pointers, which strict C11 does not allow.
8279         * configure.ac (dlfunc): Check for existence.
8280         * src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
8281         (dynlib_func): New function.
8282         * src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
8283         * src/emacs-module.c (Fmodule_load): Use dynlib_func, not
8284         dynlib_sym, for function pointers.
8286 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
8288         Simplify use of emacs_finalizer_function type
8290         * src/emacs-module.h (emacs_finalizer_function):
8291         Now EMACS_NOEXCEPT.  All users simplified to omit EMACS_NOEXCEPT.
8292         (struct emacs_env_25): Use emacs_finalizer_function where applicable.
8294 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
8296         module_format_fun_env fixes
8298         * src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case.
8299         * src/emacs-module.c (module_format_fun_env):
8300         Convert path and sym to UTF-8.
8301         Don’t use VLAs, as the C11 standard says they’re optional,
8302         and anyway they can cause core dumps with large allocations.
8303         Use exprintf rather than snprintf, as exprintf handles arbitrarily
8304         long strings.  Simplify the code a bit.
8306 2015-11-23  Dmitry Gutov  <dgutov@yandex.ru>
8308         Don't use package-user-dir in elisp-library-roots if it's not bound
8310         * lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
8311         use package-user-dir if it's not bound (bug#19759).
8313 2015-11-23  Anders Lindgren  <andlind@gmail.com>
8315         New visible-bell for NextStep (OS X El Capitan compatible).
8317         Instead of inverting a rectangle in the middle of the frame, use
8318         the standard NextStep image "caution", represented using an
8319         warning sign with an exclamation mark.  (Bug#21662)
8321         Implemented based on a suggestion drafted by Mustafa Kocaturk.
8323         * src/nsterm.m (EmacsBell): New class for managing the caution
8324         image.  Support multiple active bells, the image is removed once
8325         all bells have timed out.
8326         (ns_timeout): Removed, no longer used.
8327         (ns_ring_bell): Reimplemented to use EmacsBell.
8329 2015-11-23  Johan Bockgård  <bojohan@gnu.org>
8331         * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec.
8333         (remove-function): Ditto. (Bug#20376)
8335 2015-11-23  Mark Oteiza  <mvoteiza@udel.edu>
8337         * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes.
8339 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
8341         Improve how non-ASCII strings are accepted from modules
8343         * src/emacs-module.c (module_make_function, module_make_string):
8344         Build a unibyte Lisp string and then decode it by UTF-8, instead
8345         of building a multibyte string without decoding.  This is more
8346         tolerant to deviations from UTF-8.
8348 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
8350         Port recent module changes to pickier compilers
8352         * src/emacs-module.c (module_make_function)
8353         (module_make_string): Add casts to fix pointer signedness issues.
8355 2015-11-23  Philipp Stephani  <phst@google.com>
8357         Fix how strings are accepted from modules
8359         * src/emacs-module.c (module_make_function, module_make_string): Use
8360         make_multibyte_string.
8361         (module_copy_string_contents): Encode before reading the byte
8362         size.  Return false if and only if an error occurred.
8364 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
8366         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
8368 2015-11-23  Shakthi Kannan  <shakthimaan@gmail.com>
8370         Add the tamil-dvorak input method
8372         * lisp/leim/quail/tamil-dvorak.el: New file.  (Bug#21768)
8374         * etc/NEWS: Mention the new input method.
8376 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
8378         Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows.
8380         * src/frame.c (adjust_frame_size): Don't set
8381         FRAME_WINDOW_SIZES_CHANGED here ...
8382         * src/window.c (resize_frame_windows): ... but here, as suggested
8383         by Stefan Monnier.  Also remove some dead code along the way.
8385 2015-11-23  Alan Mackenzie  <acm@muc.de>
8387         * etc/NEWS (Incompatible Lisp Changes): Also `setf' needs an even # of args.
8389 2015-11-23  Alan Mackenzie  <acm@muc.de>
8391         Signal an error when `setf' gets an odd number of arguments.
8393         * lisp/emacs-lisp/gv.el (setf): Amend.
8395 2015-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
8397         * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
8399 2015-11-23  Alan Mackenzie  <acm@muc.de>
8401         * etc/NEWS (Incompatible Lisp Changes): Document new restriction on `setq'.
8403 2015-11-23  Alan Mackenzie  <acm@muc.de>
8405         Expunge occurrences of `setq' with an odd number of arguments.
8407         * lisp/apropos.el (apropos-documentation):
8408         * lisp/obsolete/complete.el (PC-include-file-all-completions):
8409         * lisp/progmodes/compile.el (compilation-goto-locus):
8410         * lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
8411         Insert missing nil at end of `setq' forms.
8413         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
8414         erroneous trailing variable name from a setq, thus allowing a compilation
8415         properly to track functions not defined at runtime.
8417 2015-11-23  John Wiegley  <johnw@newartisans.com>
8419         Add a note about a questionable use of bool in xdisp.c
8421 2015-11-23  Alan Mackenzie  <acm@muc.de>
8423         Issue a warning from the byte compiler on a malformed `setq' form.
8425         Partly fixes bug#20241.
8426         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
8427         `setq' form with an odd number of arguments is compiled.
8429 2015-11-23  Alan Mackenzie  <acm@muc.de>
8431         Don't let cconv_convert insert a nil argument into a `setq' form.
8433         Fixes bug#21983.
8434         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
8435         argument into a `setq' when there're an odd number of args.  This enables the
8436         byte compiler to issue a message in this case.
8438 2015-11-23  Alan Mackenzie  <acm@muc.de>
8440         Signal an error when `setq' has an odd number of arguments.  Fixes bug#20241.
8442         * src/eval.c (Fsetq): Signal an error on an odd number of arguments.
8443         (syms_of_eval): Add a DEFSYM for Qsetq.
8445 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
8447         * doc/lispref/windows.texi (Window Sizes): Fix indices and references.
8449         * src/frame.c (adjust_frame_size): Set FRAME_WINDOW_SIZES_CHANGED (Bug#21975).
8451 2015-11-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8453         Add EUDC BBDB 3 entry in NEWS
8455         * NEWS: Mention EUDC BBDB backend support for BBDB 3.
8457 2015-11-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8459         Improve EUDC to BBDB 3 export
8461         * lisp/net/eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
8462         entry to single item.  Add company conversion.
8463         * lisp/net/eudc-export.el (eudc-bbdbify-company): New function.
8464         (bbdb-parse-phone): Declare function.
8465         (eudc-bbdbify-phone): Add BBDB 3 support.
8466         (Bug#21971)
8468 2015-11-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8470         Add BBDB 3 support for EUDC export
8472         * lisp/net/eudc.el: Add bbdb-version defvar.
8473         (eudc--using-bbdb-3-or-newer-p): New function.
8474         * lisp/net/eudc-export.el (eudc-create-bbdb-record): Add support for
8475         bbdb-create-internal argument list changes introduced in BBDB 3.
8476         * lisp/net/eudcb-bbdb.el: Remove bbdb-version defvar.
8477         (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
8478         (Bug#21971)
8480 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
8482         Allow loading modules by 'load-file'
8484         * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
8485         2nd arg, to avoid the "binding stack not balanced" error.
8486         (syms_of_lread) <module-file-suffix>: New Lisp variable.
8488         * lisp/files.el (module-file-suffix): Declare.
8489         (load-file): Remove 'module-file-suffix' from
8490         'completion-ignored-extensions', to allow completion on modules.
8492         * etc/NEWS: Mention 'module-file-suffix'.
8494 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
8496         Fix unoptimized builds
8498         * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized
8499         builds.
8501 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
8503         Work around the asynchronous-empty-diff problem
8505         * lisp/vc/vc-rcs.el (vc-rcs-diff):
8506         * lisp/vc/vc-mtn.el (vc-mtn-diff):
8507         * lisp/vc/vc-hg.el (vc-hg-diff):
8508         * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument,
8509         do a synchronous process call (bug#21969).
8511 2015-11-22  Karl Fogel  <kfogel@red-bean.com>
8513         Finish excising electric indent from `open-line'
8515         * lisp/simple.el (open-line): Remove INTERACTIVE argument.
8517         * test/automated/simple-test.el (open-line-indent, open-line-hook):
8518           Adjust accordingly.
8520         This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
8521         (git commit c59353896) started.  It turns out that having INTERACTIVE
8522         cause `post-self-insert-hook' to run (via `newline') meant `open-line'
8523         still had the electric indent behavior, as `post-self-insert-hook'
8524         normally contains `electric-indent-post-self-insert-function' ever
8525         since `electric-indent-mode' has been on by default.  Tracing the code
8526         change in `open-line' is mildly twisty, because Artur Malabarba's
8527         earliest two commits of 24 Oct 2015 first removed the `interactive'
8528         form entirely (git commit 6939896e2) and then restored it with the new
8529         extra "p" already added (git commit bd4f04f86), such that there is no
8530         single-commit diff in which one sees the second "p" appear.  Thus this
8531         change is effectively a reversion of parts of each of those commits.
8533         This could close bug#21884, at least until further discussion.
8535 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
8537         Adhere closer to the "implicit tag name" definition
8539         * lisp/progmodes/etags.el (etags-tags-completion-table):
8540         Adhere closer to the "implicit tag name" definition.  Simplify
8541         the regexp.  Search for the explicit tag name first, and when
8542         not found, search locally for the implicit one.  (Bug#21934)
8544 2015-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
8546         Unrevert most of regexp reentrancy abort patch
8548         The problem was in:
8549           * src/syntax.c (update_syntax_table_forward): Propertize even when truncated
8550         which is hence not unreverted.
8551         The rest is:
8552         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
8553         (UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
8554         All callers in regex.c changed back to the _FAST versions.
8556         * test/automated/message-mode-tests.el: Tweak the test to rely on auto
8557         propertization in backward-sexp.
8559 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
8561         Revert regexp reentrancy abort patch
8563         Although the patch does fix Bug#21688 and prevents a core dump,
8564         it also makes the message-mode-propertize test fail; see:
8565         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html
8566         Perhaps someone else can come up with a better fix some day.
8567         * src/syntax.c (update_syntax_table_forward):
8568         Propertize even when truncated.
8569         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
8570         (UPDATE_SYNTAX_TABLE_FAST): Remove.
8571         All callers changed back to the non-_FAST versions.
8573 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
8575         Add a few safety checks when ENABLE_CHECKING
8577         This was motivated by the recent addition of module code,
8578         which added some ENABLE_CHECKING-enabled checks that are
8579         useful elsewhere too.
8580         * src/alloc.c (compact_font_cache_entry):
8581         * src/fns.c (sweep_weak_table):
8582         * src/lread.c (oblookup):
8583         Use gc_asize rather than doing it by hand.
8584         * src/emacs-module.c (module_make_global_ref)
8585         (module_free_global_ref, module_vec_size):
8586         Omit assertions that lisp.h now checks.
8587         * src/lisp.h (XFASTINT, ASIZE): In functional implementations,
8588         check that the result is nonnegative.  Use eassume, as this
8589         info can help a bit when optimizing production code.
8590         (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
8591         to be consistent with the USE_LSB_TAG case.
8592         (gc_asize): New function, when ASIZE is needed in the gc.
8593         (gc_aset): Use it.
8594         (HASH_TABLE_P): Move definition up, so that it can be used ...
8595         (XHASH_TABLE): ... here, to assert that the arg is a hash table.
8597 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
8599         Simplify recording of main thread's ID on MS-Windows
8601         * src/w32term.c (w32_initialize):
8602         * src/w32console.c (initialize_w32_display):
8603         * src/w32fns.c (globals_of_w32fns): Don't record the main thread
8604         ID independently for each type of session (GUI, TTY, batch).
8605         * src/w32term.c (w32_init_main_thread): New function, records the
8606         main thread's thread ID.
8607         * src/w32term.h: Add prototype for w32_init_main_thread.
8608         * src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread.
8610         * src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to
8611         main_thread, for consistency with other threading libraries.  All
8612         users changed.  Include w32term.h.
8613         (check_main_thread) [WINDOWSNT]: Simplify the test: no need to
8614         make sure the main thread is alive, as we hold a handle on it
8615         opened by w32_init_main_thread.
8616         (module_init) [WINDOWSNT]: Reuse the thread ID recorded by
8617         w32_init_main_thread, instead of calling the requisite APIs once
8618         more.
8620 2015-11-21  Mark Oteiza  <mvoteiza@udel.edu>
8622         Backport: Fix issue where a new tempfile was created every refresh
8624         * lisp/mpc.el (mpc-format): Leave dir as relative path
8626 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
8628         Call 'window-size-change-functions' for mini-windows
8630         * src/window.c (grow_mini_window, shrink_mini_window): Set the
8631         frame's 'window_sizes_changed' flag.
8632         * src/xdisp.c (redisplay_internal): Call the hooks on
8633         'window-size-change-functions' if the call to 'echo_area_display'
8634         sets the frame's 'window_sizes_changed' flag.
8635         (syms_of_xdisp) <window-size-change-functions>:
8636         Update doc string to indicate the mini-window resizes trigger a
8637         call to the hooks, and don't promise that will happen "before
8638         redisplay".  (Bug#19576, Bug#21333)
8640         * doc/lispref/windows.texi (Window Hooks): Update the description
8641         of 'window-size-change-functions'.
8643 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
8645         Improve documentation of dynamic modules
8647         * src/fns.c (Frequire): Doc fix to include the dynamic module
8648         support.
8649         * src/lread.c (Fload, Vload_suffixes): Doc fixes to include the
8650         dynamic module support.
8651         (Fload): Treat the module suffix the same as '*.el' and '*.elc'
8652         wrt the MUST-SUFFIX argument.
8654         * etc/NEWS: Expand documentation of dynamically loaded modules.
8656 2015-11-21  Philipp Stephani  <phst@google.com>  (tiny change)
8658         Initial documentation for dynamic modules
8660         * etc/NEWS: Mention the new support for dynamically loaded modules.
8662 2015-11-21  Dmitry Gutov  <dgutov@yandex.ru>
8664         Add xref--etags-backend to xref-backing-functions using add-hook
8666         * lisp/progmodes/xref.el (xref-backend-functions): Move the
8667         default value into a separate `add-hook' call (bug#21964).
8669         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
8670         Don't declare the xref-backend-functions variable.
8671         It doesn't make any difference.
8673 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8675         Fix double-decrement bug when freeing global refs
8677         * src/emacs-module.c (module_free_global_ref): Add a FIXME
8678         comment about error reporting.  Fix a recently-introduced typo
8679         that double-decremented the refcount.
8681 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8683         Declare emacs_module_init in the module API
8685         * src/emacs-module.h (emacs_module_init): New decl.
8686         Without it, GCC might complain about a module that defines
8687         emacs_module_init without using it.  This also checks the
8688         API better.
8690 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8692         Fix module test to use ptrdiff_t nargs too
8694         * modules/mod-test/mod-test.c (Fmod_test_return_t)
8695         (Fmod_test_sum, Fmod_test_signal, Fmod_test_throw)
8696         (Fmod_test_non_local_exit_funcall, Fmod_test_globref_make)
8697         (Fmod_test_string_a_to_b, Fmod_test_userptr_make)
8698         (Fmod_test_userptr_get, Fmod_test_vector_fill)
8699         (Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int.
8700         (finalizer): Remove; no longer used.
8702 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8704         Fix reindent-introduced typo in module code
8706         * src/emacs-module.c (MODULE_SETJMP_1): Fix typo that I
8707         introduced while reindenting the code earlier, and add a
8708         comment explaining the unusual use of do-while here.
8710 2015-11-20  Anders Lindgren  <andlind@gmail.com>
8712         Fixed bug#19576: `write-file' saves wrong buffer.
8714         If a function on the hook `window-size-change-functions' doesn't
8715         restore the current buffer, functions that save and restore the
8716         current window configuration (like `y-or-no-p') could silently
8717         change the current buffer.  When `write-file' asked the user
8718         confirmation to overwrite a file, `y-or-no-p' changed the current
8719         buffer, and the wrong buffer was saved to the file.
8721         * lisp/follow.el (follow-windows-start-end): Call `select-frame'
8722         using the `norecord' parameter.
8723         (follow-window-size-change): Restore current buffer. Call
8724         `select-frame' using the `norecord' parameter. Cleanup.
8726 2015-11-20  John Wiegley  <johnw@newartisans.com>
8728         Correct a documentation error in frames.texi
8730 2015-11-20  Stephen Leake  <stephen_leake@stephe-leake.org>
8732         * lisp/cedet/mode-local.el: Delete obsolete comment
8734 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8736         Module function arg counts are ptrdiff_t, not int
8738         * src/emacs-module.c (struct module_fun_env)
8739         (module_make_function, module_funcall, Fmodule_call):
8740         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
8741         Use ptrdiff_t, not int, for arg counts.
8742         * src/emacs-module.c (module_make_function): Don’t bother
8743         checking arity against MOST_POSITIVE_FIXNUM, as that’s
8744         unnecessary here.  Make the checking clearer by negating it.
8745         (module_make_function, Fmodule_call): No need to use xzalloc
8746         since the storage doesn’t need to be cleared.
8747         (module_funcall): Don’t use VLA, since C11 doesn’t guarantee support
8748         for it, and many implementations are buggy with large VLAs anyway.
8749         Use SAFE_ALLOCA_LISP instead.
8750         (module_vec_set): Don’t crash if i < 0.
8751         (module_vec_get): Don’t crash if i < MOST_NEGATIVE_FIXNUM.
8752         (module_vec_set, module_vec_get): Do fixnum checks only when
8753         i is out of array bounds, for efficiency in the usual case.
8754         (Fmodule_load): Simplify fixnum range check.
8755         (Fmodule_call): Simplify arity check.  Use xnmalloc to detect
8756         integer overflow in array allocation size.
8758 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
8760         Minor improvements in module test
8762         * modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings
8763         about missing prototype of malloc.
8764         * modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid
8765         compiler warnings.
8767 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
8769         Improve MS-Windows implementation in dynlib.c
8771         * src/dynlib.c [WINDOWSNT]: Include errno.h, lisp.h, and w32.h.
8772         No need to include windows.h, as w32.h already does that.
8773         <dynlib_last_err>: New static variable.
8774         (dynlib_reset_last_error): New function.
8775         (dynlib_open): Convert forward slashes to backslashes.  Convert
8776         file names from UTF-8 to either UTF-16 or the current ANSI
8777         codepage, and call either LoadLibraryW or LoadLibraryA.  If the
8778         argument is NULL, return a handle to the main module, like
8779         'dlopen' does.  Record the error, if any, for use by dynlib_error.
8780         (dynlib_sym): Check the handle for validity. Record the error, if
8781         any, for use by dynlib_error.
8782         (dynlib_error): Call w32_strerror to produce the error string, and
8783         zero out the last error code, like dlerror does.
8784         (dynlib_close): Check the handle for validity.  Record the error,
8785         if any, for use by dynlib_error.  Don't call FreeLibrary with a
8786         handle for the main module.
8787         * src/w32.c (globals_of_w32): Call dynlib_reset_last_error.
8789 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8791         Include-file tweaks for modules
8793         * src/dynlib.c, src/emacs-module.c: Include <config.h> first.
8794         * src/dynlib.h: Do not include config.h.
8795         It’s every .c file’s responsibility to include config.h first.
8796         * src/emacs-module.c: Include emacs-module.h immediately after
8797         config.h, to test that emacs-module.h doesn’t depend on
8798         include files other than config.h.
8800 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8802         Simplify push_handler and profile its malloc
8804         * src/lisp.h (PUSH_HANDLER): Remove.
8805         All callers changed to use push_handler directly.
8806         * src/eval.c (internal_condition_case)
8807         (internal_condition_case_1, internal_condition_case_2)
8808         (internal_condition_case_n):
8809         Use same pattern as for other invokers of push_handler.
8810         (push_handler, push_handler_nosignal): Use call-by-value
8811         instead of call-by-reference.  All uses changed.
8812         (push_handler): Simplify by rewriting in terms of
8813         push_handler_nosignal.
8814         (push_handler_nosignal): Profile any newly allocated memory.
8816 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8818         * src/emacs-module.h: Include stddef.h, not stdlib.h.
8820 2015-11-20  Juanma Barranquero  <lekktu@gmail.com>
8822         Discover repository version in linked worktrees (bug#21930)
8824         * lisp/version.el (emacs-repository--version-git-1): Do not assume
8825         HEAD is at .git/HEAD, it can also be at .git/worktrees/<branch>/HEAD.
8826         (emacs-repository-get-version): Grok linked worktrees when EXTERNAL
8827         is nil too.
8829 2015-11-20  Juri Linkov  <juri@linkov.net>
8831         * lisp/replace.el (occur-regexp-descr): New function.
8832         (occur-1, occur-engine): Use it.
8834         * lisp/isearch.el (isearch-occur): Propertize regexp with
8835         isearch-string and isearch-regexp-function-descr for
8836         occur-regexp-descr to display the correct description
8837         message in the header (bug#21176, bug#21180).
8839 2015-11-20  Karl Fogel  <kfogel@red-bean.com>
8841         Revert `open-line' electric-indent sensitivity
8843         * lisp/simple.el (open-line): Remove electric indent code.
8844           (electric-indent-just-newline): Don't declare.
8846         * test/automated/simple-test.el (open-line-indent): Adjust test.
8848         This partly reverts Artur Malabarba's change that added electric
8849         indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git
8850         commit bd4f04f86), and adjusts a new test he added right afterwards
8851         (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly.
8852         However, the new INTERACTIVE argument to `open-line', which he also
8853         added in the first commit, is not reverted here.
8855         See the thread "Questioning the new behavior of `open-line'." on the
8856         Emacs Devel mailing list, and in particular this message:
8858           From: Artur Malabarba
8859           Subject: Re: Questioning the new behavior of `open-line'.
8860           To: Karl Fogel
8861           Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel
8862           Date: Wed, 18 Nov 2015 21:03:58 +0000
8863           Message-ID: \
8864             <CAAdUY-KN06pvCMy5bt3+Buk3yeKjf6n9iB2FaSTTOPpCqPwyhA@mail.gmail.com>
8866           https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html
8868 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8870         Omit unnecessary clear in Fmodule_load
8872         * src/emacs-module.c (Fmodule_load):
8873         Simplify and avoid unnecessary initialization of priv member to 0.
8875         * src/emacs-module.c: (module_vec_set, module_vec_get, module_vec_size)
8877 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8879         Prefer signed integer types in module code
8881         Generally speaking, at the C level the Emacs source code prefers
8882         signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’,
8883         partly to avoid the usual signedness confusion when comparing values.
8884         Change the module API to follow this convention.
8885         Use ‘int’ for small values that can’t exceed INT_MAX.
8886         * modules/mod-test/mod-test.c (Fmod_test_globref_make)
8887         (Fmod_test_string_a_to_b, Fmod_test_vector_fill)
8888         (Fmod_test_vector_eq):
8889         * src/emacs-module.c (struct emacs_value_frame)
8890         (module_make_global_ref, module_free_global_ref)
8891         (module_copy_string_contents, module_make_string)
8892         (module_vec_set, module_vec_get, module_vec_size):
8893         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
8894         * src/lread.c (suffix_p):
8895         Prefer signed to unsigned integer types.
8897 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8899         Omit ‘const’ on locals
8901         Remove ‘const’ qualifier from locals that were newly added.
8902         We don’t normally bother declaring locals with ‘const’ even
8903         though they are not modified, for the same reason we don’t
8904         bother declaring them with ‘register’ even though their
8905         addresses are not taken; the advantage in compile-time
8906         checking isn’t worth the loss of readability.
8907         * modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall)
8908         (Fmod_test_vector_fill, Fmod_test_vector_eq):
8909         * src/emacs-module.c (MODULE_SETJMP_1)
8910         (module_make_global_ref, module_free_global_ref)
8911         (module_non_local_exit_get, module_make_function)
8912         (module_extract_integer, module_extract_float)
8913         (module_get_user_ptr, module_set_user_ptr)
8914         (module_get_user_finalizer, module_set_user_finalizer)
8915         (module_vec_get, Fmodule_call)
8916         (module_non_local_exit_signal_1)
8917         (module_non_local_exit_throw_1, lisp_to_value)
8918         (finalize_storage, allocate_emacs_value, mark_modules)
8919         (module_handle_signal, module_handle_throw)
8920         (module_format_fun_env):
8921         * src/eval.c (push_handler, push_handler_nosignal)
8922         (init_handler):
8923         * src/lread.c (suffix_p):
8924         Omit unnecessary ‘const’.
8926 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8928         Prefer intmax_t to int64_t in module code
8930         * modules/mod-test/mod-test.c (sum, Fmod_test_sum):
8931         * src/emacs-module.c (module_extract_integer)
8932         (module_make_integer):
8933         * src/emacs-module.h (struct emacs_env_25):
8934         Prefer intmax_t to int64_t.  This doesn’t change the generated
8935         code on any of the machines Emacs currently ports to, but it’s
8936         at least in theory more future-proof as C99 doesn’t guarantee
8937         that int64_t exists.
8939 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8941         Rename module.c to emacs-module.c, etc.
8943         * src/emacs-module.c: Rename from src/module.c.
8944         * src/emacs-module.h: Rename from src/module.h.
8945         All uses changed.
8947 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8949         Fix minor module problems found by static checking
8951         * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used.
8952         * src/eval.c, src/lisp.h (lisp_eval_depth): Now static.
8953         * src/emacs-module.c (Fmodule_load): Fix pointer signedness bug.
8954         (Fmodule_call): Tell GCC that the default case is unreachable.
8956 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8958         Style fixes for indenting etc. in module code
8960         This is mostly indenting and spacing changes.  Also, remove
8961         some unnecessary static decls instead of bothering to reindent them.
8962         * src/emacs-module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
8963         as most other Emacs files do for this sort of thing.
8965 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
8967         Minor improvements in modules testing Makefile
8969         * modules/mod-test/Makefile (EMACS, SO): New variables.
8970         (CFLAGS): When SO = dll, don't use -fPIC.
8971         (check): New target, runs the test.
8973 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
8975         * .gitignore: Add "*.dll".
8977 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8979         Migrate modules/.gitignore into .gitignore
8981         * .gitignore: Add former contents of modules/.gitignore.
8982         * modules/.gitignore: Remove.
8984 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8986         Add copyright notices to module code
8988         Put them in the usual format for GNU Emacs copyright notices.
8990 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8992         Rename emacs_module.h to module.h
8994         * src/module.h: Rename from src/emacs_module.h.
8995         All uses changed.
8997 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
8999         * src/module.c (Fmodule_load): Remove unused vars `doc_name', `args'
9001         * src/lread.c (Fload): Remove unused variable `size'
9003 2015-11-19  Alan Mackenzie  <acm@muc.de>
9005         src/keyboard.c (pre-command-hook): Fix typo in doc string: "pre" -> "post".
9007 2015-11-19  Dmitry Gutov  <dgutov@yandex.ru>
9009         Prioritize looking inside vc-parent-buffer over log-view-mode fallback
9011         * lisp/vc/vc.el (vc-deduce-fileset): Prioritize looking inside
9012         vc-parent-buffer over log-view-mode fallback (bug#21955).
9014 2015-11-18  Alan Mackenzie  <acm@muc.de>
9016         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
9018 2015-11-18  Ken Brown  <kbrown@cornell.edu>
9020         * configure.ac (LIBMODULES): Don’t define on Cygwin
9022 2015-11-18  Eli Zaretskii  <eliz@gnu.org>
9024         Fix MS-Windows build --with-modules
9026         * src/module.c: Reformat copyright commentary.
9027         (module_vec_get): Use explicit cast to size_t to avoid compiler
9028         warning in 32-bit builds.
9029         (check_main_thread) [WINDOWSNT]: Fix letter-case in Windows APIs.
9030         Compare thread IDs directly, as GetThreadId is not available
9031         before Windows Vista.
9032         (check_main_thread) [WINDOWSNT]: Duplicate the thread handle
9033         without using APIs and constants not available on XP and older
9034         systems.  Obtain and store the thread ID as well.
9036 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
9037             Philipp Stephani  <phst@google.com>
9039         Add dynamic module test and helper script
9041         Add 'modhelp.py' script (python2) to automate module testing and
9042         module generation.
9044         To build and test all modules in the modules/ dir
9045           $ ./modhelp.py test
9047         To generate a module from template code (good starting point)
9048           $ ./modhelp init mynewtestmodule
9050         See the script -h option for more documentation.
9052         * modules/modhelp.py: New module helper script.
9053         * modules/mod-test/Makefile: New file. Makefile for the test module.
9054         * modules/mod-test/mod-test.c: New file. Test module source file.
9055         * modules/mod-test/test.el: New file. ert test suite for the test module.
9056         * modules/.gitignore: New file. Local .gitignore file.
9058 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
9060         Make 'Fload' look for modules
9062         'Fload' can now load dynamic modules. This also makes 'require' work.
9064         * src/lread.c:
9065           (suffix_p): New function.
9066           (Fload): Use 'suffix_p'.  Call 'Fmodule_load' when we try to load a file
9067           with a module suffix.
9068           (syms_of_lread): Append module suffix to 'Vload_suffixes'.
9070 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
9071             Philipp Stephani  <phst@google.com>
9073         Add dynamic module module support
9075         * configure.ac: Add '--with-modules' option.  Conditionally add
9076           dynlib.o and module.o to the list of objects.  Add any system
9077           specific flags to the linker flags to support dynamic libraries.
9078         * m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
9079           attributes.
9080         * src/Makefile.in: Conditionally add module objects and linker flags.
9081         * src/alloc.c (garbage_collect_1): protect module local values from
9082           GC.
9083         * src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
9084         * src/emacs-module.h: New header file included by modules.  Public
9085           module API.
9086         * src/emacs-module.c: New module implementation file.
9088 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
9090         Add new User Pointer (User_Ptr) type
9092         * src/lisp.h: Add new Lisp_Misc_User_Ptr type.
9093         (XUSER_PTR): New User_Ptr accessor.
9094         * src/alloc.c (make_user_ptr): New function.
9095         (mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr.
9096         * src/data.c (Ftype_of): Return 'user-ptr' for user pointer.
9097         (Fuser-ptrp): New user pointer type predicate function.
9098         (syms_of_data): New 'user-ptrp', 'user-ptr' symbol.  New 'user-ptrp'
9099         subr.
9100         * src/print.c (print_object): Add printer for User_Ptr type.
9102 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
9103             Philipp Stephani  <phst@google.com>
9105         Add portable layer for dynamic loading
9107         * src/dynlib.h: New file.
9108         * src/dynlib.c: New file.
9110 2015-11-18  Philipp Stephani  <phst@google.com>
9112         Add catch-all & no-signal version of PUSH_HANDLER
9114         Ground work for modules. Add a non-signaling version of PUSH_HANDLER and
9115         a new "catch-all" handler type.
9117         * src/eval.c (init_handler, push_handler, push_handler_nosignal): New
9118           functions.
9119         * src/fns.c (hash_remove_from_table): Expose function public.
9120         * src/lisp.h: New handler type, define macro to push_handler call.
9122 2015-11-18  Ken Brown  <kbrown@cornell.edu>
9124         Silence byte-compiler warning
9126         * lisp/server.el (server-process-filter): Silence byte-compiler
9127         warning.
9129 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9131         Quote symbols in docstrings using `'
9133         Be more systematic about quoting symbols `like-this' rather than
9134         `like-this or 'like-this' in docstrings.  This follows up Artur
9135         Malabarba's email in:
9136         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html
9138 2015-11-18  Peder O. Klingenberg  <peder@klingenberg.no>
9140         Fix savegames in dunnet
9142         * lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead
9143           of separate implementation.
9145 2015-11-18  Artur Malabarba  <bruce.connor.am@gmail.com>
9147         * lisp/emacs-lisp/package.el (package--with-response-buffer):
9149         Ensure we're at the start of the buffer before searching for
9150         the end of headers.
9152 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
9154         * admin/release-process: Improve wording.
9156 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
9158         Backport: * CONTRIBUTE: Remove information about feature freeze.
9160         (cherry picked from commit ae0653b5ab9ee223751ec389b87011963e1cbbef)
9162 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
9164         Backport: Document the release process
9166         * admin/notes/versioning: Add information about RC releases.
9167         * admin/release-process: Document the release process.
9168         * admin/authors.el (authors-ignored-files):
9169         * admin/README: Change FOR-RELEASE to release-process.
9170         * CONTRIBUTE:
9171         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
9173         (cherry picked from commit 9a4aa0f5945a03611ae29c516025dbd353bd26ab)
9175 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
9177         Backport: * admin/release-process: Rename from admin/FOR-RELEASE.
9179         (cherry picked from commit f8cc14b59700e51a4e31139c0a65c8154995e055)
9181 2015-11-18  Xue Fuqiao  <xfq.free@gmail.com>
9183         Backport: Mention CONTRIBUTE in README
9185         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
9186         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
9187         * README: Mention CONTRIBUTE.
9189         (cherry picked from commit ed2e7e20ae0945288c98091f308f5460c3453873)
9191 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9193         Fix docstring quoting problems with ‘ '’
9195         Problem reported by Artur Malabarba in:
9196         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
9197         Most of these fixes are to documentation; many involve fixing
9198         longstanding quoting glitches that are independent of the
9199         recent substitute-command-keys changes.  The changes to code are:
9200         * lisp/cedet/mode-local.el (mode-local-augment-function-help)
9201         (describe-mode-local-overload):
9202         Substitute docstrings before displaying them.
9203         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
9204         Quote the generated docstring for later substitution.
9206 2015-11-17  Eli Zaretskii  <eliz@gnu.org>
9208         Improve configure --help text for wide ints
9210         * configure.ac (wide-int): Clarify user-level advantages and
9211         disadvantages.
9213 2015-11-17  Stephen Leake  <stephen_leake@stephe-leake.org>
9215         Improve doc string
9217         * lisp/progmodes/xref.el (xref-backend-references): Improve doc string.
9219 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9221         eval_sub followed dangling pointer when debugging
9223         Problem reported by Pip Cet (Bug#21245).
9224         This bug could occur in eval_sub if the C compiler reused
9225         storage associated with the ‘argvals’ local after ‘argvals’
9226         went out of scope, and if the Elisp debugger stopped on Elisp
9227         function exit and accessed ‘argvals’.  It could also occur if
9228         a variadic function was called with so many arguments (over
9229         2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then
9230         SAFE_FREE freed the arguments, then the memory manager used
9231         the storage for other purposes, then the debugger accessed the
9232         arguments.
9233         * src/eval.c (eval_sub): Declare ‘argvals’ at top level of
9234         function body.  Simplify local decls.
9235         When allocating args via SAFE_ALLOCA, call
9236         debugger before invoking SAFE_FREE, as the debugger needs
9237         access to the args.
9238         (eval_sub, apply_lambda): Rework to avoid need for
9239         set_backtrace_debug_on_exit hack.  This is cleaner,
9240         and should work better with buggy custom debuggers.
9242 2015-11-17  Daiki Ueno  <ueno@gnu.org>
9244         * lisp/image-mode.el: Support encrypted file
9246         (image-toggle-display-image): Read content from the buffer instead
9247         of the file, if the buffer holds a decrypted data.  (Bug#21870)
9249 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9251         ELF unexec: align section header
9253         This ports the recent unexelf.c changes to Fedora x86-64
9254         when configured with GCC’s -fsanitize=undefined option.
9255         * src/unexelf.c (unexec): Align new_data2_size to a multiple
9256         of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a
9257         pointer aligned appropriately for its type.
9259 2015-11-17  Andreas Schwab  <schwab@linux-m68k.org>
9261         Do more checks on bytecode objects (Bug#21929)
9263         * src/eval.c (funcall_lambda): Check size of compiled function
9264         object.
9265         (Ffetch_bytecode): Likewise.
9267 2015-11-16  Johan Bockgård  <bojohan@gnu.org>
9269         pcase.el: Fix edebugging of backquoted cons patterns
9271         * lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
9272         cons patterns. (Bug#21920)
9274 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
9276         Improve fix for regex reentrancy abort
9278         Suggested by Stefan Monnier (Bug#21688).
9279         * src/syntax.c (update_syntax_table_forward):
9280         Remove recently-added PROPERTIZE arg, and assume it is true.
9281         All callers changed.
9282         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
9283         Invoke update_syntax_table directly.
9285 2015-11-16  Artur Malabarba  <bruce.connor.am@gmail.com>
9287         * lisp/faces.el (faces--attribute-at-point): Use `face-list-p'
9289         * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require
9291         * lisp/emacs-lisp/nadvice.el (add-function): Escape quote
9293 2015-11-16  Vasily Korytov  <vasily.korytov@yahoo.com>
9295         Recognize .rbw and .pyw files (bug#18753)
9297         * lisp/progmodes/python.el (auto-mode-alist):
9298         Recognize .pyw files.
9300         * lisp/progmodes/ruby-mode.el (auto-mode-alist):
9301         Recognize .rbw files.
9303 2015-11-16  Dmitry Gutov  <dgutov@yandex.ru>
9305         Fix ruby-mode auto-mode-alist entry
9307         * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
9308         around the extensions (bug#21257).
9310 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
9312         Fix etags completion near eob
9314         * lisp/progmodes/etags.el (tags-completion-at-point-function):
9315         Use `goto-char', to avoid the end-of-buffer error (bug#20061).
9317 2015-11-15  Alan Mackenzie  <acm@muc.de>
9319         De-pessimize detection of C++ member initialization lists.
9321         list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
9322         (c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
9323         is only called when a construct "looks right" rather than continually.
9324         (c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
9326 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
9328         Backport: * lisp/emacs-lisp/package.el: Fix a decoding issue.
9330         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
9331         `url-insert-buffer-contents'.
9332         (url-insert-buffer-contents): New function
9334         (package--with-response-buffer): Use `url-insert-buffer-contents'.
9335         The previous code had some issues with decoding. Refactoring that
9336         function allows us to use the decoding from url-handlers while still
9337         treating both sync and async requests the same.
9339 2015-11-15  Stephen Leake  <stephen_leake@stephe-leake.org>
9341         Improve a few doc strings, comments
9343         * lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
9344         * lisp/cedet/ede/locate.el (ede-locate-base):
9345         * lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
9346         * src/fns.c (Fdelq): Improve doc string.
9348         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
9350 2015-11-15  Anders Lindgren  <andlind@gmail.com>
9352         Enhance NSTRACE (trace output for NextStep).
9354         Trace can be disabled for groups of functions. By default, event
9355         functions and functions that generate lots of output are disabled.
9357         Trace output of Objective-C functions now use the "[ClassName
9358         parameter:]" form.
9360         * src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
9361         (NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
9362         (NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
9363         controlling in which function groups trace should be active.
9364         (NSTRACE_WHEN): Support for silencing a function, this also
9365         silencing all called functions.
9366         (NSTRACE_UNSILENCE): New macro, used to re-enable trace.
9367         (NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
9368         print the full screen state in NSTRACE functions.
9370         * src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
9371         can be accessed from multiple threads.
9372         (nstrace_enabled_global): New variable, when FALSE, trace is
9373         silenced.
9374         (nstrace_restore_global_trace_state): New function, used to
9375         restore `nstrace_enabled_global' at end of block.
9376         ([EmacsView setFrame:], [EmacsWindow setFrame:display:])
9377         ([EmacsWindow setFrame:display:animation:])
9378         ([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
9379         and call corresponding super function.
9380         (Many functions): Add or enhance trace output.
9382         * src/nsimage.m (ns_image_from_file): Enhanced trace output.
9384         * src/nsfns.m (x_set_tool_bar_lines): Add trace output.
9386         * src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
9387         and call corresponding super function.
9389 2015-11-15  Anders Lindgren  <andlind@gmail.com>
9391         Fixed a toolbar related issue on OS X.
9393         Earlier, when toggling the tool-bar in a maximized frame, the
9394         frame size didn't match the number of text lines, leaving an
9395         unused area at the bottom of the frame.
9397         * src/nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
9398         fullscreen modes when tool bar is disabled.
9400 2015-11-15  Anders Lindgren  <andlind@gmail.com>
9402         Fixed OS X 10.6.8 build issue (bug#21862).
9404         * src/nsterm.h (EmacsView): Add missing declarations.
9405         * src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
9406         the standard method but without the notification parameter.
9407         Intended to be used for direct calls.
9408         ([EmacsView windowDidEnterFullScreen]): Call the non-notification
9409         version of `windowDidBecomeKey'. Made the notification method call
9410         the non-notification method instead of the vice versa.
9411         (NSWindowDidEnterFullScreenNotification): Deleted, no longer
9412         needed.
9414 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
9416         * lisp/faces.el (faces--attribute-at-point): Fix an issue
9418         Previous code would signal an error when the face at point was
9419         a manually built list of attributes such as '(:foregroud "white").
9421         * test/automated/faces-tests.el (faces--test-color-at-point): Add a test
9423 2015-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9425         Fix regex abort when it tries to reenter itself
9427         Problem reported by Ken Raeburn.
9428         Solution suggested by Stefan Monnier (Bug#21688).
9429         * src/regex.c (re_match_2_internal):
9430         Use new _FAST functions to avoid regex code reentering itself.
9431         * src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
9432         All callers changed.
9433         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
9434         (UPDATE_SYNTAX_TABLE_FAST): New inline functions.
9436 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
9438         Improve Ruby 1.9-style keyword keys highlighting
9440         * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
9441         Handle required keyword arguments (bug#21367).
9442         And highlight the colon together with the name.
9444 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
9446         Unify the absolutely equal xref-backend-references implementations
9448         * lisp/progmodes/elisp-mode.el (xref-backend-references):
9449         Remove.
9451         * lisp/progmodes/etags.el (xref-backend-references):
9452         Remove.
9454         * lisp/progmodes/xref.el (xref-backend-references):
9455         Define the default implementation.
9457 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
9459         Update project-find-regexp for the new xref API
9461         * lisp/progmodes/project.el (project--read-regexp):
9462         Update to use the new xref API methods.
9464         * lisp/progmodes/xref.el (xref-find-backend): Autoload.
9466 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
9468         Fix replacing a match with a shorter string
9470         In effect, partially reverting fe973fc.
9472         * lisp/progmodes/xref.el (xref-query-replace): Store the end
9473         of each match as a marker again, instead of length.
9474         (xref--query-replace-1): Update accordingly.
9476 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
9478         * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
9480         Signal user-errors instead.
9482 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
9484         Document 'describe-symbol'
9486         * doc/emacs/help.texi (Help Summary): Mention "C-h o".
9487         (Name Help): Document "C-h o" and describe-symbol.
9489         * lisp/help-fns.el (describe-symbol): Doc fix.
9491 2015-11-14  Paul Eggert  <eggert@cs.ucla.edu>
9493         Change test name to avoid spellcheck issue.
9495 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
9497         Avoid signaling an error in 'describe-symbol'
9499         * lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
9500         exists as a function/variable/face/etc., but is undocumented.
9502         * test/automated/help-fns.el (help-fns-test-describe-symbol): New
9503         test.
9505 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
9507         * INSTALL (--with-cairo): Document this new configure option.
9509 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
9511         Document that GNU Make >= 3.81 is required to build Emacs
9513         * doc/lispref/internals.texi (Building Emacs): Document that GNU
9514         Make 3.81 or later is now required.
9516 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
9518         Backport: * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async.
9520         (package--with-work-buffer-async): Reimplement as
9521         `package--with-response-buffer'.
9522         (package--with-work-buffer): Mark obsolete.
9523         (package--with-response-buffer): New macro. This is a more self
9524         contained and less contrived version of
9525         `package--with-work-buffer-async'.  It uses keyword arguments,
9526         doesn't have async on the name, doesn't fallback on
9527         `package--with-work-buffer', and has _much_ simpler error
9528         handling.  On master, this macro will soon be part of another
9529         library (either standalone or inside url.el), which is why this
9530         commit is not to be merged back.
9532         (package--check-signature, package--download-one-archive)
9533         (package-install-from-archive, describe-package-1): Use it.
9535         (package--download-and-read-archives): Let
9536         `package--download-one-archive' take care of calling
9537         `package--update-downloads-in-progress'.
9539 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
9541         * CONTRIBUTE (Branches): Improve wording for back-ported commits.
9543 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
9545         Merge branch 'master' into emacs-25
9547 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
9549         Use generic dispatch for xref backends
9551         * lisp/progmodes/xref.el (xref-backend-functions):
9552         New variable.
9553         (xref-find-function): Remove.
9554         (xref-find-backend)
9555         (xref--etags-backend): New functions.
9556         (xref-identifier-at-point-function)
9557         (xref-identifier-completion-table-function): Remove.
9558         (xref-backend-definitions, xref-backend-references)
9559         (xref-backend-apropos, xref-backend-identifier-at-point)
9560         (xref-backend-identifier-completion-table):
9561         New generic functions.
9563         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
9564         Add `elisp--xref-backend' to the beginning of
9565         `xref-backend-functions', locally.  Delete references to
9566         removed functions and vars.
9567         (elisp-xref-find): Remove.
9568         (elisp--xref-backend): New function.
9569         (elisp--xref-find-references, elisp--xref-find-apropos)
9570         (elisp--xref-identifier-completion-table):
9571         Turn into appropriately named generic methods.
9573         * lisp/progmodes/etags.el (etags-xref-find): Remove.
9574         (xref-backend-identifier-completion-table)
9575         (xref-backend-references, xref-backend-definitions)
9576         (xref-backend-apropos): New generic methods.
9578 2015-11-14  Juri Linkov  <juri@linkov.net>
9580         Support rectangular regions for more commands
9582         * lisp/simple.el (region-extract-function): Handle the arg
9583         value ‘bounds’.
9584         (region-insert-function): New function.
9585         (shell-command-on-region): Add arg ‘region-noncontiguous-p’.
9586         If non-nil, operate on multiple chunks.
9587         (region-noncontiguous-p): New function.
9589         * lisp/rect.el: Add function rectangle--insert-region
9590         around region-insert-function.
9591         (extract-rectangle-bounds): New function.
9592         (rectangle--extract-region): Handle the arg value ‘bounds’.
9593         (rectangle--insert-region): New function.
9595         * lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
9596         around region-insert-function.
9597         (cua--extract-rectangle-bounds): New function.
9598         (cua--rectangle-region-extract): Handle the arg value ‘bounds’.
9600         * lisp/replace.el (query-replace, query-replace-regexp): Add arg
9601         ‘region-noncontiguous-p’.  Use ‘use-region-p’.
9602         (query-replace-regexp-eval, map-query-replace-regexp)
9603         (replace-string, replace-regexp): Use ‘use-region-p’.
9604         (keep-lines, flush-lines, how-many): Use ‘use-region-p’.
9605         (perform-replace): Add arg ‘region-noncontiguous-p’.
9606         If non-nil, operate on multiple chunks.
9608         * src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
9609         If non-nil, operate on multiple chunks.  (Bug#19829)
9611 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
9613         Handle multiple matches on the same line; add highlighting
9615         * lisp/progmodes/xref.el (xref-location-marker): Interpret the
9616         column value in characters.
9617         (xref--collect-matches): Rename from `xref--collect-match'.
9618         Search for all matches in the hit line.  Add `highlight' face to
9619         the matched region in the summary.  Update both callers.
9621 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
9623         Replace xref-match-bounds with xref-match-length
9625         Relying on xref-location-marker to point to the beginning of the match
9627         * lisp/progmodes/xref.el (xref-match-bounds): Remove.
9628         (xref-match-length): Add.
9629         (xref-make-match): Change the arguments.
9630         (xref--match-buffer-bounds): Remove.
9631         (xref-match-item): Store length, instead of end-column.
9632         (xref-pulse-momentarily)
9633         (xref--collect-match)
9634         (xref--query-replace-1): Update accordingly.
9635         (xref-query-replace): Ditto.  And check that the search results
9636         are up-to-date.
9638 2015-11-13  John Wiegley  <johnw@newartisans.com>
9640         Merge remote-tracking branch 'origin/master' into emacs-25
9642 2015-11-13  l3thal  <kwhite@gnu.org>
9644         Merge branch 'erc-async-reconnect' into emacs-25
9646         Reconnect asynchronously.
9648 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
9650         Merge from gnulib
9652         This incorporates:
9653         2015-11-13 xalloc-oversized: improve performance with GCC 5
9654         * lib/xalloc-oversized.h: Copy from gnulib.
9656 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
9658         Spruce up ftfont.c memory allocation
9660         * src/ftfont.c (setup_otf_gstring):
9661         Avoid O(N**2) behavior when reallocating.
9662         (ftfont_shape_by_flt): Prefer xpalloc to xrealloc when
9663         reallocating buffers; this simplifies the code.  Do not trust
9664         mflt_run to leave the output areas unchanged on failure, as
9665         this isn’t part of its interface spec.
9667 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9669         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
9671 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
9673         Port recent XCB changes to 64-bit ‘long int’
9675         For historical reasons, libX11 represents 32-bit values like Atoms as
9676         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
9677         do that, so adapt the recent XCB code to behave properly on 64-bit
9678         platforms.  Also, fix what appears to be a bug in the interpretation
9679         of xcb_get_property_value_length, at least on my Fedora platform
9680         which is running libxcb-1.11-5.fc21.
9681         * src/xfns.c (x_real_pos_and_offsets):
9682         * src/xterm.c (get_current_wm_state):
9683         xcb_get_property_value_length returns a byte count, not a word count.
9684         For 32-bit quantities, xcb_get_property_value returns a vector
9685         of 32-bit words, not of (possibly 64-bit) long int.
9687         Backport.
9689 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
9691         * src/undo.c (run_undoable_change): Now static.
9693         Backport.
9695 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9697         Remove support for ':timeout' from w32 tray notifications
9699         * src/w32fns.c (Fw32_notification_notify): Delete the code that
9700         supports ':timeout'.
9701         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
9702         with dbusbind.c when D-Bus is compiled in.
9704         * doc/lispref/os.texi (Desktop Notifications): Don't mention
9705         ':timeout'.
9707         Backport.
9709 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
9711         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
9713         (simple-test--transpositions): New macro.
9714         (simple-transpose-subr): New test.
9716         Backport.
9718 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
9720         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
9722         Backport.
9724 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
9726         * src/undo.c: Small fixes for previous change
9728         (run_undoable_change): Mark void argument list.
9729         (record_property_change): Remove unused variable `boundary'.
9731         Backport.
9733 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9735         Add a few more variables to redisplay--variables
9737         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
9738         and bidi-display-reordering to the list.
9740         Backport.
9742 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9744         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
9746         Backport.
9748 2015-11-13  Eli Barzilay  <eli@barzilay.org>
9750         Fix point positioning after transposing with negative arg
9752         * lisp/simple.el (transpose-subr): When invoked with a negative
9753         argument, move point to after the transposed text, like we do
9754         when invoked with a positive argument.  (Bug#21885)
9756         Backport.
9758 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9760         Fix last change in shr.el
9762         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
9763         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
9765         Backport.
9767 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9769         Fix last change
9771         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
9772         Don't DEFSYM tray notification symbols if D-Bus is being used.
9774         Backport.
9776 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9778         Another fix for MinGW64 and Cygwin builds due to notifications
9780         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
9781         being compiled into Emacs.
9782         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
9783         Sw32_notification_notify and Sw32_notification_close if the code
9784         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
9786         Backport.
9788 2015-11-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9790         Remove intern calls and XXX comments from Fx_export_frames
9792         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
9793         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
9794         for consistency with image types.  Remove XXX comments.
9795         (syms_of_xfns) <Qpdf>: DEFSYM it.
9797         Backport.
9799 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
9801         Port recent XCB changes to 64-bit ‘long int’
9803         For historical reasons, libX11 represents 32-bit values like Atoms as
9804         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
9805         do that, so adapt the recent XCB code to behave properly on 64-bit
9806         platforms.  Also, fix what appears to be a bug in the interpretation
9807         of xcb_get_property_value_length, at least on my Fedora platform
9808         which is running libxcb-1.11-5.fc21.
9809         * src/xfns.c (x_real_pos_and_offsets):
9810         * src/xterm.c (get_current_wm_state):
9811         xcb_get_property_value_length returns a byte count, not a word count.
9812         For 32-bit quantities, xcb_get_property_value returns a vector
9813         of 32-bit words, not of (possibly 64-bit) long int.
9815 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
9817         * src/undo.c (run_undoable_change): Now static.
9819 2015-11-13  Michael Albinus  <michael.albinus@gmx.de>
9821         Adapt Tramp version, do not merge with master
9823         * doc/misc/trampver.texi (trampver):
9824         * lisp/net/trampver.el (tramp-version): Set to "2.2.13-25.1".
9826 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9828         Remove support for ':timeout' from w32 tray notifications
9830         * src/w32fns.c (Fw32_notification_notify): Delete the code that
9831         supports ':timeout'.
9832         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
9833         with dbusbind.c when D-Bus is compiled in.
9835         * doc/lispref/os.texi (Desktop Notifications): Don't mention
9836         ':timeout'.
9838 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
9840         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
9841         (simple-test--transpositions): New macro.
9842         (simple-transpose-subr): New test.
9844 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
9846         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
9848 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
9850         * src/undo.c: Small fixes for previous change
9851         (run_undoable_change): Mark void argument list.
9852         (record_property_change): Remove unused variable `boundary'.
9854 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9856         Add a few more variables to redisplay--variables
9858         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
9859         and bidi-display-reordering to the list.
9861 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9863         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
9865 2015-11-13  Eli Barzilay  <eli@barzilay.org>
9867         Fix point positioning after transposing with negative arg
9869         * lisp/simple.el (transpose-subr): When invoked with a negative
9870         argument, move point to after the transposed text, like we do
9871         when invoked with a positive argument.  (Bug#21885)
9873 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9875         Fix last change in shr.el
9877         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
9878         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
9880 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9882         Fix last change
9884         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
9885         Don't DEFSYM tray notification symbols if D-Bus is being used.
9887 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
9889         Another fix for MinGW64 and Cygwin builds due to notifications
9891         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
9892         being compiled into Emacs.
9893         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
9894         Sw32_notification_notify and Sw32_notification_close if the code
9895         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
9897 2015-11-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9899         Remove intern calls and XXX comments from Fx_export_frames
9901         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
9902         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
9903         for consistency with image types.  Remove XXX comments.
9904         (syms_of_xfns) <Qpdf>: DEFSYM it.
9906 2015-11-13  Eric Hanchrow  <eric.hanchrow@gmail.com>
9908         shr: don't invoke unbound function (Bug#21895)
9910         * lisp/net/shr.el (have-fringes-p): New function.
9911         (shr-insert-document, shr-fill-text): Use it.
9913 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
9915         * test/automated/keymap-tests.el: Fix test to make it repeatable
9917         (keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map
9918         entry to its initial value to make the test repeatable in interactive
9919         sessions (assuming it doesn't fail and crashes Emacs, of course).
9921 2015-11-13  Artur Malabarba  <bruce.connor.am@gmail.com>
9923         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
9925 2015-11-12  Phillip Lord  <phillip.lord@russet.org.uk>
9927         : Tests for undo-auto functionality.
9929 2015-11-12  Phillip Lord  <phillip.lord@newcastle.ac.uk>
9931         The heuristic that Emacs uses to add an `undo-boundary' has been
9932         reworked, as it interacts poorly with functions on `post-command-hook'
9933         or `after-change-functions'.
9935         * lisp/simple.el: New section added.
9936         * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
9937         (self_insert_command): Calls simple.el to amalgamate.
9938         (delete_char): Calls simple.el to amalgamate.
9939         * src/keyboard.c (last_undo_boundary): Removed.
9940         * src/undo.c (run_undoable_change): New function.
9942 2015-11-12  Juri Linkov  <juri@linkov.net>
9944         Bind [?\S-\ ] to previous line command in Dired-like modes.
9946         * lisp/arc-mode.el (archive-mode-map):
9947         * lisp/dired.el (dired-mode-map):
9948         * lisp/proced.el (proced-mode-map):
9949         * lisp/vc/vc-dir.el (vc-dir-mode-map):
9950         Bind [?\S-\ ] to previous line command.
9951         (Bug#20790)
9953 2015-11-12  Eli Zaretskii  <eliz@gnu.org>
9955         Fix the MinGW64 and Cygwin-w32 builds
9957         * src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
9958         (MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
9959         use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
9960         which cause trouble with MinGW42 headers.  Ifdef away tray
9961         notifications code for Cygwin.  Reported by Andy Moreton
9962         <andrewjmoreton@gmail.com>.
9964 2015-11-12  Simen Heggestøyl  <simenheg@gmail.com>
9966         Enable sorting of JSON object keys when encoding
9968         * lisp/json.el (json-encoding-object-sort-predicate): New variable
9969         for specifying a sorting predicate for JSON objects during encoding.
9970         (json--plist-to-alist): New utility function.
9971         (json-encode-hash-table): Re-use `json-encode-alist' when object keys
9972         are to be sorted.
9973         (json-encode-alist): Sort output by
9974         `json-encoding-object-sort-predicate, when set.
9975         (json-encode-plist): Re-use `json-encode-alist' when object keys are
9976         to be sorted.
9977         (json-pretty-print-buffer-ordered): New command to pretty print the
9978         buffer with object keys sorted alphabetically.
9979         (json-pretty-print-ordered): New command to pretty print the region
9980         with object keys sorted alphabetically.
9982         * test/automated/json-tests.el (test-json-plist-to-alist)
9983         (test-json-encode-plist, test-json-encode-hash-table)
9984         (test-json-encode-alist-with-sort-predicate)
9985         (test-json-encode-plist-with-sort-predicate): New tests.
9987         * etc/NEWS: Add an entry for the new commands.
9989 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
9991         * test/automated/keymap-tests.el: New test file.
9993 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
9995         Speed up x_real_pos_and_offsets using XCB
9997         * src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of
9998         all X calls, and pipeline requests when possible, collecting results
9999         later.  Eliminate use of x_catch_errors (and thus XSync) in XCB case.
10001 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
10003         Enable use of XCB for checking window manager state
10005         * src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead
10006         of XGetWindowProperty plus error-catching, since we can explicitly
10007         check for errors in the XCB version.  This eliminates 3 XSync calls on
10008         top of the round-trip actually fetching the information.
10010 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
10012         Detect XCB and save a connection handle
10014         * configure.ac: If using X11, check for XCB libraries and header.
10015         * src/Makefile.in (XCB_LIBS): Define.
10016         (LIBX_EXTRA): Include it.
10018         * src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
10019         (struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
10020         * src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
10022 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
10024         Reduce some data dependencies between X calls
10026         Gains nothing in the traditional-Xlib code, but more closely aligns
10027         with how the XCB version will work.
10029         * src/xfns.c (x_real_pos_and_offsets): When translating coordinates,
10030         send coordinates (0,0) to the X server and add in the real coordinates
10031         after getting the response.  Move XGetGeometry for outer window inside
10032         error-trapping block.  Use DPY variable more, since it's available.
10034 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
10036         Use color cache for creating bitmap
10038         * src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]:
10039         Set attributes to use the caching color allocator.  Initialize and
10040         free the cache.
10042 2015-11-12  Eli Barzilay  <eli@barzilay.org>
10044         Add "^" to the interactive specs of `dired-next/previous-line'
10046         * lisp/dired.el (dired-next-line, dired-previous-line): It makes sense
10047         to bind these commands to the arrow keys, and that means that they work
10048         better with a "^" in the `interactive' declaration so selection works
10049         as expected.
10051 2015-11-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10053         Sync with soap-client repository, version 3.0.2
10055         * lisp/net/soap-client.el: Bump version to 3.0.2.
10057         * lisp/net/soap-client.el (soap-warning): Use format, not format-message.
10059         * lisp/net/soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
10060         (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.
10062         * lisp/net/soap-client.el: Support Emacs versions that do not have
10063         define-error.
10065         * lisp/net/soap-inspect.el: Remove version header.
10067         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Fix first line header
10068         format.
10070 2015-11-11  Alan Mackenzie  <acm@muc.de>
10072         CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
10074         * lisp/progmodes/cc-engine.el (c-backward-single-comment)
10075         (c-backward-comments, c-invalidate-state-cache-1, c-parse-state-1)
10076         (c-guess-basic-syntax):
10077         Remove bindings of open-paren-in-column-0-is-defun-start to nil.
10078         (c-get-fallback-scan-pos): "New" function (existed several years ago).
10079         (c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using
10080         c-get-fallback-scan-pos.
10081         (c-parse-state-1): Handle 'BOD strategy.
10083         * lisp/progmodes/cc-mode.el (c-before-change, c-after-change)
10084         (c-font-lock-fontify-region): Remove bindings of
10085         open-paren-in-column-0-is-defun-start to nil.
10087         * doc/misc/cc-mode.texi (Performance Issues)
10088         (Limitations and Known Bugs): Fix mix up between @chapter and @appendix.
10090 2015-11-11  Artur Malabarba  <bruce.connor.am@gmail.com>
10092         * lisp/obarray.el: Fix shadowed variables.
10093         (obarray-map, obarray-remove, obarray-put, obarray-get):
10094         Change OBARRAY arg to OB to avoid shadowing ‘obarray’.
10096 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
10098         Avoid error in submitting a form with EWW
10100         * lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument
10101         CHUNK to be nil.  (Bug#21881)
10103 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
10105         Rename seq-p and map-p to seqp and mapp
10107         * lisp/emacs-lisp/seq.el (seqp): New name.
10108         * lisp/emacs-lisp/map.el (mapp): New name.
10109         * doc/lispref/sequences.texi: Update the documentation for seqp.
10110         * test/automated/map-tests.el: Update the tests for mapp.
10112 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
10114         Rename obarray-p to obarrayp
10116         * lisp/obarray.el (obarrayp): New name.
10117         * test/automated/obarray-tests.el: Update the tests.
10119 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
10121         Rename obarray-foreach to obarray-map
10123         * lisp/obarray.el (obarray-map): New name.
10124         * test/automated/obarray-tests.el: Update the corresponding tests.
10126 2015-11-11  Przemysław Wojnowski  <esperanto@cumego.com>
10128         New file with obarray functions.
10130         * lisp/obarray.el: Basic obarray functions extracted from abbrev.el.
10131         * test/automated/obarray-tests.el: New file.
10133 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
10135         Implement tray notifications for MS-Windows
10137         * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef.
10138         (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE)
10139         (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO)
10140         (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID)
10141         (EMACS_NOTIFICATION_MSG): New macros.
10142         (NI_Severity): New enumeration.
10143         (get_dll_version, utf8_mbslen_lim, add_tray_notification)
10144         (delete_tray_notification, Fw32_notification_notify)
10145         (Fw32_notification_close): New functions.
10146         (syms_of_w32fns): Defsubr functions exposed to Lisp.  DEFSYM
10147         keywords used by w32-notification-notify.
10149         * doc/lispref/os.texi (Desktop Notifications): Describe the native
10150         w32 tray notifications.
10152 2015-11-11  Alan Mackenzie  <acm@muc.de>
10154         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
10156         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
10157         Windows" and new @defun selected-window-group.
10158         (Window Start and End): Describe new &optional parameter GROUP and
10159         ...-group-function for window-start, window-end, set-window-start, and
10160         pos-visible-in-window-p.
10161         (Textual Scrolling) Describe the same for recenter.
10162         doc/lispref/positions.texi (Screen Lines): Describe the same for
10163         move-to-window-line.
10165         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
10166         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
10167         new optional parameter "group".  At the beginning of each, check whether the
10168         corresponding ...-group-function is set to a function, and if so execute this
10169         function in place of the normal processing.
10170         (syms_of_window): Define symbols for the six new variables below.
10171         (window-start-group-function, window-end-group-function)
10172         (set-window-start-group-function, recenter-group-function)
10173         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
10174         New permanent local buffer local variables.
10175         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
10176         Fpos_visible_in_window_p.
10178         lisp/window.el (selected-window-group-function): New permanent local buffer
10179         local variable.
10180         (selected-window-group): New function.
10182         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
10183         enable, kill them at mode disable.  Add/remove follow-after-change to/from
10184         after-change-functions.
10185         (follow-start-end-invalid): New variable.
10186         (follow-redisplay): Manipulate follow-start-end-invalid.
10187         (follow-after-change, follow-window-start, follow-window-end)
10188         (follow-set-window-start, follow-pos-visible-in-window-p)
10189         (follow-move-to-window-line, follow-sit-for): New functions.
10191         lisp/isearch.el (isearch-call-message): New macro.
10192         (isearch-update, with-isearch-suspended, isearch-del-char)
10193         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
10194         (with-isearch-suspended): Rearrange code such that isearch-call-message is
10195         invoked before point is moved.
10196         (isearch-message): Add comment about where point must be at function call.
10197         (isearch-search): Remove call to isearch-message.
10198         (isearch-lazy-highlight-window-group): New variable.
10199         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
10200         the battery of tests to ...
10201         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
10202         Note: (sit-for 0) is still called.
10203         (isearch-lazy-highlight-update): Check membership of
10204         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
10205         property.
10206         (isearch-update, isearch-done, isearch-string-out-of-window)
10207         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
10208         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
10209         (isearch-lazy-highlight-update): Call the six amended primitives (see
10210         src/window.c above) with the new `group' argument set to t, to cooperate
10211         with Follow Mode.
10213 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
10215         Optimize `file-equal-p' and `file-in-directory-p' in Tramp
10217         * lisp/net/tramp.el (tramp-handle-file-equal-p)
10218         (tramp-handle-file-in-directory-p): New defuns.  Suggested by
10219         Harvey Chapman <hchapman@3gfp.com>.
10221         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
10222         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
10223         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
10224         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
10226 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
10228         * CONTRIBUTE: Encourage adding tests.
10230         Based on this post from John Wiegley:
10232           From: "John Wiegley" <johnw@newartisans.com>
10233           Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test
10234           To: Juanma Barranquero <lekktu@gmail.com>
10235           Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com,
10236               emacs-devel <emacs-devel@gnu.org>
10237           Date: Wed, 28 Oct 2015 18:45:29 -0700
10238           Message-ID: <m2y4emqwg6.fsf@newartisans.com>
10240           https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
10242 2015-11-10  David Reitter  <david.reitter@gmail.com>
10244         Avoid creating notification objects when possible
10246         * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:)
10247         (windowDidEnterFullScreen, windowDidExitFullScreen): Provide convenience
10248         functions that do not require a notification object.  When needed,
10249         define NSWindowDidEnterFullScreenNotification to allow for compilation
10250         on OS X 10.6.8.
10252 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10254         Move INTEGER_TO_CONS body out of .h file
10256         * src/data.c (INTBIG_TO_LISP): New macro, with most
10257         of the contents of the old INTEGER_TO_CONS.
10258         (intbig_to_lisp, uintbig_to_lisp): New functions.
10259         * src/lisp.h (INTEGER_TO_CONS):
10260         Simplify by using EXPR_SIGNED and the new functions.
10261         This shrinks code size a bit, and makes it easier to
10262         put a breakpoint on handling of large integers.
10264 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10266         Merge from gnulib
10268         This incorporates:
10269         2015-11-10 intprops: new public macro EXPR_SIGNED
10270         2015-11-10 intprops: fix typo in clang port
10271         * lib/intprops.h: Copy from gnulib.
10273 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10275         Spelling fixes
10277         * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type):
10278         Fix misspelling in output.
10280 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
10282         * doc/lispref/variables.texi (Directory Local Variables):
10283         Document dir-locals wildcards.
10285         * lisp/files.el (dir-locals-file): Point to Info node.
10287         * doc/emacs/custom.texi (Directory Variables):
10288         Document dir-locals wildcards.
10290         * etc/NEWS: Document new functionality.
10292 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
10294         * lisp/files.el: Don't allow customization of dir-locals sorting.
10295         In retrospect, this is not a good idea for the same reason that
10296         `dir-locals-file' is a defconst, because it is important that this
10297         behaviour be "uniform across different environments and users".
10298         Sure, the user can still change the sorting with a hack, but we
10299         shouldn't encourage them to change it.
10300         (dir-locals--all-files): Return list in the order returned by
10301         `file-expand-wildcards'.
10302         (file-expand-wildcards): Document the sorting predicate used.
10303         (dir-locals-sort-predicate): Delete variable.
10305 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
10307         * lisp/files.el (dir-locals-read-from-file): Better handle errors.
10309         * lisp/isearch.el (search-default-regexp-mode): Change default value.
10311 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
10313         * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files.
10314         `locate-dominating-file' will now keep looking if the files it finds in
10315         a given directory are unreadable (or not files).
10317 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
10319         * lisp/files.el (dir-locals-file): Allow wildcards.
10320         (dir-locals-find-file, dir-locals-collect-variables)
10321         (dir-locals-read-from-file): Update accordingly.
10322         (hack-dir-local-variables): Rename a local variable.
10324         * lisp/files-x.el (modify-dir-local-variable): Update accordingly.
10326         * lisp/help-fns.el (describe-variable): Update accordingly.
10328         * .gitignore: Add .dir-locals?.el.
10330 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
10332         * lisp/emacs-lisp/map.el (map-merge-with): New function.
10334         * test/automated/map-tests.el (test-map-merge-with): New test.
10336 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
10338         Fix some recently-perturbed bookmark autoloads
10340         * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload.
10341         (bookmark-set): Restore autoload.
10342         (bookmark-set-no-overwrite): Add autoload.
10344         Thanks to Juanma Barranquero for noticing the autoload problems
10345         introduced by my recent commit adding/changing the above functions
10346         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
10348 2015-11-09  Noah Friedman  <friedman@splode.com>
10350         * etc/emacs-buffer.gdb (ydump-buffer): Handle case where gap is at
10351         the start of buffer.  I don't recall if older versions of gdb were
10352         less strict but you cannot dump a 0-length range in gdb 7.9.1.
10354 2015-11-10  Dmitry Gutov  <dgutov@yandex.ru>
10356         * lisp/progmodes/project.el: Update Commentary.
10358         Merge branch 'project-next'
10360 2015-11-10  Dmitry Gutov  <dgutov@yandex.ru>
10362         Fold `project-ask-user' into `project-current'
10364         * lisp/progmodes/project.el (project-find-functions): Remove
10365         `project-ask-user'.
10366         (project-ask-user): Remove function and the corresponding
10367         `project-roots' implementation.
10368         (project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
10369         user in case there's no project in the current directory.  Update
10370         all callers.
10372 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
10374         When VC detects a conflict, specify which file
10376         * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function.
10377         * lisp/vc/vc-svn.el (vc-svn-find-file-hook):
10378         * lisp/vc/vc-hg.el (vc-hg-find-file-hook):
10379         * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook):
10380         * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function
10381           to display a standard message that specifies the conflicted file.
10383         Before this change, the message VC used for indicating a conflicted
10384         file was just "There are unresolved conflicts in this file" without
10385         naming the file (and this language was duplicated in several places).
10386         After this change, it's "There are unresolved conflicts in file FOO"
10387         (and this language is now centralized in one function in vc.el).
10389         Justification: It's important for the message to name the conflicted
10390         file because the moment when VC realizes a file is conflicted does not
10391         always come interactively.  For example, some people automatically
10392         find a set of Org Mode files on startup, and may keep those .org files
10393         under version control.  If any of the files are conflicted, the user
10394         just sees some messages fly by, and might later check the "*Messages*"
10395         buffer to find out what files were conflicted.  I'm not saying this
10396         happened to me or anything; it's a purely hypothetical example.
10398 2015-11-09  Eli Zaretskii  <eliz@gnu.org>
10400         Fix assertion violation in define-key
10402         * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character
10403         objects.  Reported by Drew Adams <drew.adams@oracle.com>
10404         and Juanma Barranquero <lekktu@gmail.com>.
10406 2015-11-09  Dima Kogan  <dima@secretsauce.net>
10408         Fix a memory leak in GC of font cache
10410         * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font
10411         entities if some of the fonts it references are marked.  This
10412         plugs a memory leak.  (Bug#21556)
10414 2015-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10416         Use INT_ADD_WRAPV etc. to check integer overflow
10418         * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string):
10419         * src/buffer.c (record_overlay_string, overlay_strings):
10420         * src/casefiddle.c (casify_object):
10421         * src/ccl.c (Fccl_execute_on_string):
10422         * src/character.c (char_width, c_string_width, lisp_string_width)
10423         (count_size_as_multibyte, string_escape_byte8):
10424         * src/coding.c (coding_alloc_by_realloc, produce_chars):
10425         * src/data.c (arith_driver):
10426         * src/dispnew.c (realloc_glyph_pool, init_display):
10427         * src/editfns.c (styled_format):
10428         * src/fns.c (Ffillarray):
10429         * src/ftfont.c (ftfont_shape_by_flt):
10430         * src/gnutls.c (gnutls_hex_string):
10431         * src/gtkutil.c (get_utf8_string):
10432         * src/image.c (x_to_xcolors, x_detect_edges, png_load_body):
10433         * src/keymap.c (Fkey_description):
10434         * src/lisp.h (SAFE_ALLOCA_LISP):
10435         * src/term.c (encode_terminal_code):
10436         * src/tparam.c (tparam1):
10437         * src/xselect.c (x_property_data_to_lisp):
10438         * src/xsmfns.c (smc_save_yourself_CB):
10439         * src/xterm.c (x_term_init):
10440         When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to
10441         more-complicated code involving division and/or
10442         INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and
10443         subtraction and/or INT_ADD_OVERFLOW.
10444         * src/casefiddle.c (casify_object): Simplify multibyte size check.
10445         * src/character.c: Remove some obsolete ‘#ifdef emacs’s.
10446         * src/data.c (arith_driver): Also check for division overflow,
10447         as that’s now possible given that the accumulator can now contain
10448         any Emacs integer.
10449         * src/lisp.h (lisp_word_count): Remove; no longer used.
10451 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
10453         Make sure that the ignore file exists
10455         * lisp/vc/vc.el (vc-default-ignore-completion-table):
10456         Make sure that the ignore file exists.
10458 2015-11-09  Michael Sperber  <mike@xemacs.org>
10460         * lisp/gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
10461         `gnus-summary-delete-article` in a way that also works on XEmacs.
10463 2015-11-08  Simen Heggestøyl  <simenheg@gmail.com>
10465         Add support for retrieving paths to JSON elements
10467         Add support for retrieving the path to a JSON element. This can for
10468         instance be useful to retrieve paths in deeply nested JSON
10469         structures.
10471         * lisp/json.el (json-pre-element-read-function)
10472         (json-post-element-read-function): New variables to hold pre- and post
10473         read callback functions for `json-read-array' and `json-read-object'.
10474         (json--path): New variable used internally by `json-path-to-position'.
10475         (json--record-path, json--check-position): New functions used
10476         internally by `json-path-to-position'.
10477         (json-path-to-position): New function for retrieving the path to a
10478         JSON element at a given position.
10479         (json-read-object, json-read-array): Call
10480         `json-pre-element-read-function' and `json-post-element-read-function'
10481         when set.
10483         * test/automated/json-tests.el (test-json-path-to-position-with-objects)
10484         (test-json-path-to-position-with-arrays)
10485         (test-json-path-to-position-no-match): New tests for
10486         `json-path-to-position'.
10488 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
10490         * etc/NEWS: Mention new `bookmark-set-no-overwrite'.
10492         This really should been part of my previous commit
10493         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
10495 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
10497         Offer non-overwrite bookmark setter (Bug#15746)
10499         * lisp/bookmark.el (bookmark-set-internal): New helper function to do
10500         what `bookmark-set' used to do, but with more choices for overwrite
10501         vs push, and with minor changes to the interactive prompt format.
10502         (bookmark-set): Rewrite as wrapper around above.
10503         If overwriting, inform the user of that in the prompt.
10504         (bookmark-set-no-overwrite): New function, also done as wrapper.
10505         Bind to "M" in `ctl-x-r-map' autoloads.
10506         (bookmark-map): Similarly bind "M" here.
10508 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
10510         * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614).
10512 2015-11-08  Alan Modra  <amodra@gmail.com>
10514         ELF unexec: Don't insert a new section
10516         Reuse the .bss section instead, making it SHT_PROGBITS.  This way we
10517         don't need to mess with symbol st_shndx, or section sh_link and
10518         sh_info.
10520         This does lead to eu-elflint complaints about symbols defined in .bss
10521         with a needed version, because normally it is undefined symbols that
10522         have needed versions;  Defined symbols have version definitions.
10523         The exception is symbols defined by the linker in .dynbss for
10524         variables copied from a shared library in order to avoid text
10525         relocations, with copy relocs to copy their initial values from the
10526         shared library.  These symbols are both defined and have needed
10527         versions, and eu-elflink only expects to see them in SHT_NOBITS
10528         sections.  Of course there is no real problem with having such symbols
10529         in SHT_PROGBITS sections.  glibc ld.so handles them fine.
10531         * src/unexelf.c: Delete outdated comments.
10532         (PATCH_INDEX): Delete.
10533         (find_section): Delete.
10534         (unexec): Don't add a new section.  Instead reuse the last bss
10535         section, extending it to cover dumped data.  Make bss sections
10536         SHT_PROGBITS.  Remove all patching of sh_link, sh_info and
10537         st_shndx.  Rename bss sections.
10539 2015-11-08  Alan Modra  <amodra@gmail.com>
10541         ELF unexec: Drive from PT_LOAD header rather than sections
10543         This rewrites bss handling in the ELF unexec code.  Finding bss
10544         sections by name results in complicated code that
10545         - does not account for all names of possible bss sections,
10546         - assumes specific ordering of bss sections,
10547         - can wrongly choose a SHT_NOBITS section not in the bss segment,
10548         - incorrectly calculates bss size (no accounting for alignment gaps),
10549         - assumes .data and .bss are in the same segment.
10551         All of these problems and more are solved by finding the bss segment
10552         in PT_LOAD headers, ie. the address range included in p_memsz but not
10553         p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections
10554         in that address range.
10556         * src/unexelf.c: Delete old ppc comment.
10557         (OLD_PROGRAM_H): Define.
10558         (round_up): Delete.
10559         (unexec): Don't search for bss style sections by name.  Instead,
10560         use the last PT_LOAD header address range covered by p_memsz
10561         but not p_filesz and match any SHT_NOBITS section in that
10562         address range.  Simplify initialization of section header vars.
10563         Don't assume that section headers are above bss segment.  Move
10564         copying of bss area out of section loop.  Align .data2 section
10565         to 1, since it now covers the entire bss area.  For SHT_NOBITS
10566         sections in the bss segment, leave sh_addr and sh_addralign
10567         unchanged, but correct sh_offset.  Clear memory corresponding
10568         to SHT_NOBITS .plt section.  Delete comment and hacks for
10569         sections partly overlapping bss range now that the full range
10570         is properly calculated.  Delete now dead .sbss code.
10571         (Bug#20614)
10573 2015-11-08  Alan Modra  <amodra@gmail.com>
10575         ELF unexec: R_*_NONE relocs
10577         These should be ignored on all targets.
10579         * src/unexelf.c (unexec): Ignore R_*_NONE relocs for any target,
10580         not just Alpha.  Comment on reloc size assumption.
10582 2015-11-08  Alan Modra  <amodra@gmail.com>
10584         ELF unexec: _OBJC_ symbols in bss sections
10586         This code assumed that there was only one bss section.  Rather than
10587         checking for a particular index, check the section type.  Also, handle
10588         the possibility that the section was SHT_NOBITS originally and is
10589         unchanged, in which case no clearing is needed (and sh_offset isn't
10590         necessarily valid, which can lead to a wild memset).
10592         * src/unexelf.c (unexec): Properly handle _OBJC_ symbols in
10593         bss sections.
10595 2015-11-08  Alan Modra  <amodra@gmail.com>
10597         ELF unexec: Symbol table patching
10599         No st_shndx value larger than SHN_LORESERVE should be changed.
10600         * src/unexelf.c (unexec): Don't adjust any st_shndx larger than
10601         SHN_LORESERVE.  Error on SHN_XINDEX.
10603 2015-11-08  Alan Modra  <amodra@gmail.com>
10605         ELF unexec: Merge Alpha and MIPS COFF debug handling
10607         * src/unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling.
10608         Don't find .mdebug section index, find the section in the loop.
10609         Allow for unlikely possibility that .mdebug is located at sh_offset
10610         before bss segment, by calculating move from difference in
10611         sh_offset rather than just assuming new_data2_size.  Simplify
10612         cbLineOffset handling.
10614 2015-11-08  Alan Modra  <amodra@gmail.com>
10616         ELF unexec: Tidy code
10618         Separate out some of the more mechanical changes so following patches
10619         are smaller.
10621         * src/unexelf.c (unexec): Rearrange initialization of program
10622         header vars.  Use pointer vars in loops rather than indexing
10623         section header array via macros.  Simplify _OBJC_ sym code
10624         and reloc handling code.
10626 2015-11-08  Alan Modra  <amodra@gmail.com>
10628         ELF unexec: Correct section header index
10630         First a small fix.  The code incorrectly uses "NEW_SECTION_H (n)" when
10631         it should have been using "NEW_SECTION_H (nn)" to find the name of the
10632         section currently being processed.  Of course, before the bss
10633         sections, n and nn have the same value, so this doesn't matter except
10634         in the case of .sbss.  For .sbss this probably meant .bss (most likely
10635         the next section) was copied from memory.  A later patch removes the
10636         bogus .sbss handling anyway.
10638         * src/unexelf.c (unexec): Use correct index to look up names.
10640 2015-11-08  Michael Albinus  <michael.albinus@gmx.de>
10642         Fix Bug#21841
10644         * lisp/filenotify.el (file-notify--rm-descriptor):
10645         Use `descriptor' instead of computing its value.
10646         (file-notify--descriptor): Additional argument FILE.  Adapt all callees.
10647         (file-notify-rm-watch): Use `descriptor' when calling file name handler.
10648         (Bug#21841)
10650 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
10652         Remove dirs in vc project roots from the the vc project library roots
10654         * lisp/progmodes/project.el (project-library-roots):
10655         Remove directories inside the project roots from the result.
10656         (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
10658 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
10660         Move and rename xref-find-regexp to the project package
10662         * lisp/progmodes/project.el (project-find-regexp)
10663         (project--read-regexp)
10664         (project--find-regexp-in): New functions.
10666         * lisp/progmodes/xref.el (xref--find-xrefs): Extract from
10667         xref--show-xrefs.  Use in existing callers in place of that
10668         function.
10669         (xref--show-xrefs): Only do the "show" part.
10670         (xref-find-regexp): Rename, more or less, to
10671         project-or-libraries-find-regexp.
10673 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
10675         Abolish temporary buffer management for xref
10677         * lisp/progmodes/xref.el (xref--temporary-buffers)
10678         (xref--current)
10679         (xref--inhibit-mark-current)
10680         (xref--mark-selected): Remove.  Remove all references.
10681         (xref--show-xrefs): Do not construct the
10682         list of the temporary buffers, nor pass it along.
10684 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
10686         Rename "search path" to "library roots"
10688         * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
10689         of the elements from CL-LIST1.
10691         * test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
10692         Update WRT to the above change.
10694         * lisp/progmodes/project.el (project-search-path-function): Rename
10695         to project-library-roots-function, update the documentation and
10696         references.
10697         (project-search-path): Likewise, to project-library-roots.
10698         (project-roots): Clarify documentation.
10699         (project-vc-search-path): Likewise, to project-vc-library-roots.
10700         (project-library-roots): In addition to the renames, thread the
10701         results through file-name-as-directory.
10702         (project-prune-directories): Accept a variable number of
10703         arguments.  Rename to project-combine-directories.
10704         (project-subtract-directories): New function.
10706         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
10707         Append project-roots and project-library-roots together.
10709         * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
10711 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
10713         Prefer xpalloc to doubling buffers by hand
10715         * src/lread.c (grow_read_buffer): New function, which uses xpalloc.
10716         (read1): Use it for simplicity.
10717         * src/macros.c (store_kbd_macro_char):
10718         * src/minibuf.c (read_minibuf_noninteractive):
10719         * src/term.c (encode_terminal_code):
10720         * src/xrdb.c (magic_db):
10721         Prefer xpalloc to growing buffers by hand.
10722         This doesn’t fix any bugs, but simplifies the code a bit.
10724 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
10726         Merge from gnulib
10728         This incorporates:
10729         2015-11-05 timespec-sub: fix overflow bug; add tests
10730         2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW
10731         2015-11-03 intprops: add parentheses
10732         * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c:
10733         Copy from gnulib.
10735 2015-11-07  David Reitter  <david.reitter@gmail.com>
10737         Provide NS notification objects where required to eliminate warnings
10739         * src/nsterm.m (windowDidResize:, toggleFullScreen:):
10740         Call notification functions with notification objects
10741         as per delegate APIs.
10743 2015-11-07  Noam Postavsky  <npostavs@users.sourceforge.net>
10745         Add test for bug #21824
10747         * test/automated/buffer-tests.el: New file.
10748         (overlay-modification-hooks-message-other-buf): New test.
10750 2015-11-07  Kelvin White  <kwhite@gnu.org>
10752         * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771.
10754 2015-11-07  David Reitter  <david.reitter@gmail.com>
10756         Ignore fullscreen exit notifications on NS when frame is dead
10758         * src/nsterm.m (windowDidResize:, windowWillExitFullScreen:)
10759         (windowDidExitFullScreen:): Return if frame is dead.
10760         These functions may be called when a fullscreen frame
10761         is closed; they are called before, not after.
10763         May address Bug#21428.
10765 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
10767         Speed up lookup in redisplay--variables
10769         * lisp/frame.el (redisplay--variables): Make it a hash-table.
10771         * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
10772         as a hash-table.  This speeds up this function by an order of
10773         magnitude: where previously a setq was slowed down by 100% by
10774         introducing the maybe_set_redisplay test, it is now only 5%
10775         slower.
10776         (syms_of_xdisp) <redisplay--variables>: Doc fix.
10778 2015-11-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10780         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug.
10782         The defsubst was being created as:
10783             (cl-defsubst name (args) ("DOC") ...)
10785         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
10786         Add test.
10788 2015-11-07  Mihai Olteanu  <mihai_olteanu@fastmail.fm>  (tiny change)
10790         Update doc string of hexl-mode
10792         * lisp/hexl.el (hexl-mode): Doc fix.  (Bug#21800)
10794 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
10796         Fix error in copy-abbrev-table
10798         * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff
10799         property of the abbrev-table.  (Bug#21828)
10801         * test/automated/abbrev-tests.el: New file.
10803 2015-11-07  Michael Albinus  <michael.albinus@gmx.de>
10805         Add test to auto-revert-tests.el for Bug#21841
10807         * test/automated/auto-revert-tests.el
10808         (auto-revert-test01-auto-revert-several-files): New test.
10809         (auto-revert-test02-auto-revert-tail-mode)
10810         (auto-revert-test03-auto-revert-mode-dired): Rename them.
10812 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
10814         * doc/lispref/windows.texi (Coordinates and Windows): Fix typo.
10816 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
10818         In x_consider_frame_title don't set title of tooltip frames
10820         * src/xdisp.c (x_consider_frame_title): Return immediately for
10821         tooltip frames to avoid displaying empty tooltips.
10823 2015-11-06  Anders Lindgren  <andlind@gmail.com>
10825         Fixed NextStep fullscreen problem (bug#21770).
10827         * src/nsterm.m (ns_constrain_all_frames): Don't constrain
10828         fullscreen frames.
10830 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
10832         Ensure redisplay after evaluation
10834         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
10835         Revert last change.
10836         * lisp/frame.el (redisplay--variables): Populate the
10837         redisplay--variables list.
10838         * src/xdisp.c (maybe_set_redisplay): New function.
10839         (syms_of_xdisp) <redisplay--variables>: New variable.
10840         * src/window.h (maybe_set_redisplay): Declare prototype.
10841         * src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
10843 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
10845         * test/automated/subr-tests.el (subr-test-when): Fix again.
10847 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
10849         Don't invoke overlay modification hooks in wrong buffer
10851         * src/buffer.c (report_overlay_modification): When called with
10852         AFTER non-zero, don't invoke overlay modification hooks if the
10853         buffer recorded in last_overlay_modification_hooks is different
10854         from the current buffer.  (Bug#21824)
10856 2015-11-06  Juanma Barranquero  <lekktu@gmail.com>
10858         * admin/notes/repo: Fix a few obsolete references to Bazaar.
10860 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
10862         * test/automated/subr-tests.el (subr-test-when): Fix test.
10864 2015-11-06  Martin Rudalics  <rudalics@gmx.at>
10866         Avoid division by zero crash observed by Yuan MEI
10868         See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html.
10870         * src/dispnew.c (required_matrix_height, required_matrix_width):
10871         Avoid division by zero.
10872         * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and
10873         dpyinfo->smallest_char_width to 1.
10875 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
10877         Ensure redisplay after "C-x C-e"
10879         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure
10880         redisplay happens to account for any side effects of the evaluated
10881         sexp.  (Bug#21835)
10883 2015-11-06  Michael Albinus  <michael.albinus@gmx.de>
10885         Skip some file notification tests for cygwin
10887         * test/automated/file-notify-tests.el (file-notify--test-with-events):
10888         Remove argument TIMEOUT.  Adapt all callees.
10889         (file-notify-test02-events, file-notify-test04-file-validity):
10890         Skip for cygwin.  (Bug#21804)
10892 2015-11-05  Stephen Leake  <stephen_leake@stephe-leake.org>
10894         * lisp/progmodes/xref.el: Require semantic/symref during compilation.
10896 2015-11-05  Daiki Ueno  <ueno@gnu.org>
10898         Suppress redundant Pinentry startup messages
10900         * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument.
10901         * lisp/epg.el: Declare `pinentry-start'.
10902         (epg--start): Call `pinentry-start' with QUIET argument set.
10904 2015-11-05  Xue Fuqiao  <xfq.free@gmail.com>
10906         * doc/emacs/ack.texi (Acknowledgments): Updates.
10908 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
10910         * test/automated/elisp-mode-tests.el: Silence some run-time warnings.
10911         (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
10913 2015-11-05  Tassilo Horn  <tsdh@gnu.org>
10915         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
10916         Add prettification support for \times.
10918 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
10920         * test/automated/process-tests.el: Skip tests when bash is unavailable.
10921         (process-test-sentinel-accept-process-output)
10922         (process-test-sentinel-sit-for): skip-unless bash executable found.
10924 2015-11-05  Eli Zaretskii  <eliz@gnu.org>
10926         Add test for bug #21831
10928         * test/automated/process-tests.el
10929         (start-process-should-not-modify-arguments): New test.  (Bug#21831)
10930         Suggested by Nicolas Richard <youngfrog@members.fsf.org>
10932 2015-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
10934         * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests.
10936         (eieio--generic-static-object-generalizer): Fix typo.
10937         * test/automated/eieio-tests.el: Byte-compile it again.  It looks
10938         like the underlying cause of bug#17852 was fixed in the mean time.
10940 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
10942         Revert "* lisp/subr.el (when): Use `macroexp-progn'"
10944         This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8.
10945         It breaks bootstrapping (duh).
10947 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
10949         * lisp/files.el (report-errors): Obsolete.
10951         (normal-mode, hack-local-variables, dir-locals-find-file):
10952         Use `with-demoted-errors' instead.
10954 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
10956         * lisp/subr.el (when): Use `macroexp-progn'.
10958         * test/automated/subr-tests.el (subr-test-when): New test.
10960 2015-11-04  Juanma Barranquero  <lekktu@gmail.com>
10962         * lisp/progmodes/xref.el: Doc fixes.
10963         (xref-make-file-location, xref-make-buffer-location, xref-make)
10964         (xref-make-bogus-location, xref-make-match): Add cross-references.
10965         (xref--insert-xrefs): Fix typo in docstring.
10967 2015-11-04  Anders Lindgren  <andlind@gmail.com>
10969         Render fringe bitmaps correctly on NextStep (bug#21301)
10971         The fringe bitmaps were inverted, the background was not transparent,
10972         the image data was horizontally mirrored, and periodic fringe bitmaps
10973         were not supported.
10975         * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]):
10976         When both background and foreground colors are 0, set the background
10977         alpha channel to 0 (making the background transparent).  When
10978         copying the image data, do this from the most significant bit
10979         (leftmost) to the least (rightmost), to avoid mirroring.
10980         * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits.
10981         Add support for periodic images (e.g. the empty line indicator).
10983 2015-11-03  Michael Heerdegen  <michael_heerdegen@web.de>
10985         * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring.
10987 2015-11-03  Nicolas Petton  <nicolas@petton.fr>
10989         * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el.
10991         * admin/MAINTAINERS: Add thunk.el.
10993 2015-11-03  Jay Belanger  <jay.p.belanger@gmail.com>
10995         * lisp/calc/calc.el (calc-bug-address): Change maintainer address.
10997 2015-11-03  Michael Albinus  <michael.albinus@gmx.de>
10999         Fix a stupid error in gfilenotify.c
11001         * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only,
11002         if we've got a `deleted' signal AND the file name is the watched one.
11004 2015-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
11006         Fix Bug#21816; case insensitive file system in elisp-mode-tests.el
11008         * test/automated/elisp-mode-tests.el (xref-elisp-test-run):
11009         Use case-insensitive string compare for file names.
11010         (emacs-test-dir): Add 'downcase' to cause case differences (at
11011         least on my system).
11013 2015-11-02  Juanma Barranquero  <lekktu@gmail.com>
11015         flymake-tests.el (warning-predicate-rx-gcc): Fix check
11017         * test/automated/flymake-tests.el (warning-predicate-rx-gcc):
11018         Also check that "make" is available, not just "gcc".
11020 2015-11-02  Ken Brown  <kbrown@cornell.edu>
11022         Document behavior of collation on Cygwin
11024         * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as
11025         expected failure on Cygwin.
11026         * doc/lispref/strings.texi (Text Comparison): Document that
11027         punctuation and whitespace are not ignored for sorting on Cygwin.
11029 2015-11-02  Dani Moncayo  <dmoncayo@gmail.com>
11031         * build-aux/msys-to-w32: Prevent double slashes in w32 path list.
11033 2015-11-01  Glenn Morris  <rgm@gnu.org>
11035         * lisp/progmodes/f90.el (f90-no-block-limit): Add associate.
11036         (Bug#21794)
11037         * test/automated/f90.el (f90-test-bug21794): New test.
11039 2015-11-01  Juanma Barranquero  <lekktu@gmail.com>
11041         Fix incompatibility with TCC in test for bug#18745
11043         * test/automated/process-tests.el (process-test-quoted-batfile):
11044         Remove spaces unrelated to the bug being tested.
11046 2015-11-01  Michael Albinus  <michael.albinus@gmx.de>
11048         Improve completion in tramp-gvfs.el
11050         * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names):
11051         Rename from `tramp-zeroconf-parse-service-device-names'.
11052         (tramp-zeroconf-parse-webdav-device-names): Remove.  Code merged
11053         with `tramp-zeroconf-parse-device-names'.
11054         (tramp-gvfs-parse-device-names): New defun.
11055         (top): Use it when `tramp-zeroconf-parse-device-names' is not
11056         applicable.
11058         * lisp/net/tramp.el (tramp-set-completion-function): The argument
11059         could also be a zeroconf service type.
11061 2015-10-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11063         * lisp/net/ntlm.el: Change version to 2.0.0.
11065 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
11067         Fix bug#21762
11068         * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
11069         `eql' instead of `=' to accommodate the case that (syntax-after (point))
11070         returns nil.
11071         * test/automated/python-tests.el (python-indent-inside-paren-7):
11072         New test.
11074 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
11076         * test/automated/python-tests.el: Avoid warnings.
11077         (python-tests-with-temp-buffer, python-tests-with-temp-file):
11078         Bind `python-indent-guess-indent-offset' to nil.
11080 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
11082         * src/alloc.c: Silence compiler warnings.
11083         (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC.
11085 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
11087         * etc/NEWS: Fix js-jsx-mode entry punctuation.
11089 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
11091         Add JSX indentation via js-jsx-mode  (Bug#21799)
11093         * lisp/progmodes/js.el: Add JSX indentation support.
11094         (js--jsx-end-tag-re)
11095         (js--jsx-after-tag-re): New variables.
11096         (js--jsx-find-before-tag)
11097         (js--jsx-indented-element-p)
11098         (js--as-sgml)
11099         (js--expression-in-sgml-indent-line)
11100         (js-jsx-indent-line)
11101         (js-jsx-mode): New functions.
11102         * test/indent/js-jsx.js: New file.
11103         * etc/NEWS: Add information about js-jsx-mode.
11105 2015-10-31  Michael Albinus  <michael.albinus@gmx.de>
11107         Minor fix in filenotify.el
11109         * lisp/filenotify.el (file-notify--event-file-name)
11110         (file-notify--event-file1-name): Normalize result with
11111         `directory-file-name'.
11113 2015-10-31  Eli Zaretskii  <eliz@gnu.org>
11115         Avoid errors in redisplay--pre-redisplay-functions
11117         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
11118         use 'bobp', instead compare window-point with 1.  (Bug#21730)
11120 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11122         Merge from gnulib
11124         This incorporates:
11125         2015-10-30 intprops: add WRAPV and const flavors for GCC 5
11126         2015-10-25 stdalign: port to Sun C 5.9
11127         * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h:
11128         Copy from gnulib.
11130 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
11132         * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro.
11133         (w32_compare_strings): Adjust for the correction.
11135 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
11137         * test/automated/vc-tests.el (vc-test--state)
11138         (vc-test--working-revision, vc-test--checkout-model):
11139         Add result messages.
11141 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
11143         * test/automated/faces-tests.el: Add another test
11145 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
11147         * lisp/faces.el (faces--attribute-at-point): Fix bug
11148         introduced by previous commit.
11150 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
11152         * test/automated/faces-tests.el: New file.
11154 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
11156         * lisp/faces.el: Refactor common code and fix a bug.
11157         (faces--attribute-at-point): New function.  Fix a bug when the
11158         face at point is a list of faces and the desired attribute is not
11159         on the first one.
11160         (foreground-color-at-point, background-color-at-point): Use it.
11162 2015-10-30  Przemysław Wojnowski  <esperanto@cumego.com>
11164         * etc/tutorials/TUTORIAL.translators: Fix PL names.
11166 2015-10-30  Juanma Barranquero  <lekktu@gmail.com>
11168         * lisp/character-fold.el: Provide `character-fold'.
11170 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
11172         * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces
11173         for Gnus and ivy.
11175 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
11177         Some minor fixes for tramp-gvfs.el
11179         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
11180         An attribute returned by gvfs-info might be empty.  In case of
11181         undetermined uid or gid, return "UNKNOWN" or -1, respectively.
11182         (tramp-zeroconf-parse-service-device-names): New defun.
11183         Derived from `tramp-zeroconf-parse-workstation-device-names'.
11184         (top): Add completion functions for "afp" and "smb" methods.
11186 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
11188         * test/automated/character-fold-tests.el: New file
11190 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
11192         * test/automated/sort-tests.el: New file.
11193         Tests in this file are randomly generated and then tested with
11194         regular, reverse, and case-fold sorting.
11196 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
11198         Describe known problems with pinning Emacs to taskbar
11200         * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar
11201         on Windows 10.  For the details, see the discussion starting at
11202         http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html.
11204 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
11206         * lisp/isearch.el: Avoid an error that blocks isearch.
11207         (isearch-update): Don't error if `isearch--current-buffer' has
11208         been killed.
11210         * test/automated/isearch-tests.el (isearch--test-update):
11211         New file.
11213 2015-10-30  Phil Sainty  <psainty@orcon.net.nz>
11215         Fix documentation of 'beginning/end-of-buffer'
11217         * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify
11218         conditions under which the mark will be pushed at the previous
11219         position.  (Bug#21748)
11221 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
11223         Add RefTeX feature idea: editing RefTeX TOC buffers
11225         More face defs for ivy, swiper, ace-window, eshell
11227 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11229         * lisp/gnus/auth-source.el: Silence lexical-binding warnings.
11230         (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to
11231         just VAR.
11232         (auth-source-backend-parse): Use make-instance.
11233         (auth-source-search): Remove unused key args.
11234         Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
11235         (auth-source-search-backends): Use slot names rather than their initarg.
11236         (auth-source-netrc-create):
11237         (auth-source-delete):
11238         (auth-source-secrets-create, auth-source-plstore-search)
11239         (auth-source-macos-keychain-create, auth-source-macos-keychain-search)
11240         (auth-source-plstore-create, auth-source-netrc-search)
11241         (auth-source-netrc-parse): Remove unused key args.
11242         (auth-source-forget+): Simplify the arglist.
11243         (auth-source-macos-keychain-search-items)
11244         (auth-source-token-passphrase-callback-function): Mark unused args.
11245         (auth-source-epa-extract-gpg-token): Remove unused var `plain'.
11246         (pp-escape-newlines): Declare.
11247         (auto-source--symbol-keyword): New function.
11248         (auth-source-plstore-create, auth-source-netrc-create)
11249         (auth-source-netrc-normalize): Use it.
11250         (auth-source-netrc-search): Don't pass :delete to
11251         auth-source-netrc-parse since it doesn't use it.
11252         (auth-source-plstore-create, auth-source-netrc-create): Use plist-get
11253         symbol-value to index in keyword args.
11254         (auth-source-macos-keychain-result-append): Avoid setq.
11255         (auth-source-netrc-create): Remove unused vars `file' and `add'.
11256         (auth-source-user-or-password): Remove unused var `cname'.
11258 2015-10-29  Juri Linkov  <juri@linkov.net>
11260         * lisp/dired.el (dired-unmark-all-files-query): Declare.
11261         (dired-unmark-all-files): Let-bind it and use instead of ‘query’.
11262         (Bug#21746)
11264 2015-10-29  Juri Linkov  <juri@linkov.net>
11266         * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol
11267         to go to the beginning of text line instead of command line.
11268         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html
11270 2015-10-29  Eli Zaretskii  <eliz@gnu.org>
11272         Fix encoding of saving *Help* buffers
11274         * lisp/help-fns.el (describe-function-1): If we use curved quotes,
11275         set help buffer's buffer-file-coding-system to UTF-8.  (Bug#21780)
11277 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11279         * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context.
11280         (cl--generic-derived-specializers): New function.
11281         (cl--generic-derived-generalizer): New generalizer.
11282         (cl-generic-generalizers): New specializer (derived-mode MODE).
11283         (cl--generic-split-args): Apply the rewriter, if any.
11284         (cl-generic-define-context-rewriter): New macro.
11285         (major-mode): Use it to define a new context-rewriter, so we can write
11286         `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
11288         * lisp/frame.el (window-system): New context-rewriter so we can write
11289         `(window-system VAL)' instead of (window-system (eql VAL)).
11290         (cl--generic-split-args): Apply the rewriter, if any.
11291         (frame-creation-function): Use the new syntax.
11293         * lisp/term/x-win.el (window-system-initialization)
11294         (handle-args-function, frame-creation-function)
11295         (gui-backend-set-selection, gui-backend-selection-owner-p)
11296         (gui-backend-selection-exists-p, gui-backend-get-selection):
11297         * lisp/term/w32-win.el (window-system-initialization)
11298         (handle-args-function, frame-creation-function)
11299         (gui-backend-set-selection, gui-backend-get-selection)
11300         (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
11301         * lisp/term/pc-win.el (gui-backend-get-selection)
11302         (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
11303         (gui-backend-set-selection, window-system-initialization)
11304         (frame-creation-function, handle-args-function):
11305         * lisp/term/ns-win.el (window-system-initialization)
11306         (handle-args-function, frame-creation-function)
11307         (gui-backend-set-selection, gui-backend-selection-exists-p)
11308         (gui-backend-get-selection):
11309         * lisp/startup.el (handle-args-function):
11310         * lisp/term/xterm.el (gui-backend-get-selection)
11311         (gui-backend-set-selection): Use the new syntax.
11313 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11315         * test/indent/css-mode.css: Add tests for url(...) syntax.
11317 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11319         * lisp/emacs-lisp/smie.el: Use `declare' for `pure'.
11320         (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2)
11321         (smie-prec2->grammar): Use `declare'.
11323 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11325         * lisp/emacs-lisp/cl-generic.el: Accommodate future changes.
11326         (cl--generic-generalizer): Add `name' field.
11327         (cl-generic-make-generalizer): Add corresponding `name' argument.
11328         (cl-generic-define-generalizer): New macro.
11329         (cl--generic-head-generalizer, cl--generic-eql-generalizer)
11330         (cl--generic-struct-generalizer, cl--generic-typeof-generalizer)
11331         (cl--generic-t-generalizer): Use it.
11332         (cl-generic-ensure-function): Add `noerror' argument.
11333         (cl-generic-define): Use it so we don't follow aliases.
11334         (cl-generic-define-method): Preserve pre-existing ordering of methods.
11335         (cl--generic-arg-specializer): New function.
11336         (cl--generic-cache-miss): Use it.
11337         (cl-generic-generalizers): Only fset a temporary definition
11338         during bootstrap.
11339         (cl--generic-struct-tag, cl--generic-struct-specializers):
11340         Allow extra arguments.
11342         * lisp/emacs-lisp/eieio-compat.el
11343         (eieio--generic-static-symbol-generalizer)
11344         (eieio--generic-static-object-generalizer):
11345         Use cl-generic-define-generalizer.
11346         (eieio--generic-static-symbol-specializers): Allow extra arguments.
11348         * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
11349         (eieio--generic-subclass-generalizer):
11350         Use cl-generic-define-generalizer.
11351         (eieio--generic-subclass-specializers): Allow extra arguments.
11353 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
11355         * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope.
11357 2015-10-29  Michael Albinus  <michael.albinus@gmx.de>
11359         Add "afp" method to Tramp
11361         * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
11363         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
11364         (tramp-gvfs-handle-expand-file-name)
11365         (tramp-gvfs-handler-mounted-unmounted)
11366         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
11367         (tramp-gvfs-maybe-open-connection): Support also "afp".
11368         (tramp-gvfs-handle-file-attributes): Handle the case of empty
11369         "owner::user" and "owner::group" entries.
11371 2015-10-29  Andy Moreton  <andrewjmoreton@gmail.com>
11373         Handle negative coordinates in ‘x_calc_absolute_position’
11375         * src/w32term.c (x_calc_absolute_position): Find display origin to
11376         allow for negative coordinates.
11378 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
11380         (internal--syntax-propertize): Save match-data here (bug#21766)
11382         * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data.
11383         * lisp/simple.el (delete-trailing-whitespace): Undo last change.
11385 2015-10-28  Dmitry Gutov  <dgutov@yandex.ru>
11387         Don't require default-directory to end with a slash
11389         * doc/lispref/files.texi (Magic File Names): Document the change
11390         in unhandled-file-name-directory.
11392         * lisp/url/url-handlers.el
11393         (url-handler-unhandled-file-name-directory): Update accordingly.
11395         * src/buffer.c (default-directory): Update the docsting.
11397         * src/fileio.c (unhandled-file-name-directory): Default to calling
11398         `file-name-as-directory'
11399         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
11401 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
11403         * lisp/isearch.el: Delete some outdated comments.
11405 2015-10-28  Vibhav Pant  <vibhavp@gmail.com>
11407         Fix eshell/clear not working if the output has a small line count
11409         * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the
11410         number of newlines to be inserted. This fixes the issue where
11411         eshell/clear wouldn't work if the prompt was not at the bottom of the
11412         window, and the output wasn't too long.
11414 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
11416         * lisp/files.el (write-file): Use vc-refresh-state.
11418         * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state.
11420         * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state.
11422 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
11424         * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations.
11425         (macroexp-unprogn): Make sure we never return an empty list.
11426         (macroexp-if): Remove unused (and unsafe) optimization.
11427         Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does
11428         occur occasionally.
11430 2015-10-28  Juanma Barranquero  <lekktu@gmail.com>
11432         Fix bug#21766 and add test
11433         * lisp/simple.el (delete-trailing-whitespace): Save match data when
11434         calling `skip-syntax-backward'.
11435         * test/automated/simple-test.el (simple-delete-trailing-whitespace):
11436         New test.
11438 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
11440         * doc/lispref/sequences.texi (Sequence Functions): Fix typo.
11442 2015-10-28  Paul Eggert  <eggert@cs.ucla.edu>
11444         * src/dispnew.c (init_display): Simplify overflow checking.
11446 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
11448         * lisp/character-fold.el (character-fold-to-regexp): Fix case
11449         where string ends in space
11451 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
11453         * lisp/emacs-lisp/seq.el (seq-mapn): New function.
11455         * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn.
11457 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
11459         * lisp/character-fold.el: Make compatible with lax-whitespace.
11460         (character-fold-to-regexp): Rework internals to play nice with
11461         lax-whitespacing.
11463         When the user types a space, we want to match the table entry for
11464         ?\s, which is generally a regexp like "[ ...]".  However, the
11465         `search-spaces-regexp' variable doesn't "see" spaces inside these
11466         regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to
11467         manually expose a space).
11469         Furthermore, the lax search engine acts on a bunch of spaces, not
11470         on individual spaces, so if the string contains sequential spaces
11471         like "  ", we need to keep them grouped together like this:
11472         "\\(  \\|[ ...][ ...]\\)".
11474 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
11476         * lisp/isearch.el: Refactor momentary messages.
11477         (isearch--momentary-message): New function.
11478         (isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
11479         (isearch-toggle-invisible): Use it.
11481 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
11483         * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'.
11484         (isearch-define-mode-toggle): New macro.
11485         (isearch-toggle-invisible): Rename to
11486         `isearch-define-mode-toggle'.
11487         (isearch-toggle-case-fold, isearch-toggle-invisible)
11488         (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
11489         with `isearch-define-mode-toggle'.
11491 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
11493         Avoid using `add-to-list' on a let-local var in tramp-smb.el
11495         * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun.
11496         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
11498 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
11500         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
11501         Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups'
11502         does not exist in XEmacs 21.4.
11504 2015-10-28  Anders Lindgren  <andlind@gmail.com>
11506         Fixed OS X startup crash
11508         Input events started to arrive before ns_term_init() was finished.
11509         Solved by blocking input.  This also seems to correct the "You
11510         can't open the application "Emacs" because it may be damaged or
11511         incomplete" error issued when double-clicking on the Emacs
11512         application.
11514         * src/nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
11515         * src/nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
11517 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
11519         * src/process.c (Fget_buffer_process): Improve docstring.
11520         Document the fact that it doesn't return dead processes.
11522 2015-10-28  Anders Lindgren  <andlind@gmail.com>
11524         Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
11526         * src/nsterm.h (struct ns_output): New flag, in_animation.
11527         * src/nsfns.m (Fx_create_frame): Initialize in_animation flag.
11528         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
11529         in_animation flag around call to "setVisible". Set new tool bar
11530         height before call to setVisible.
11531         * src/nsterm.m (x_set_window_size): Don't call [view setRow:
11532         andColumns:] as this fools the subsequent call to updateFrameSize
11533         from performing the real resize.
11534         (windowDidResize): Don't update anything when in_animation is
11535         non-zero.
11537         Trace output.
11539         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
11540         (EmacsToolbar):
11541         * src/nsterm.m (x_set_window_size, updateFrameSize)
11542         ([EmacsView setRows: andColumns:])
11544 2015-10-28  Nicolas Petton  <nicolas@petton.fr>
11546         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro.
11548 2015-10-28  Tassilo Horn  <tsdh@gnu.org>
11550         Prettify TeX macros not ending in a word char
11552         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
11553         Prettify macros which don't end in a word character.
11555 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
11557         Pipe Hg commit descriptions through 'tabindent'
11559         * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description
11560         through 'tabindent'.
11561         (vc-hg-log-view-mode): Set tab-width to 2 locally.
11562         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html)
11564 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
11566         * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var.
11567         (tramp-smb-handle-directory-files): Use `delete-dups'.
11569         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
11571 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
11573         * lisp/international/ccl.el: Use lexical-binding.
11574         (ccl-compile-if): Remove unused var `false-ic'.
11575         (ccl-compile-write-repeat): Remove unused var `i'.
11576         (ccl-compile-map-single): Remove unused var `id'.
11577         (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the
11578         dynamic var `ccl-code'.
11580 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
11582         * lisp/json.el (json-new-object): Optimize trivial `list' call.
11584 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
11586         * lisp/help.el: Fix bug with incorrect arglist string.
11587         (help-add-fundoc-usage): Don't mistake a mis-formatted string
11588         for a list.
11590 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
11592         * lisp/gnus/gnus-topic.el: Silence some warnings.
11593         (gnus-topic-prepare-topic): Remove unused var `topic'.
11594         (gnus-topic-remove-topic): Mark unused arg `hide'.
11595         (gnus-tmp-header): Declare.
11596         (gnus-topic-goto-missing-group): Remove unused var `entry'.
11597         (gnus-topic-unmark-topic): Mark unused arg `dummy'.
11598         (gnus-topic-copy-matching): Mark unused arg `copyp'.
11599         Move initialization of `topic' into its declaration.
11601 2015-10-27  Stephen Leake  <stephen_leake@stephe-leake.org>
11603         Minor CEDET fixes
11605         * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call):
11606         Handle warnings from gtags about invalid options.
11607         (cedet-gnu-global-create/update-database): Do incremental update
11608         properly.
11610         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
11611         Get monotone root right.
11613 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
11615         Fall back to polling in autorevert when needed
11617         * lisp/autorevert.el (auto-revert-notify-handler): When a
11618         `stopped' event arrives from file notification, fall back to polling.
11620         * test/automated/file-notify-tests.el
11621         (file-notify-test03-autorevert): Extend test for polling when file
11622         notification ceases to work.
11624 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
11626         Show full commit messages in 'hg log' when appropriate
11628         * lisp/vc/vc-hg.el (vc-hg-log-format): New variable.
11629         (vc-hg-print-log, vc-hg-expanded-log-entry): Use it.
11630         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html)
11632 2015-10-27  Nicolas Petton  <nicolas@petton.fr>
11634         Use a plain SVG file for the icon
11636         * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG
11637           format instead of the Inkscape SVG format.
11639 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
11641         Fix subtle bug in auto-revert-tests.el
11643         * test/automated/auto-revert-tests.el
11644         (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages*
11645         buffer where it belongs to.  (Bug#21668)
11647 2015-10-26  Nicolas Petton  <nicolas@petton.fr>
11649         * lisp/emacs-lisp/map.el: Better docstrings.
11651         * lisp/emacs-lisp/seq.el: Better docstrings.
11653         * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence.
11655 2015-10-26  Phillip Lord  <phillip.lord@russet.org.uk>
11657         * lisp/emacs-lisp/ert.el: Print results without newline escaping.
11659 2015-10-26  Stephen Leake  <stephen_leake@stephe-leake.org>
11661         Clarify that load-path contents should be directory file names
11663         * doc/lispref/files.texi (Directory Names): Define and use "directory
11664         file name".  Recommend `expand-file-name'.
11666         * src/lread.c (load-path): Fix doc string; elements are directory file
11667         names.
11669 2015-10-26  Eli Zaretskii  <eliz@gnu.org>
11671         Fix simple-test.el test
11673         * test/automated/simple-test.el (simple-test--dummy-buffer):
11674         Make sure indentation doesn't use TABs, otherwise the 6th test
11675         might fail.
11677 2015-10-26  Mark Oteiza  <mvoteiza@udel.edu>
11679         * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width.
11680         `substring' does not account for full width characters.
11682 2015-10-26  Michael Albinus  <michael.albinus@gmx.de>
11684         Further work on `stopped' events in filenotify.el
11686         * doc/lispref/os.texi (File Notifications): Rework examples.
11688         * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter.
11689         (file-notify--rm-descriptor, file-notify-callback): Improve check
11690         for sending `stopped' event.
11691         (file-notify-add-watch): Check for more events for `inotify'.
11693         * test/automated/file-notify-tests.el
11694         (file-notify--test-expected-events): New defvar.
11695         (file-notify--test-with-events): Use it.
11696         (file-notify--test-cleanup): Make it more robust when deleting
11697         directories.
11698         (file-notify--test-event-test): Check also for watched directories.
11699         (file-notify--test-event-handler): Suppress temporary .#files.
11700         (file-notify-test02-events, file-notify-test04-file-validity):
11701         Rework `stopped' events.
11702         (file-notify-test05-dir-validity): Wait for events when appropriate.
11704 2015-10-26  Artur Malabarba  <bruce.connor.am@gmail.com>
11706         * src/keyboard.c (post-command-hook): Shorten docstring.
11708 2015-10-26  Tassilo Horn  <tsdh@gnu.org>
11710         Fix infinite loop in sh-script's SMIE code
11712         * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite
11713         loop (bug#21747).
11715 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
11717         * lisp/isearch.el (search-default-regexp-mode): Revert to nil.
11718         Character-fold search _still_ doesn't play well with
11719         lax-whitespace.  So disable it by default (again) for now.
11721 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
11723         * lisp/isearch.el: No visual feedback for default search mode.
11724         During an isearch where character-folding is the default, we don't
11725         want to take up minibuffer space just to tell the user that
11726         "Char-fold " is on.  The same goes for other modes, if the user
11727         changes the default.  In contrast, if the user toggles OFF the
11728         default mode, they should see "Literal", to distinguish it from
11729         the default mode.
11730         (isearch--describe-regexp-mode): Return "" if describing the
11731         default mode, and return "literal " if describing a plain search
11732         and it is not default.
11734 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
11736         * test/automated/simple-test.el: New file.
11737         Define tests for `newline' and `open-line'.
11739 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
11741         * lisp/simple.el (open-line): Integrate with electric-indent-mode.
11742         Also run `post-self-insert-hook' when called interactively.
11744 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
11746         * lisp/simple.el (open-line): Fix docstring.
11747         Also explain apparently redundant line.
11749 2015-10-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11750             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
11752         Sync with soap-client repository, version 3.0.1
11754         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
11755         Bump version to 3.0.1.
11757         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page.
11759 2015-10-25  Eli Zaretskii  <eliz@gnu.org>
11761         * lisp/progmodes/grep.el (grep): Doc fix.  (Bug#21754)
11763 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
11765         * src/keyboard.c (post-command-hook): Extend the docstring.
11766         Mainly, explain how to use it without hanging Emacs, or giving the
11767         impression that it is hanging.  Also mention `pre-command-hook'.
11768         (pre-command-hook): Mention `post-command-hook'.
11770 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
11772         * lisp/custom.el (custom-declare-variable): Shorten code again.
11773         Without using pcase this time.  We can't use pcase because it is
11774         loaded after custom in loadup.el.  Also add a comment explaining
11775         this to future dummies like me.
11777 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
11779         * doc/lispref/os.texi (File Notifications): Document `stopped event'.
11781 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
11783         Introduce `stopped' event in file notification
11785         * lisp/filenotify.el (file-notify--rm-descriptor): New defun.
11786         (file-notify-rm-watch): Use it.
11787         (file-notify-callback): Implement `stopped' event.
11788         (file-notify-add-watch): Mention `stopped' in the docstring.
11789         Check, that upper directory exists.
11791         * test/automated/file-notify-tests.el (file-notify-test01-add-watch):
11792         Add two test cases.
11793         (file-notify-test02-events): Handle also `stopped' event.
11794         (file-notify-test04-file-validity): Add another test case.
11796 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
11798         Revert commit that broke 'make bootstrap'
11800         * lisp/custom.el (custom-declare-variable): Revert commit
11801         79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
11802         even when pcase has not been defined yet, when doing bootstrapping.
11804 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
11806         Port recent inline functions fix to Standard C
11808         * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove.
11809         All uses rewritten to define the function directly rather than to
11810         use a macro to define the function.  This conforms to Standard C,
11811         which does not allow stray semicolons at the top level.  I hope it
11812         also avoids the problems with TAGS.  Those macros, though clever,
11813         were pretty confusing anyway, and it wasn’t clear they were worth
11814         the aggravation even without the TAGS problem.
11816 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
11818         * lisp/isearch.el: Make character-fold search the default again.
11820 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
11822         * lisp/character-fold.el: Many improvements.
11823         (character-fold-search-forward, character-fold-search-backward):
11824         New command.
11825         (character-fold-to-regexp): Remove lax-whitespace hack.
11826         (character-fold-search): Remove variable.  Only isearch and
11827         query-replace use char-folding, and they both have their own
11828         variables to configure that.
11830 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
11832         * lisp/isearch.el: Generalize definition of regexp-function toggles.
11833         (isearch-specify-regexp-function): New macro for specifying
11834         possible values of `isearch-regexp-function'.
11835         (isearch-toggle-character-fold, isearch-toggle-symbol)
11836         (isearch-toggle-word): Define with `isearch-specify-regexp-function'.
11838 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
11840         * lisp/isearch.el (search-default-regexp-mode): New variable.
11841         (isearch-mode): Use it.
11843 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
11845         * lisp/isearch.el (search-exit-option, search-slow-window-lines)
11846         (search-slow-speed, search-upper-case)
11847         (search-nonincremental-instead, search-whitespace-regexp)
11848         (search-invisible, isearch-hide-immediately)
11849         (isearch-resume-in-command-history, search-ring-max)
11850         (regexp-search-ring-max, search-ring-update, search-highlight)
11851         (isearch-fail): Delete :group entries.
11853 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
11855         * lisp/custom.el (custom-declare-variable): Shorten code a bit.
11857 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
11859         addpm.c: Silence some warnings.
11861         * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction
11862         to LPBYTE.
11863         (add_registry): Pass NULL to optional lpClass argument of
11864         RegCreateKeyEx, not an empty string.
11866 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
11868         addpm.c: Do not add obsolete GTK libraries to the path.
11870         * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete.
11871         (add_registry): Remove variables `size' and `gtk_key'.
11872         Do not add the GTK DLL directory to the library search path; it is
11873         confusing behavior (in particular, the same Emacs version with and
11874         without invoking addpm will use a different path), and the GTK image
11875         libraries are obsolete anyway.
11877 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
11879         addpm.c: Replace existing registry entries, but do not create new ones
11881         * nt/addpm.c (add_registry): If the Emacs registry key exists, replace
11882         existing values from previous versions, but do not add new ones; the
11883         key could exist for other reasons unrelated to old Emacsen, like X-style
11884         resources, or to set some environment variables like HOME or LANG, and
11885         in that case we don't want to populate it with obsolete values.
11887 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
11889         * nt/addpm.c (add_registry): Do not compute unused return value.
11891 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
11893         addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx
11895         * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of
11896         RegOpenKeyEx, not REG_OPTION_NON_VOLATILE.  This doesn't change
11897         current behavior because REG_OPTION_NON_VOLATILE is defined to
11898         be 0L anyway, but that option is actually documented only for
11899         RegCreateKeyEx.
11901 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
11903         * src/w32notify.c (Fw32notify_add_watch): Fix version check.
11905 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
11907         Update frame title when redisplay scrolls selected window
11909         * src/xdisp.c (redisplay_window): Reconsider the frame's title
11910         when the mode-line of the frame's selected window needs to be
11911         updated.
11913 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
11915         Update frame title when scrolling the selected window
11917         * src/window.c (wset_update_mode_line): New function, sets either
11918         the window's update_mode_line flag or the global update_mode_lines
11919         variable.
11920         (Fset_window_start, set_window_buffer, window_scroll_pixel_based)
11921         (window_scroll_line_based): Call it instead of only setting the
11922         window's update_mode_line flag.
11924 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
11926         An even better fix for bug#21739
11928         * src/window.c (set_window_buffer): If the window is the frame's
11929         selected window, set update_mode_lines, not the window's
11930         update_mode_line flag.
11931         * src/buffer.c (Fkill_buffer): Undo last change.
11932         (set_update_modelines_for_buf): Function deleted.
11934 2015-10-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11935             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
11937         Sync with soap-client repository, version 3.0.0
11939         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
11940         Bump version to 3.0.0.
11942         * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch.
11944         * lisp/net/soap-client.el: Merge in changes from Emacs master branch.
11946         * lisp/net/soap-inspect.el: Shorten first line description.
11948         * lisp/net/soap-client.el: Make a small whitespace fix.
11950         * lisp/net/soap-inspect.el: Update copyright years.
11952         * lisp/net/soap-client.el (soap-encoded-namespaces): Move above
11953         first use in soap-encode-xs-element.
11955         * lisp/net/soap-client.el (soap-type-is-array?): new defun
11956         (soap-encode-xs-element): handle array elements in this function
11957         (soap-encode-xs-complex-type): flag error if asked to encode an
11958         array type, this is handled in `soap-encode-xs-element'
11960         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group):
11961         Do not print type for attribute group.
11963         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group)
11964         New function.
11965         (soap-inspect-xs-attribute-group): Likewise.
11967         * lisp/net/soap-inspect.el
11968         (soap-resolve-references-for-xs-attribute-group): Resolve
11969         references of attributes in an attribute group.
11971         * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute
11972         type directly, not through soap-wsdl-get.
11974         * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference
11975         nil if reference attribute is nil.
11977         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
11978         Convert XML schema attributes to xsd:string.
11980         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute):
11981         New function.
11982         (soap-sample-value-for-xs-simple-type): Prepend attributes to result.
11983         (soap-sample-value-for-xs-complex-type): Likewise.
11984         (soap-inspect-xs-attribute): New function.
11985         (soap-inspect-xs-simple-type): Print attributes.
11986         (soap-inspect-xs-complex-type): Likewise.
11988         * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type):
11989         Resolve references for attributes.
11990         (soap-resolve-references-for-xs-complex-type): Likewise.
11992         * lisp/net/soap-client.el (soap-xml-node-find-matching-child):
11993         Rename from soap-xml-node-first-child.
11994         (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child.
11995         (soap-xs-parse-simple-type): Likewise.
11997         * lisp/net/soap-client.el (soap-invoke-async): Add error checking.
11999         * lisp/net/soap-client.el (soap-invoke-internal): New function.
12000         (soap-invoke-async): Call soap-invoke-internal.
12001         (soap-invoke): Likewise.
12003         * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to
12004         url-retrieve callback is killed.
12006         * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node):
12007         Rename function.
12008         (soap-parse-wsdl-phase-fetch-imports): Likewise.
12009         (soap-parse-wsdl-phase-parse-schema): Likewise.
12010         (soap-parse-wsdl-phase-fetch-schema): Likewise.
12011         (soap-parse-wsdl-phase-finish-parsing): Likewise.
12012         (soap-parse-wsdl): Update calls.
12014         * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation.
12016         * lisp/net/soap-client.el (soap-invoke-async): New function.
12017         (soap-invoke): Reimplement using soap-invoke-async.
12019         * lisp/net/soap-client.el (soap-parse-server-response):
12020         Improve docstring.
12021         (soap-invoke): Inline call to soap-parse-server-response.
12023         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
12024         Prevent incorrect warning.
12026         * lisp/net/soap-client.el (soap-parse-server-response):
12027         Rename soap-process-url-response.  Destroy the mime part.
12028         (soap-invoke): Call soap-parse-server-response.
12030         * lisp/net/soap-client.el: Update copyright date.
12032         * lisp/net/soap-client.el: Fix checkdoc issues.
12034         * lisp/net/soap-client.el: Fix indentation and long lines.
12036         * lisp/net/soap-client.el (soap-time-format): Remove variable.
12037         (soap-encode-xs-basic-type): Simplify date-time format detection.
12038         (soap-decode-xs-basic-type): Remove soap-time-format support.
12040         * lisp/net/soap-client.el (soap-process-url-response): New function.
12041         (soap-fetch-xml-from-url): Call soap-process-url-response.
12042         (soap-parse-wsdl-phase-1): New function.
12043         (soap-parse-wsdl-phase-2): Likewise.
12044         (soap-parse-wsdl-phase-3): Likewise.
12045         (soap-parse-wsdl-phase-4): Likewise.
12046         (soap-parse-wsdl-phase-5): Likewise.
12047         (soap-parse-wsdl): Call phase functions.
12049         * lisp/net/soap-client.el (soap-decode-xs-basic-type):
12050         Remove one-argument and call.
12052         * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring.
12054         * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable.
12055         (soap-parse-schema): Add wsdl argument.  Look up XML schema
12056         imports from wsdl.
12057         (soap-load-wsdl): Do not set soap-xmlschema-imports.
12058         (soap-parse-wsdl): Get XML schema imports from wsdl.
12060         * lisp/net/soap-client.el (soap-current-file): Remove variable.
12061         (soap-wsdl): Add current-file slot.
12062         (soap-fetch-xml-from-url): Add wsdl argument.  Look up current
12063         file from wsdl.
12064         (soap-fetch-xml-from-file): Likewise.
12065         (soap-fetch-xml): Likewise.
12066         (soap-load-wsdl): Always create wsdl object first.
12067         (soap-parse-wsdl): Pass wsdl to soap-fetch-xml.
12069         * lisp/net/soap-client.el (soap-xs-element): Add is-group slot.
12070         (soap-xs-parse-element): Set is-group slot.
12071         (soap-resolve-references-for-xs-element): Skip is-group elements.
12072         (soap-xs-complex-type): Add is-group slot.
12073         (soap-xs-parse-complex-type): Set is-group slot.
12074         (soap-xs-parse-sequence): Parse xsd:group elements.
12075         (soap-resolve-references-for-xs-complex-type): Inline elements
12076         from referenced xsd:group nodes.
12077         (soap-parse-schema): Parse xsd:group nodes.
12079         * lisp/net/soap-client.el (soap-invoke):
12080         Don't set url-http-version to 1.0.
12082         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
12083         Allow choice nodes to accept multiple values.
12085         * lisp/net/soap-client.el (soap-encode-body): Check parameters argument
12086         for extra header values.
12088         * lisp/net/soap-client.el (soap-well-known-xmlns):
12089         Add wsa and wsaw tags.
12090         (soap-operation): Add input-action and output-action slots.
12091         (soap-parse-operation): Parse wsaw:Action nodes.
12092         (soap-encode-body): Encode service-url for WS-Addressing.
12093         (soap-create-envelope): Likewise.
12094         (soap-invoke): Update soap-create-envelope call to provide
12095         service-url argument.
12097         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
12098         Support xsi:type override attribute.
12099         (soap-decode-array): Likewise.
12101         * lisp/net/soap-client.el (soap-parse-schema):
12102         Handle location attribute.
12104         * lisp/net/soap-client.el (soap-decode-type): Check that multiRef
12105         matched validation regexp.
12107         * lisp/net/soap-client.el (soap-encode-xs-simple-type):
12108         Encode xsd:list nodes.
12109         (soap-decode-xs-simple-type): Decode xsd:list nodes.
12111         * lisp/net/soap-client.el (soap-get-candidate-elements):
12112         Fix reference handling.
12114         * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot.
12115         (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes.
12116         (soap-xs-add-list): New function.
12118         * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is
12119         expected, interpret nil as "false".
12121         * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth,
12122         gYear, gMonthDay, gDay and gMonth.
12124         * lisp/net/soap-client.el (soap-time-format): New variable.
12125         (soap-encode-xs-basic-type): Handle dateTime, time, date,
12126         gYearMonth, gYear, gMonthDay, gDay and gMonth.
12127         (soap-decode-date-time): New function.
12128         (soap-decode-xs-basic-type): Use soap-decode-date-time.
12130         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value
12131         after encoding.
12132         (soap-decode-xs-basic-type): Validate value before decoding.
12134         * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function.
12135         (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type.
12137         * lisp/net/soap-client.el (soap-xs-add-union): Append result to base
12138         instead of overwriting it.
12139         (soap-validate-xs-simple-type): Add union support.
12141         * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern
12142         to Emacs regexp using xsdre-translate.
12143         (soap-validate-xs-simple-type): Validate value against pattern.
12145         * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of
12146         inline simpleType nodes.
12147         (soap-decode-type): Handle union types.
12149         * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type
12150         attributes.
12152         * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename
12153         from soap-xs-attribute-group-consolidate, all callers updated
12154         (soap-get-xs-attributes): Rename from
12155         soap-xs-attributes-consolidate, all callers updated
12157         * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot.
12158         (soap-xs-attribute-group): New type.
12159         (soap-xs-parse-attribute-group): New function.
12160         (soap-resolve-references-for-xs-attribute-group): Likewise.
12161         (soap-xs-add-extension): Handle attribute groups.
12162         (soap-resolve-references-for-xs-simple-type): Likewise.
12163         (soap-xs-parse-complex-type): Likewise.
12164         (soap-xs-parse-extension-or-restriction): Likewise.
12165         (soap-resolve-references-for-xs-complex-type): Likewise.
12166         (soap-xs-attribute-group-consolidate): New function.
12167         (soap-xs-attributes-consolidate): Handle attribute groups.
12168         (soap-parse-schema): Likewise.
12170         * lisp/net/soap-client.el (soap-encode-xs-basic-type):
12171         Fix boolean encoding.
12173         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref
12174         element names in warnings.
12176         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing.
12178         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
12179         Eliminate invalid warnings for choice types.
12181         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
12182         Also encode base type attributes.
12184         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation
12185         warning.  Print e-name in warnings, or element if e-name is nil.
12187         * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot.
12188         (soap-xs-parse-element): Set substitution-group.
12189         (soap-resolve-references-for-xs-element): Populate alternatives slot.
12190         (soap-get-candidate-elements): New function.
12191         (soap-encode-xs-complex-type): Iterate through all candidate elements.
12192         Handle types with nil type indicator.  Fix warning logic.
12194         * lisp/net/soap-client.el (soap-current-wsdl): Move declaration
12195         earlier in the file to prevent compiler warning.
12197         * lisp/net/soap-client.el (soap-node-optional): New function.
12198         (soap-node-multiple): Likewise.
12199         (soap-xs-parse-element): Call soap-node-optional and
12200         soap-node-multiple.
12201         (soap-xs-complex-type): Add optional? and multiple? slots.
12202         (soap-xml-get-children-fq): New function.
12203         (soap-xs-element-get-fq-name): Likewise.
12204         (soap-xs-complex-type-optional-p): Likewise.
12205         (soap-xs-complex-type-multiple-p): Likewise.
12206         (soap-xs-attributes-consolidate): Likewise.
12207         (soap-decode-xs-attributes): Likewise.
12208         (soap-decode-xs-complex-type): Decode types with nil type indicator.
12209         Support children that use local namespaces.  Decode attributes.
12210         Add type considerations to optional? and multiple? warnings.
12212         * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction):
12213         Store parsed attributes.
12214         (soap-encode-xs-complex-type-attributes): Encode custom attributes.
12216         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
12217         Don't add the xsi:type attribute (Exchange refuses requests which have
12218         this attribute).
12220         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Convert to lexical binding,
12221         correct compiler warnings about unused function arguments and
12222         local variables.
12224         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil
12225         type indicator.
12226         (soap-parse-envelope): Handle response headers.
12227         (soap-parse-response): Likewise.  Only return non-nil decoded values.
12229         * lisp/net/soap-client.el (soap-validate-xs-simple-type):
12230         Return validated value.
12232         * lisp/net/soap-client.el (soap-xs-parse-element)
12233         (soap-xs-parse-simple-type)
12234         (soap-xs-parse-complex-type)
12235         (soap-parse-message)
12236         (soap-parse-operation): Add the current namespace to the element
12237         being created.
12238         (soap-resolve-references-for-xs-element)
12239         (soap-resolve-references-for-xs-simple-type)
12240         (soap-resolve-references-for-xs-complex-type)
12241         (soap-resolve-references-for-operation): Resolve the namespace to
12242         the namespace tag.
12243         (soap-make-wsdl): specify a namespace tag when creating the xsd
12244         and soapenc namespaces
12245         (soap-wsdl-resolve-references): don't update namespace tags in
12246         elements here
12247         (soap-parse-port-type): bind the urn: to soap-target-xmlns
12248         (soap-encode-body): don't add nil namespace tags to
12249         soap-encoded-namespaces
12251         * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object
12252         for registering the soap-inspect method.  Make debbugs tests pass.
12253         * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the
12254         type name, also skip string only nodes when decoding a structure.
12255         (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice
12256         types too.
12257         (soap-encode-body): Grab the header value from the param table.
12259         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
12260         New function.
12261         (soap-encode-xs-element): Don't encode nil value unless needed.
12263         * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`.
12264         (soap-parse-binding): Parse the message parts required in the body.
12265         (soap-encode-body): Encode only the parts that are declared to be
12266         part of the body.
12268         * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name
12269         when writing out the tag.
12270         (soap-encode-body): Remove hack that inserts the xmlns in the
12271         element attributes list.
12273         * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot.
12274         (soap-xs-parse-attribute): Default slot is set from the XML
12275         "fixed" attribute.
12276         (soap-encode-xs-complex-type-attributes): Encode any attributes
12277         that have a default value.  Also, don't put the xsi:nil attribute
12278         when the complex type has no content anyway.
12280         * lisp/net/soap-client.el (soap-well-known-xmlns):
12281         Add the xml namespace.
12282         (soap-local-xmlns): Start with the xml namespace.
12283         (soap-xml-node-first-child): Skip xsd:annotation nodes too.
12284         (soap-make-xs-basic-types): More xsd types added.
12285         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
12286         Handle "language", "time", "date", "nonNegativeInteger".
12287         (soap-resolve-references-for-xs-element): Don't signal an error if
12288         the element does not have a type.
12289         (soap-xs-parse-simple-type): Subtypes are handled with ecase,
12290         added stum for xsd:list.
12291         (soap-xs-add-union): Call soap-l2fq on all union members.
12292         (soap-xs-add-extension): Call soap-l2fq on the base member.
12293         (soap-resolve-references-for-xs-simple-type): Don't signal an
12294         error if the simple type has no base.
12295         (soap-resolve-references-for-xs-simple-type): Bugfix, call
12296         soap-wsdl-get on each type of the base.
12298         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
12299         Referenced type can be eiher a simple type or a basic type.
12300         (soap-xs-add-restriction)
12301         (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base.
12302         (soap-make-xs-basic-types)
12303         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
12304         Add support for more XMLSchema basic types.
12305         (soap-current-file, soap-xmlschema-imports): New defvars.
12306         (soap-parse-schema): Add locations from xsd:import tags to
12307         `soap-xmlschema-imports'.
12308         (soap-wsdl): Make destructor private.
12309         (soap-make-wsdl): New defun, SOAP-WSDL object constructor.
12310         (soap-wsdl-add-alias): Check if we try to replace aliases.
12311         (soap-fetch-xml-from-url, soap-fetch-xml-from-file)
12312         (soap-fetch-xml): New defuns.
12313         (soap-load-wsdl): Update to load the WSDL from either a file or
12314         an url.
12315         (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'.
12316         (soap-parse-wsdl): Process wsdl:import tags and imports from
12317         `soap-xmlschema-imports'.
12318         * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of
12319         symbol-name.
12320         (soap-l2fq): Make the name part always a string.
12321         (soap-name-p): New defun, used for name tests.
12323         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type):
12324         Supply sample values for choice types with a special tag.
12325         * lisp/net/soap-client.el (soap-encode-xs-complex-type):
12326         Handle anonymous elements correctly.
12327         (soap-encode-value): Accept nodes that have no namespace tag.
12329         * lisp/net/soap-client.el (soap-invoke): Encode the string for
12330         `url-request-data' as UTF-8.  Fixes issue 16.
12332 2015-10-24  Nicolas Petton  <nicolas@petton.fr>
12334         Update the new icon
12336         Move the E slightly to the right in the circle.
12338         * etc/images/icons/hicolor/128x128/apps/emacs.png:
12339         * etc/images/icons/hicolor/16x16/apps/emacs.png:
12340         * etc/images/icons/hicolor/24x24/apps/emacs.png:
12341         * etc/images/icons/hicolor/32x32/apps/emacs.png:
12342         * etc/images/icons/hicolor/48x48/apps/emacs.png:
12343         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
12344         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
12345         * nt/icons/emacs.ico: New icom update.
12347 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
12349         Avoid missing inline functions from lisp.h in TAGS
12351         * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
12352         need to end each invocation with a semi-colon.
12353         Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
12354         and LISP_MACRO_DEFUN_VOID.  This is to avoid missing in TAGS
12355         inline functions defined immediately after each invocation, and
12356         also avoid tagging every invocation of these macros.
12358 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
12360         A better fix for bug#21739
12362         * src/buffer.c (set_update_modelines_for_buf): New function.
12363         (Fkill_buffer): Use it to set the global variable
12364         update_mode_lines if the killed buffer was displayed in some
12365         window.  Don't set windows_or_buffers_changed.  This is a better
12366         fix for bug#21739 than the previous fix, since it will cause only
12367         redisplay of mode lines, not of entire windows, but will still
12368         catch attention of x_consider_frame_title in xdisp.c, which
12369         redraws the frame title.
12371 2015-10-24  Tassilo Horn  <tsdh@gnu.org>
12373         * lisp/dired-aux.el (dired-compress-files-alist): Add support for
12374         tar.bz2 and tar.xz archives.
12376 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
12378         Fix infloop in redisplay introduced by a recent change
12380         * src/xdisp.c (redisplay_internal): Avoid inflooping when
12381         redisplaying the selected window sets the selected frame's
12382         redisplay flag.  (Bug#21745)
12384 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
12386         * lisp/emacs-lisp/thunk.el: Better documentation.
12388 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
12390         Replace the old icon for Windows and Mac OSX
12392         * nt/icons/emacs.ico:
12393         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
12394         Use the new icons.
12396 2015-10-23  Stephen Leake  <stephen_leake@stephe-leake.org>
12398         * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
12399         `load-path' should contain only directory names.
12401 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
12403         New library thunk.el
12405         thunk.el is extracted from stream.el in ELPA, with additional tests.
12407         * lisp/emacs-lisp/thunk.el: New file.
12408         * test/automated/thunk-tests.el: New file.
12409         * etc/NEWS: Add information about thunk.el
12411 2015-10-23  Michael Albinus  <michael.albinus@gmx.de>
12413         Fix bug#21669
12415         * lisp/filenotify.el (file-notify-rm-watch): Improve check for
12416         calling low-level functions.
12418         * test/automated/file-notify-tests.el (file-notify--test-timeout):
12419         Decrase to 6 seconds for remote directories.
12420         (file-notify-test02-events): Expect different number of
12421         `attribute-changed' events for the local and remote cases.  Apply
12422         short delays between the operations, in order to receive all
12423         events in the remote case.  Combine `attribute-change' tests.
12424         (Bug#21669)
12426 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
12428         Decode the HTML source when displaying it in EWW
12430         * lisp/net/eww.el (eww-view-source): Decode the HTML source
12431         according to its headers.
12433 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
12435         New default icon
12437         * etc/images/icons/hicolor/128x128/apps/emacs23.png:
12438         * etc/images/icons/hicolor/16x16/apps/emacs23.png:
12439         * etc/images/icons/hicolor/24x24/apps/emacs23.png:
12440         * etc/images/icons/hicolor/32x32/apps/emacs23.png:
12441         * etc/images/icons/hicolor/48x48/apps/emacs23.png:
12442         * etc/images/icons/hicolor/scalable/apps/emacs23.svg:
12443         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg:
12444         Move the old logo files to emacs23.*.
12445         * etc/images/icons/hicolor/128x128/apps/emacs.png:
12446         * etc/images/icons/hicolor/16x16/apps/emacs.png:
12447         * etc/images/icons/hicolor/24x24/apps/emacs.png:
12448         * etc/images/icons/hicolor/32x32/apps/emacs.png:
12449         * etc/images/icons/hicolor/48x48/apps/emacs.png:
12450         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
12451         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
12452         New files.
12453         * etc/images/icons/README: Update the copyright information.
12455 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
12457         Fix redisplay of frame title when current buffer is killed
12459         * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a
12460         non-zero value, to redisplay more than just the affected windows.
12461         (Bug#21739)
12463 2015-10-23  Anders Lindgren  <andlind@gmail.com>
12465         NextStep maximization and NSTRACE rewrite
12467         Full-height, full-width, and maximized windows now cover the
12468         entire screen (except the menu bar), including the part where the
12469         system dock is placed.  The system zoom animation is no longer
12470         used.
12472         Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
12473         original size.
12475         * src/nsterm.m (ns_menu_bar_height): New function, return height of
12476         the menu bar, or 0 when it's hidden.
12477         (constrain_frame_rect): New function for constraining a frame.
12478         (ns_constrain_all_frames): Set frame size explicitly rather than
12479         relying on the system doing it for us by writing back the current
12480         frame size.
12481         (windowWillUseStandardFrame): Register non-maximized width or
12482         height as new user size.  When entering full width or height,
12483         the other size component is taken from the user size.
12484         (fullscreenState): New method for accessing the fullscreen state.
12485         (constrainFrameRect): Restrict frame to be placed under the menu bar,
12486         if present.  The old version, sometimes, restricted the height of a
12487         frame to the screen, this version never does this.
12488         (zoom): Perform zoom by setting the frame to the full size of the
12489         screen (minus the menu bar).  The default system function, with the
12490         zoom animation, is no longer used, as the final frame size doesn't
12491         cover the entire screen.
12493         Rework how to constrain resizing to the character grid.  The old
12494         system used "resizeIncrements" in NSWindows.  However, once a frame
12495         was resized so that it was not aligned to the text grid, it
12496         remained unaligned even after a resize.  In addition, it conflicted
12497         when resizing a fullheight window.
12499         * src/nsterm.m (windowWillResize): Restrict frame size to text grid,
12500         unless when pixelwise frame resizing is enabled.
12501         (updateFrameSize, initFrameFromEmacs)
12502         (toggleFullScreen, handleFS): Don't set resizeIncrements.
12504         Redesign the NS trace system.  The call structure is represented
12505         using indentations and vertical lines.  The NSTRACE macro accepts
12506         printf-style arguments.  New macros for printing various
12507         information.
12509         * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
12510         (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new
12511         block (typically a function), accept printf-style arguments.
12512         (NSTRACE_MSG): Macro for extra information, accepts
12513         printf-style arguments.
12514         (NSTRACE_what): Macros for printing various types.
12515         (NSTRACE_FMT_what): Macro with printf format string snippets.
12516         (NSTRACE_ARG_what): Macros for passing printf-style arguments,
12517         corresponds to NSTRACE_FMT_what.
12518         (NSTRACE_RETURN): Macro to print return value, accept
12519         printf-style arguments.
12520         (NSTRACE_RETURN_what): Macros to print return value for
12521         various types.
12523         * src/nsterm.m: Remove old NSTRACE macro
12524         * src/nsterm.m (nstrace_num): Trace counter.
12525         (nstrace_depth): Current call depth.
12526         (nstrace_leave): NSTRACE support function, called when the
12527         local variable "nstrace_enabled" goes out of scope using the
12528         "cleanup" extension.
12529         (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function.
12530         (constrain_frame_rect, ns_constrain_all_frames)
12531         (ns_update_auto_hide_menu_bar, ns_update_begin)
12532         (ns_update_window_begin, update_window_end, ns_update_end)
12533         (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
12534         (ns_frame_rehighlight, x_make_frame_visible)
12535         (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
12536         (x_destroy_window, x_set_offset, x_set_window_size)
12537         (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
12538         (ns_defined_color, frame_set_mouse_pixel_position)
12539         (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
12540         (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
12541         (ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
12542         (ns_after_update_window_line, ns_shift_glyphs_for_insert)
12543         (dumpcursor, ns_draw_vertical_window_border)
12544         (ns_draw_window_divider, ns_draw_relief)
12545         (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
12546         (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
12547         (ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
12548         (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
12549         (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
12550         (ns_create_terminal, ns_term_init, sendEvent)
12551         (applicationDidFinishLaunching, applicationDidBecomeActive)
12552         (timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
12553         (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
12554         (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
12555         (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
12556         (mouse_autoselect_window, in_window, mouseDragged)
12557         (rightMouseDragged, otherMouseDragged, windowShouldClose)
12558         (updateFrameSize, windowWillResize, windowDidResize)
12559         (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
12560         (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
12561         (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
12562         (windowDidEnterFullScreen, windowWillExitFullScreen)
12563         (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
12564         (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
12565         (draggingEntered, performDragOperation, validRequestorForSendType)
12566         (setMiniwindowImage, constrainFrameRect, performZoom, zoom)
12567         (EmacsScroller_initFrame, EmacsScroller_setFrame)
12568         (EmacsScroller_dealloc, condemn, reprieve, judge)
12569         (resetCursorRects, setPosition, EmacsScroller_mouseDown)
12570         (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
12572         * src/nsfns.m: Remove old NSTRACE macro
12573         * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
12574         (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
12575         (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
12577         * src/nsimage.m: Remove old NSTRACE macro
12578         * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
12579         (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
12581         * src/nsmenu.m: Remove old NSTRACE macro
12582         * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
12583         Use new trace system.
12585 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
12587         No need to use eval-and-compile
12589         * lisp/gnus/auth-source.el: Do require epg (when compiling) before
12590         autoload epg functions.
12592 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
12594         Fix auth-source-epa-make-gpg-token compilation (bug#21724)
12596         * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for
12597         epg-context-set-passphrase-callback, epg-decrypt-string, and
12598         epg-encrypt-string; require epg when compiling for the setf-method
12599         for epg-context-armor. (bug#21724)
12601 2015-10-22  Eli Zaretskii  <eliz@gnu.org>
12603         Include file cleanup for w32 files in src directory
12605         * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h,
12606         fontset.h, blockinput.h.
12607         * src/w32uniscribe.c: Don't include dispextern.h, character.h,
12608         charset.h, fontset.h.
12609         * src/w32term.c: Don't include systty.h, systime.h, charset.h,
12610         character.h, ccl.h, dispextern.h, disptab.h, intervals.h,
12611         process.h, atimer.h, keymap.h, w32heap.h.  Include bitmap/gray.xbm
12612         in an ifdef-ed away block.
12613         Include fcntl.h for CYGWIN.
12614         (set_frame_param): Remove unused function.
12615         * src/w32select.c: Don't include charset.h and composite.h.
12616         (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings
12617         due to pointer signedness mismatches.
12618         * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings
12619         due to pointer signedness mismatches.
12620         * src/w32proc.c: Include unistd.h.  Don't include systime.h,
12621         process.h, dispextern.h.
12622         (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name)
12623         (Fw32_application_type): Avoid compiler warnings due to pointer
12624         signedness mismatches.
12625         * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h,
12626         character.h, charset.h, dispextern.h.
12627         (simple_dialog_show, add_menu_item): Avoid compiler warnings due
12628         to pointer signedness mismatches.
12629         * src/w32inevt.c: Don't include dispextern.h, window.h,
12630         termhooks.h, w32heap.h.
12631         * src/w32font.c: Don't include dispextern.h, character.h,
12632         charset.h, fontset.h, font.h.
12633         (intern_font_name, add_font_entity_to_list)
12634         (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont)
12635         (list_all_matching_fonts): Avoid compiler warnings due to pointer
12636         signedness mismatches.
12637         * src/w32fns.c: Don't include character.h, intervals.h,
12638         dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h,
12639         termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h.
12640         (w32_color_map_lookup, add_system_logical_colors_to_map)
12641         (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p)
12642         (Fxw_color_values, x_display_info_for_name, Fset_message_beep)
12643         (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash)
12644         (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid
12645         compiler warnings, mainly due to pointer signedness mismatches.
12646         (unwind_create_frame_1): Remove unused function.
12647         * src/w32console.c: Don't include character.h, disptab.h, frame.h,
12648         window.h, termhooks.h, dispextern.h.
12649         (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer
12650         signedness mismatch.
12651         * src/w32.c: Include c-strcase.h and systty.h.  Don't include
12652         w32heap.h.
12654 2015-10-22  Tassilo Horn  <tsdh@gnu.org>
12656         Improve doc-view wrt. auto-revert-mode
12658         * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file
12659         is corrupted (bug#21729).
12660         (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function.
12662 2015-10-22  Oleh Krehel  <ohwoeowho@gmail.com>
12664         Describe dired-do-compress-to in the manual
12666         * etc/NEWS: Update.
12668         * lisp/dired-aux.el: Fix typo.
12670         * doc/emacs/dired.texi: Add entry.
12672 2015-10-22  Jürgen Hötzel  <juergen@archlinux.org>
12674         Further fix for proper locale handling in tramp-gvfs.el
12676         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
12677         Just suppress LC_MESSAGES locale category settings.
12679 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
12681         New lispref section “Security Considerations”
12683         This attempts to document some of the issues recently discussed
12684         on emacs-devel, and to indicate other such issues.  The section
12685         could be a lot longer.
12686         * doc/lispref/os.texi (Security Considerations):
12687         New node.
12688         * doc/lispref/elisp.texi (Top):
12689         * doc/lispref/processes.texi (Shell Arguments):
12690         * lisp/subr.el (shell-quote-argument):
12691         * src/callproc.c (syms_of_callproc):
12692         Reference it.
12694 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
12696         Merge from gnulib
12698         This incorporates:
12699         2015-10-18 stdalign: work around pre-4.9 GCC x86 bug
12700         2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
12701         * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c:
12702         Copy from gnulib.
12704 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
12706         * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks.
12707         (mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.
12709 2015-10-21  Ken Brown  <kbrown@cornell.edu>
12711         Further include-file cleanup
12713         * src/sheap.c: Include stdlib.h.
12714         * src/unexcw.c: Include string.h.
12716 2015-10-21  Eli Zaretskii  <eliz@gnu.org>
12718         Fix logic in 'server-kill-emacs-query-function'
12720         * lisp/server.el (server-kill-emacs-query-function): Correct the
12721         logic that controls whether the user is asked for confirmation.
12722         (Bug#21723)
12724 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
12726         * lisp/isearch.el (isearch-search-fun-default): Simplify logic.
12727         (isearch--lax-regexp-function-p): New function.
12729 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
12731         * lisp/isearch.el: Support lax-whitespace in regexp-function searches.
12732         (isearch-search-fun-default): Let-bind `search-spaces-regexp'
12733         around `isearch-regexp-function'.
12735 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
12737         * lisp/isearch.el: Rename word search to regexp-function search.
12738         `isearch-word' went well beyond its original purpose, and the name
12739         no longer makes sense.  It is now called
12740         `isearch-regexp-function', and its value should always be a function
12741         that converts a string to a regexp (though setting it to t is still
12742         supported for now).
12743         (isearch-word): Make obsolete.
12744         (isearch-regexp-function): New variable.
12745         (isearch-mode, isearch-done, isearch--state, isearch--set-state)
12746         (with-isearch-suspended, isearch-toggle-regexp)
12747         (isearch-toggle-word, isearch-toggle-symbol)
12748         (isearch-toggle-character-fold, isearch-query-replace)
12749         (isearch-occur, isearch-highlight-regexp)
12750         (isearch-search-and-update, isearch-message-prefix)
12751         (isearch-search-fun-default, isearch-search)
12752         (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
12753         Use it.
12754         (isearch-lazy-highlight-regexp-function): New var.
12755         (isearch-lazy-highlight-word): Make obsolete.
12756         (isearch--describe-regexp-mode): New function.
12757         (isearch--describe-word-mode): Make obsolete.
12759         * lisp/info.el (Info-isearch-search):
12760         * lisp/replace.el (replace-search, replace-highlight):
12761         * lisp/obsolete/longlines.el (longlines-search-function):
12762         * lisp/hexl.el (hexl-isearch-search-function):
12763         * lisp/cedet/semantic/senator.el (senator-isearch-search-fun):
12764         Use the new var.
12766 2015-10-21  Oleh Krehel  <ohwoeowho@gmail.com>
12768         Add dired-do-compress-to command bound to "c"
12770         * lisp/dired-aux.el (dired-shell-command): Use the caller's
12771           `default-directory', return the result of `process-file'.
12772         (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
12773         used by default.
12774         (dired-compress-files-alist): New defvar.
12775         (dired-do-compress-to): New command.
12777         * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
12778         (dired-do-compress-to): Add an autoload entry.
12780         * etc/NEWS: Add two entries.
12782 2015-10-21  Tassilo Horn  <tsdh@gnu.org>
12784         Make RefTeX work with LaTeX subfiles package
12786         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles
12787         document class argument as master file for referencing purposes.
12789 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
12791         * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.
12793 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
12795         Include-file cleanup for src directory
12797         Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
12798         In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
12799         but does not include it directly.  As a general rule, a source
12800         file should include foo.h if it needs the interfaces that foo.h
12801         defines.
12802         * src/alloc.c: Don’t include process.h.  Include dispextern.h,
12803         systime.h.
12804         * src/atimer.c: Don’t include blockinput.h.
12805         * src/buffer.c: Include coding.h, systime.h.  Don’t include
12806         keyboard.h, coding.h.
12807         * src/callint.c: Don’t include commands.h, keymap.h.
12808         * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
12809         systty.h, termhooks.h.
12810         * src/casetab.c: Don’t include character.h.
12811         * src/category.c: Don’t include charset.h, keymap.h.
12812         * src/ccl.h: Don’t include character.h.
12813         * src/character.c: Don’t include charset.h.
12814         * src/charset.c: Don’t include disptab.h.
12815         * src/chartab.c: Don’t include ccl.h.
12816         * src/cm.c: Don’t include frame.h, termhooks.h.
12817         * src/cmds.c: Don’t include window.h, dispextern.h.
12818         * src/coding.c: Don’t include window.h, frame.h.
12819         * src/composite.c: Include composite.h.  Don’t include window.h,
12820         font.h.
12821         * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
12822         * src/dbusbind.c: Don’t include frame.h.
12823         * src/decompress.c: Don’t include character.h.
12824         * src/dired.c: Don’t include character.h, commands.h, charset.h.
12825         * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
12826         process.h, timespec.h.  Include systime.h.
12827         * src/doc.c: Include coding.h.  Don’t include keyboard.h.
12828         * src/editfns.c: Include composite.h.  Don’t include frame.h.
12829         * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
12830         commands.h, systty.h..
12831         * src/fileio.c: Don’t include intervals.h, dispextern.h.
12832         Include composite.h.
12833         * src/filelock.c: Don’t include character.h, systime.h.
12834         * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
12835         keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
12836         * src/font.c: Include termhooks.h.
12837         * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
12838         struct composition_it, struct face, struct glyph_string.
12839         * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
12840         intervals.h, window.h, termhooks.h.
12841         * src/frame.c: Don’t include character.h, commands.h, font.h.
12842         * src/frame.h: Don’t include dispextern.h.
12843         * src/fringe.c: Don’t include character.h.
12844         * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
12845         character.h, charset.h, fontset.h.
12846         * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
12847         fontset.h.
12848         * src/ftxfont.c: Don’t include dispextern.h, character.h,
12849         charset.h, fontset.h.
12850         * src/gfilenotify.c: Don’t include frame.h, process.h.
12851         * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
12852         Don’t include syssignal.h, buffer.h, charset.h, font.h.
12853         * src/gtkutil.h: Don’t include frame.h.
12854         * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
12855         Don’t include character.h.
12856         * src/indent.c: Don’t include keyboard.h, termchar.h.
12857         * src/inotify.c: Don’t include character.h, frame.h.
12858         * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
12859         * src/intervals.c: Don’t include character.h, keyboard.h.
12860         * src/intervals.h: Don’t include dispextern.h, composite.h.
12861         * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
12862         Include coding.h.
12863         * src/keyboard.h: Don’t incldue systime.h.
12864         * src/keymap.c: Don’t include charset.h, frame.h.
12865         * src/lread.c: Include dispextern.h and systime.h.
12866         Don’t include frame.h.  Include systime.h.
12867         * src/macros.c: Don’t include commands.h, character.h, buffer.h.
12868         * src/menu.c: Include character.h, coding.h.  Don’t include
12869         dispextern.h.
12870         * src/menu.h: Don’t include systime.h.
12871         * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
12872         intervals.h, termhooks.h.
12873         * src/print.c: Include coding.h.  Don’t include keyboard.h,
12874         window.h, dispextern.h, termchar.h, termhooks.h, font.h.
12875         Add forward decl of struct terminal.
12876         * src/process.c: Don’t include termhooks.h, commands.h,
12877         dispextern.h, composite.h.
12878         * src/region-cache.c: Don’t include character.h.
12879         * src/scroll.c: Don’t include keyboard.h, window.h.
12880         * src/search.c: Don’t include category.h, commands.h.
12881         * src/sound.c: Don’t include dispextern.h.
12882         * src/syntax.c: Don’t include command.h, keymap.h.
12883         * src/sysdep.c: Don’t include window.h, dispextern.h.
12884         * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
12885         * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
12886         * src/terminal.c: Include character.h.
12887         Don’t include charset.h, coding.h.
12888         * src/textprop.c: Don’t include character.h.
12889         * src/undo.c: Don’t include character.h, commands.h, window.h.
12890         * src/unexsol.c: Don’t include character.h, charset.h.
12891         * src/widget.c: Include widget.h.  Don’t include keyboard.h,
12892         window.h, dispextern.h, blockinput.h, character.h, font.h.
12893         * src/widgetprv.h: Don’t include widget.h.
12894         * src/window.c: Don’t include character.h, menu.h, intervals.h.
12895         * src/xdisp.c: Include composite.h, systime.h.  Don’t include
12896         macros.h, process.h.
12897         * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
12898         intervals.h.
12899         * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
12900         epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
12901         * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
12902         * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
12903         * src/xgselect.c: Don’t include timespec.h, frame.h.
12904         Include systime.h.
12905         * src/xgselect.h: Don’t include time.h.
12906         Use a forward decl to struct timespec instead.
12907         * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
12908         dispextern.h.  Include systime.h.
12909         * src/xml.c: Don’t include character.h.
12910         * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
12911         * src/xselect.c: Don’t include dispextern.h, character.h,
12912         buffer.h, process.h.
12913         * src/xsmfns.c: Don’t include systime.h, sysselect.h.
12914         * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
12915         intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
12917 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
12919         (/ N) now returns the reciprocal of N
12921         This is more compatible with Common Lisp and XEmacs (Bug#21690).  See:
12922         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
12923         * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
12924         (color-xyz-to-srgb, color-xyz-to-lab):
12925         * lisp/emacs-lisp/cl-extra.el (cl-float-limits):
12926         * lisp/net/shr-color.el (shr-color-hue-to-rgb)
12927         (shr-color-hsl-to-rgb-fractions):
12928         Exploit the change to simplify the code a bit.
12929         * lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
12930         Don’t complain about single-argument calls to ‘/’.
12931         * src/data.c (arith_driver, float_arith_driver):
12932         Implement the change.
12934 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
12936         Call vc-dir-refresh after stash operations
12938         * lisp/vc/vc-git.el (vc-git-stash-apply-at-point)
12939         (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960).
12941         * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well,
12942         since it can be abbreviated (as returned by vc-find-root).
12944 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
12946         * lisp/vc/vc-svn.el:
12947         * lisp/vc/vc-mtn.el:
12948         * lisp/vc/vc-hg.el:
12949         * lisp/vc/vc-cvs.el:
12950         * lisp/vc/vc-git.el:
12951         * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore.
12952         Its usages have been replaced with vc-run-delayed.
12954 2015-10-20  Dima Kogan  <dima@secretsauce.net>
12956         Fix memory leak in fontset handling
12958         * src/font.c (copy_font_spec): Make a deep copy of the input
12959         argument FONT.  (Bug#21651)
12961 2015-10-20  Michael Sperber  <mike@xemacs.org>
12963         * lisp/gnus/mailcap.el (mailcap-mime-data):
12964         Conditonalize `doc-view-mode', which does not exist on XEmacs.
12966 2015-10-20  Oleh Krehel  <ohwoeowho@gmail.com>
12968         Update the way directories are compressed
12970         * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
12971         for *.tar.gz decompression to use a pipe.
12972         Add an entry for the default directory compression (to *.tar.g).
12973         (dired-compress-file): Update.
12975         See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html.
12977 2015-10-20  Michael Sperber  <mike@xemacs.org>
12979         Unbreak `group' option for `mail-sources'
12981         * lisp/gnus/nnml.el (nnml-retrieve-groups, nnml-request-scan):
12982         * lisp/gnus/nnmail.el (nnmail-get-new-mail-per-group)
12983         (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
12985 2015-10-19  Nicolas Petton  <nicolas@petton.fr>
12987         New function seq-position
12989         * lisp/emacs-lisp/seq.el (seq-position): New function.
12990         * test/automated/seq-tests.el: New tests for seq-position.
12991         * doc/lispref/sequences.texi: Add documentation for `seq-position'.
12993 2015-10-19  Ken Brown  <kbrown@cornell.edu>
12995         Enable --with-wide-int build on 32-bit Cygwin
12997         * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86
12998         and x86_64 to enable --with-wide-int build on 32-bit Cygwin.
13000 2015-10-19  Glenn Morris  <rgm@gnu.org>
13002         * doc/emacs/ack.texi (Acknowledgments): Small, sad, update.
13004 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
13006         Resurrect image loading under auto-image-file-mode
13008         * src/image.c (x_find_image_fd): Handle the case of -2 returned by
13009         'openp' specially.  This special case was lost in the changes on
13010         2015-08-18.  (Bug#21685)
13012 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
13014         Fix return value of 'set-file-extended-attributes'
13016         * lisp/files.el (set-file-extended-attributes): Return non-nil
13017         when setting either ACLs or SELinux context succeeds.  Document
13018         the return value.  (Bug#21699)
13020         * doc/lispref/files.texi (Changing Files): Document the return
13021         value of set-file-extended-attributes.
13023 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
13025         Improve documentation of functions that change files
13027         * doc/lispref/files.texi (Changing Files): Document that these
13028         functions signal an error on failure.
13030 2015-10-18  Eli Zaretskii  <eliz@gnu.org>
13032         Fix doc string of 'shell-quote-argument'
13034         * lisp/subr.el (shell-quote-argument): Doc fix.  (Bug#21702)
13036 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
13038         Some minor Tramp changes
13040         * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning.
13042         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
13043         Expand `tramp-auto-save-directory'.
13045 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
13047         Minor edits in Tramp
13049         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp):
13050         Declare it.
13052         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
13053         Remove declaration.
13055 2015-10-17  Mark Oteiza  <mvoteiza@udel.edu>
13057         * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list.
13059 2015-10-17  Eli Zaretskii  <eliz@gnu.org>
13061         Avoid crashes when redisplayng a window changes faces or fonts
13063         * src/xdisp.c (redisplay_internal): If redisplaying the selected
13064         window or one of the frames turns on the frame's 'redisplay' flag,
13065         redisplay again.  (Bug#21428)
13067         * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag.
13069 2015-10-17  Michael Albinus  <michael.albinus@gmx.de>
13071         Solve timimg issues in file-notify-tests.el
13073         * test/automated/file-notify-tests.el (file-notify-test02-events):
13074         Rectify `attribute-change' tests.  There are timing issues with
13075         gfilenotify.  (Bug#21669)
13077 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
13079         Fix quoting of data within htmlfontify doc
13081         * doc/misc/htmlfontify.texi (Data Structures, Customization):
13082         Fix quoting of data structures.  A Lisp quote is needed only
13083         when data appears within Lisp code.
13085 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
13087         * lisp/emacs-lisp/package.el: Reload archive-contents if
13088         priorities change.
13089         (package--old-archive-priorities): New variable.
13090         (package-read-all-archive-contents, package-menu--refresh): Use it
13091         to decide when the `package-archive-contents' needs to be read
13092         again.
13094 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
13096         Make src headers idempotent and standalone
13098         Redo src/*.h so that each include file is idempotent (that is, can
13099         be included multiple times with the latter inclusions having no
13100         effect) and standalone (that is, can be included by itself,
13101         with no include file other than config.h needed as a prerequisite).
13102         This is standard practice in GNU programs nowadays.
13103         * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h:
13104         * src/charset.h, src/coding.h, src/commands.h, src/disptab.h:
13105         * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h:
13106         * src/regex.h [emacs]:
13107         * src/syntax.h, src/systty.h, src/termhooks.h:
13108         Include lisp.h, for Lisp_Object.
13109         * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h:
13110         * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h:
13111         * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h:
13112         * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h:
13113         * src/termopts.h, src/tparam.h, src/unexec.h:
13114         Protect against multiple inclusion.
13115         * src/buffer.h: Include character.h, for STRING_CHAR.
13116         * src/emacsgtkfixed.h (struct frame):
13117         * src/fontset.h (struct face):
13118         * src/region-cache.h (struct buffer):
13119         * src/termhooks.h (struct glyph):
13120         * src/xsettings.h (struct x_display_info):
13121         Add possibly-forward decl.
13122         * src/syntax.h: Include buffer.h, for BVAR.
13123         * src/sysselect.h: Include lisp.h, for eassume.
13124         * src/termchar.h: Include <stdio.h>, for FILE.
13125         * src/widget.h: Include <X11/IntrinsicP.h>, for Widget.
13126         * src/xsettings.h: Include <X11/Xlib.h>, for XEvent.
13128 2015-10-16  Jürgen Hötzel  <juergen@archlinux.org>
13130         Handle symlink targets containing spaces in tramp-gvfs.el
13132         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
13133         Handle symlink targets containing spaces.
13135 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
13137         * lisp/custom.el (custom-theme-load-path): Demote to defvar.
13139         `custom-theme-load-path' was a defcustom, but it shouldn't be for the
13140         same reason that `load-path' shouldn't.  Setting it via the customize
13141         interface is a trap for the user.
13143         Installed themes commonly add themselves to this variable, which means
13144         its value is not fit for being saved (it will permanently remember dirs
13145         that don't exist anymore).
13147         This is aggravated by the fact that Emacs always applies the `user'
13148         theme on top of any theme that's loaded, since this will apply the old
13149         variable value and remove any new directories that had been recently
13150         added by themes themselves.
13152         Not to mention, we already have `custom-theme-directory', which is safe
13153         to customize.
13155 2015-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
13157         * lisp/mpc.el: Rename the new toggling commands.
13158         (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single)
13159         (mpc-toggle-shuffle): Add "-toggle" in the name.
13161 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
13163         Improve the doc string of 'completion-boundaries'
13165         * lisp/minibuffer.el (completion-boundaries): Rename the argument
13166         TABLE to COLLECTION, for consistency with other high-level
13167         completion functions.  Document how COLLECTION is called if it
13168         is a function.  (Bug#21644)
13170 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
13172         * lisp/dired-aux.el (dired-shell-command): Fix compile warning.
13174 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
13176         Make dired-do-compress work for *.zip files
13178         * lisp/dired-aux.el (dired-check-process): Transform the top-level
13179           comment into a docstring.
13180         (dired-shell-command): New command.  This mirrors
13181         `dired-check-process', but is more user-friendly for passing
13182         arguments.
13183         (dired-compress-file-suffixes): Allow to specify the command switches
13184         along with input (%i) and output (%o) inside the PROGRAM part.
13185         Add an entry for *.zip files, and update the entry for *.tar.gz files
13186         to the new style.  Update the docstring.
13187         (dired-compress-file): When PROGRAM matches %i or %o, use the new
13188         logic.
13189         (dired-update-file-line): Avoid an error when at end of buffer.
13191         Fixes bug#21637.
13193 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
13195         Minor improvement in documentation of internals
13197         * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
13199 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
13201         Improve documentation of COLLECTION in completion functions
13203         * doc/lispref/minibuf.texi (Minibuffer Completion): Add a
13204         cross-reference to "Programmed Completion".
13206         * src/minibuf.c (Fcompleting_read): Improve the doc string.
13207         (Bug#21644)
13209 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
13211         Add more release info to etc/HISTORY
13213         * etc/HISTORY: Add more release information about 19.x and 20.x
13214         versions.
13216 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
13218         New file etc/HISTORY
13220         * admin/FOR-RELEASE: Procedure for etc/HISTORY.
13221         * etc/HISTORY: New file.
13222         * etc/NEWS: Mention it.
13224 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
13226         js-mode: Don't misindent generator methods
13228         * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
13229         generator methods from multiplication operator
13230         (https://github.com/mooz/js2-mode/issues/275).
13232 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
13234         Fix animation timeout delay calculation
13236         * lisp/image.el (image-animate-timeout):
13237         Don’t assume speed is floating-point.
13239 2015-10-15  Mark Oteiza  <mvoteiza@udel.edu>
13241         Add commands for controlling MPD modes
13243         * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat)
13244         (mpc-cmd-single): New functions.
13245         (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands.
13246         (mpc-mode-menu): Add new commands as menu items.
13248 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
13250         Refer to `(elisp)Basic Completion' in completing-read docstring
13252         * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic
13253         Completion' in the docstring (bug#21644).
13255 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
13257         * lisp/mpc.el (mpc-format): Always push form to pred
13259 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
13261         Spelling fixes
13263         * configure.ac (bitmapdir): Fix misspelling of bmd_acc.
13264         * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
13265         Fix misspelling of nonexistent file name.
13267 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
13269         * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings
13271 2015-10-14  Michael Albinus  <michael.albinus@gmx.de>
13273         Some editing fixes in Tramp
13275         * lisp/net/tramp-gvfs.el:
13276         * doc/misc/tramp.texi: "customer option" -> "custom option".
13278         * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring.
13280 2015-10-14  Jürgen Hötzel  <juergen@archlinux.org>
13282         Use proper localization in tramp-gvfs.el
13284         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
13285         Suppress localized settings in order to proper parse gfvs output.
13287 2015-10-14  Warren Lynn  <wrn.lynn@gmail.com>  (tiny change)
13289         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
13290         Quote argument in proper order.  (Bug#21562)
13292 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
13294         Fix typos in docstrings
13296         * lisp/emacs-lisp/map.el:
13297         * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
13298           macros.
13300 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
13302         * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live.
13304 2015-10-14  Oleh Krehel  <ohwoeowho@gmail.com>
13306         Make dired-jump work with tar-subfile-mode
13308         * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of
13309           emitting an error, switch to `tar-superior-buffer'.
13311 2015-10-14  Juanma Barranquero  <lekktu@gmail.com>
13313         * .gitignore: Add build-aux/ar-lib.
13315 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
13317         Better docstrings in seq.el and map.el
13319         * lisp/emacs-lisp/map.el:
13320         * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
13322 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
13324         Merge from gnulib
13326         This incorporates:
13327         2015-10-13 binary-io, u64, unistd: port to strict C
13328         2015-09-26 c-ctype: do not worry about EBCDIC + char signed
13329         2015-09-25 c-ctype: port better to z/OS EBCDIC
13330         2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
13331         * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
13332         * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
13333         Copy from gnulib.
13335 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
13337         Take XPNTR private
13339         * src/alloc.c (PURE_POINTER_P): Remove.
13340         All uses replaced with PURE_P.
13341         (XPNTR_OR_SYMBOL_OFFSET): New function.
13342         (XPNTR): Move here from lisp.h.
13343         Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET.
13344         (mark_maybe_object, valid_lisp_object_p, survives_gc_p):
13345         Remove unnecessary cast.
13346         (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR,
13347         to avoid an unnecessary runtime test for symbols.
13348         * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c.
13349         Only alloc.c needs XPNTR now.
13351 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
13353         Add MPC play/pause command
13355         * lisp/mpc.el (mpc-toggle-play): New command.
13356         (mpc-mode-map): Bind it to "s".
13357         (mpc-mode-menu): Add corresponding menu item.
13359 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
13361         Add bindings and menu items for prev and next tracks
13363         * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next,
13364         "<" to mpc-prev.
13365         (mpc-mode-menu): Add corresponding menu items
13367 2015-10-13  Ken Raeburn  <raeburn@raeburn.org>
13369         Reduce face-related consing during frame creation.
13371         * lisp/faces.el (face--attributes-unspecified): Compute the "unspecified"
13372         attribute list once.
13373         (face-spec-reset-face): Use it instead of building the list.
13375 2015-10-13  Ken Raeburn  <raeburn@permabit.com>
13377         Do process ConfigureNotify events indicating size changes.
13379         * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify
13380         events don't have the same size, process each one.
13382 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
13384         Derive mpc-mode from special-mode
13386         lisp/mpc.el (mpc-mode-map): Make from sparse keymap.  Unbind g.
13387         (mpc-mode): Derive from special mode.
13388         (mpc-songs-mode-map): Don't set parent keymap.
13390 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
13392         Fix error messages for when covers are not found.
13394         The last change to mpc-format let the binding to file call
13395         mpc-file-local-copy with nil argument.  Instead, employ if-let here
13396         so nil bindings don't result in needless computation and errors.
13397         * lisp/mpc.el: Require 'subr-x at compile time.
13398         * lisp/mpc.el (mpc-format): Use if-let.
13400 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
13402         Make dired-do-compress work for *.tar.gz files
13404         * lisp/dired-aux.el (dired-compress-file-suffixes): Associate
13405           "tar -zxvf" to *.tar.gz; update docstring.
13407         (dired-compress-file): Allow to specify switches after the command in
13408         `dired-compress-file-suffixes'.
13410 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
13412         Make dired-do-compress work for directories
13414         * lisp/dired-aux.el (dired-compress-file): When FILE is a directory,
13415           instead of emitting an error, call "tar -czf FILE.tar.gz FILE".
13416         Also convert the top comment into a docstring.
13418 2015-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
13420         * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active'
13422         ... since it might come straight from the memoizing table.
13424 2015-10-13  Juanma Barranquero  <lekktu@gmail.com>
13426         * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame.
13428 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
13430         Use special-mode in eww list modes
13432         * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode)
13433         (eww-buffers-mode): Derive from special-mode and remove redundant
13434         setting of buffer-read-only.
13435         (eww-mode-map): Remove redundant keymap parent setting.
13436         (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map):
13437         Remove redundant keymap suppressions and mappings.
13439 2015-10-13  Martin Rudalics  <rudalics@gmx.at>
13441         Allow setting frame pixel sizes from frame parameters (Bug#21415)
13443         Also fix some misfeatures in frame (re-)sizing code, add more
13444         debugging information and remove some dead code.
13446         * lisp/frame.el (frame-notice-user-settings, make-frame): Change
13447         parameter names when setting `frame-size-history'.
13448         (frame--size-history): New function.
13450         * src/frame.c (frame_inhibit_resize): If frame has not been made
13451         yet, return t if inhibit_horizontal_resize or
13452         inhibit_vertical_resize bit have been set.
13453         (adjust_frame_size): Simplify.
13454         (make_frame): Initialize inhibit_horizontal_resize,
13455         inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
13456         (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
13457         inhibit_vertical_resize slots.
13458         (x_set_frame_parameters): Handle `text-pixels' specification for
13459         width and height parameters.  Don't consider new_height or
13460         new_width changes.  Call adjust_frame_size instead of
13461         Fset_frame_size.
13462         (x_figure_window_size): Two new arguments x_width and y_width
13463         returning frame's figures width and height.  Calculate tool bar
13464         height before frame sizes so SET_FRAME_HEIGHT can pick it up.
13465         Handle `text-pixels' specification for width and height
13466         parameters.
13467         (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
13468         (Qx_set_window_size_1, Qx_set_window_size_2)
13469         (Qx_set_window_size_3, Qx_set_menu_bar_lines)
13470         (Qupdate_frame_menubar, Qfree_frame_menubar_1)
13471         (Qfree_frame_menubar_2): New symbols.
13472         * src/frame.h (structure frame): New booleans
13473         tool_bar_redisplayed, tool_bar_resized,
13474         inhibit_horizontal_resize, inhibit_vertical_resize.
13475         (x_figure_window_size): Update external declaration.
13476         * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
13477         calling gtk_window_resize.
13478         (update_frame_tool_bar): Make inhibiting of frame resizing more
13479         discriminative.  Set tool_bar_resized bit.
13480         * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
13481         resizing more discriminative.  Call adjust_frame_size instead of
13482         x_set_window_size.
13483         (Fx_create_frame): Handle x_width and x_height if
13484         set by x_figure_window_size.
13485         * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
13486         subtract 3 from tool bar height.
13487         (x_set_window_size): Add frame_size_history_add call.
13488         (x_new_font): Call adjust_frame_size instead of
13489         x_set_window_size.
13490         * src/w32fns.c (x_change_tool_bar_height): Reset
13491         tool_bar_redisplayed and tool_bar_resized bits when adding tool
13492         bar.  Make inhibiting of frame resizing more discriminative.
13493         (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
13494         (Fx_create_frame): Handle x_width and x_height if set by
13495         x_figure_window_size.  Set size hints before adjusting frame size.
13496         (x_create_tip_frame): Adjust x_figure_window_size call.
13497         * src/w32term.c (x_set_window_size): Add frame_size_history_add
13498         call.
13499         * src/widget.c (set_frame_size): Remove dead code.  Add
13500         frame_size_history_add call.  When frame_resize_pixelwise is t
13501         use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
13502         pixel_width and pixel_height.
13503         (update_various_frame_slots): Remove dead code.
13504         (EmacsFrameResize): Add more information in
13505         frame_size_history_add call.
13506         (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
13507         is not set.
13508         * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
13509         * src/xfns.c (x_set_menu_bar_lines): Change argument name.
13510         (x_change_tool_bar_height): Reset tool_bar_redisplayed and
13511         tool_bar_resized bits when adding tool bar.  Make inhibiting of
13512         frame resizing more discriminative.
13513         (Fx_create_frame): Handle x_width and x_height if set by
13514         x_figure_window_size.  Set size hints before adjusting frame size.
13515         (x_create_tip_frame): Adjust x_figure_window_size call.
13516         * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
13517         (set_frame_menubar): On Lucid never add core-border-width to
13518         avoid that adding XtNinternalBorderWidth adds it again.
13519         (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
13520         * src/xterm.c (x_new_font): In non-toolkit case handle size
13521         change of menu bar.
13522         (x_set_window_size_1): Fix calls to frame_size_history_add.
13523         (x_wm_set_size_hint): Remove dead code.  Set
13524         size_hints.min_width and size_hints.min_height to base_width and
13525         base_height.
13527 2015-10-13  Michael Albinus  <michael.albinus@gmx.de>
13529         * test/automated/file-notify-tests.el (file-notify--test-timeout):
13530         Add docstring.  Increase to 10 seconds for remote
13531         directories.  (Bug#21669)
13533 2015-10-12  Paul Eggert  <eggert@cs.ucla.edu>
13535         Unmacroize ebrowse.c and etags.c a bit
13537         * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant.
13538         (streq, filename_eq, set_flag, has_flag): Now inline functions.
13539         (set_flag): First arg is now an address, not an lvalue.
13540         All callers changed.
13541         (filename_eq, set_flag, has_flag):
13542         Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG.
13543         All callers changed.
13544         * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq):
13545         Now inline functions.  Remove asserts that are unnecessary these
13546         days (and in some cases were too-generous anyway).
13548 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
13550         Use highlight for current items
13552         * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select):
13553         Apply highlight face instead of region face.
13555 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
13557         Search for more cover image names in MPC
13559         * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg
13560         case insensitively
13562 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
13564         Remove or comment out unused variables
13566         * src/w32fns.c (x_set_mouse_color): Comment out variables cursor,
13567         nontext_cursor, mode_cursor, hand_cursor and count.
13568         (x_change_tool_bar_height): Remove variable old_text_height.
13569         (deliver_wm_chars): Remove variable strip_Alt.
13570         (Fw32_shell_execute): Remove variable document_a.
13571         (Fw32_frame_geometry): Remove variable fullboth.
13572         * src/w32term.c (w32_setup_relief_color): Comment out variable
13573         w32_display_info.
13574         (w32_horizontal_scroll_bar_handle_click): Remove variables start, end.
13575         (w32_read_socket): Comment out variables rows, columns.
13576         * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest.
13578 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
13580         * src/w32proc.c (sys_select): Fix bitwise test.
13582 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
13584         Minor typo corrections in doc strings
13586         * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position):
13587         Doc fixes.
13589 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
13591         * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports.
13593 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
13595         Attempt to avoid crashes in plist-member
13597         * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test
13598         and a call to XCDR.  (Bug#21655)
13600 2015-10-12  Mike FABIAN  <mfabian@redhat.com>
13602         * lisp/select.el (gui-get-primary-selection): In
13603         gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
13605 2015-10-12  Tassilo Horn  <tsdh@gnu.org>
13607         Support RTF in doc-view
13609         * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension.
13611 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
13613         * src/w32fns.c (get_wm_chars): Increment counter, not pointer.
13615 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
13617         Replace the usage of an obsolete function in auth-source.el
13619         * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token):
13620         Replace an usage of `epg-context-set-armor' with `setf'.
13622 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
13624         * lisp/gnus/auth-source.el: Use sharp-quoting with functions.
13626 2015-10-11  Jay Belanger  <jay.p.belanger@gmail.com>
13628         Have calc-yank recognize numbers in different bases.
13630         * lisp/calc/calc-yank.el (math-number-regexp): New function.
13631         (calc-yank): Use `math-number-regexp' to recognize numbers.
13633 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
13635         Handle an opaque-move X11 window manager operation more efficiently
13637         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
13638         followed by more ConfigureNotify events for the same window, process
13639         only the last one.
13641 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
13643         Fix cursor setting for tip frame; re-enable cursor generation
13645         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
13646         attributes sent when creating the new X window.  Don't skip setting
13647         the pointerColor parameter.
13649 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
13651         Rewrite x_set_mouse_color to sync less
13653         We can track serial numbers of X requests and correlate error events
13654         with the associated requests.  This way we can identify errors for
13655         specific calls without having to use XSync after every one.
13657         * src/xfns.c (enum mouse_cursor): New type.
13658         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
13659         (mouse_cursor_types): New array listing the Lisp variables and default
13660         cursor appearances for each cursor type.
13661         (x_set_mouse_color_handler): New function; checks error event serial
13662         number against submitted requests.
13663         (x_set_mouse_color): Updated to use the new error handler callback,
13664         and to be more table-driven, to simplify repetitious code.
13666 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
13668         Add x_catch_errors_with_handler
13670         * src/xterm.c (struct x_error_message_stack): Add new fields for a
13671         callback function and associated data pointer.
13672         (x_error_catcher): If the callback function is set, call it after
13673         saving the error message string.
13674         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
13675         accepts a callback function and data pointer.
13676         (x_catch_errors): Now a wrapper function.
13677         * src/xterm.h (x_special_error_handler): New typedef.
13678         (x_catch_errors_with_handler): Declare.
13680 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
13682         Introduce x_uncatch_errors_after_check to reduce XSync calls
13684         Both x_had_errors_p and x_check_errors call XSync, so if they're
13685         immediately followed by x_uncatch_errors, its XSync call will be
13686         redundant, resulting in a wasted round trip to the X server.
13688         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
13689         x_uncatch_errors without the XSync call.
13690         (XTmouse_position, x_wm_supports):
13691         * src/xfns.c (x_set_mouse_color):
13692         * src/xmenu.c (Fx_menu_bar_open_internal):
13693         * src/xselect.c (x_own_selection, x_get_foreign_selection):
13694         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
13695         * src/xterm.h (x_uncatch_errors_after_check): Declare.
13697 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
13699         Document the optional prefix to `calc-yank'
13701         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
13702         prefix to `calc-yank'.
13703         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
13704         the Calc buffer are yanked back unchanged.
13706 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
13708         * lisp/calendar/calendar.el: Display buffer before executing body.
13710         In each use of this macro, the modeline is derived from a window width
13711         calculation, which will be wrong if (display-buffer) splits the window
13712         horizontally.
13714 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13716         Use ‘echo’ safely with ‘\’ or leading ‘-’
13718         POSIX says that ‘echo FOO’ produces implementation-defined output
13719         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
13720         behavior in that case.
13721         * Makefile.in (removenullpaths): Remove.
13722         (epaths-force): Rewrite to avoid the need for ‘echo’.
13723         (install-etc): Be clearer about escaping the shell metacharacters
13724         ‘\’ and ‘$’.
13725         * Makefile.in (install-arch-indep, install-etcdoc):
13726         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
13727         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
13728         * configure.ac, lib-src/rcs2log, make-dist:
13729         * src/Makefile.in (lisp.mk):
13730         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
13731         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
13732         if $foo can contain arbitrary characters.
13733         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
13734         * doc/lispref/two-volume.make (vol1.pdf):
13735         * test/etags/make-src/Makefile (web ftp publish):
13736         Use ‘printf’ rather than ‘echo -e’.
13738 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
13740         Allow numbers with different radixes to be yanked.
13742         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
13743         default base 10.
13745 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13747         Improve CHECK_IMPURE and PURE_P speedup
13749         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
13751 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
13753         Use events instead of chars to keep track of steps.
13755         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
13756         to keep track of steps.
13758 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13760         Fix --enable-gcc-warnings problem with older GCC
13762         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
13763         This is for building with --enable-gcc-warnings with
13764         GCC 4.6 through 5.0.
13766 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
13768         Fix vertical-motion in truncated lines that end in a stretch
13770         * src/indent.c (Fvertical_motion): Expect overshoot when point is
13771         beyond window margin and lines are truncated, even if we have a
13772         stretch at point.  (Bug#21468)
13774 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
13776         Avoid link-time errors due to inline functions
13778         * src/emacs.c: Include puresize.h, to avoid link-time errors in
13779         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
13780         inline functions.
13782 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
13784         * src/data.c (Faset): Fix last change.
13786 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13788         CHECK_IMPURE and PURE_P speedup
13790         * src/intervals.c (create_root_interval):
13791         Do CHECK_IMPURE only for strings; not needed for buffers.
13792         Prefer ! STRINGP to BUFFERP, for a tad more speed.
13793         * src/puresize.h (CHECK_IMPURE, PURE_P):
13794         Now inline functions instead of macros.
13795         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
13796         All callers changed.
13797         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
13798         All callers changed.
13800 2015-10-09  Noah Friedman  <friedman@splode.com>
13802         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
13804 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13806         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
13808         our after-change-function, rather than re-adding it if it was removed.
13810 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13812         * lisp/cedet/ede: Silence some compiler warnings
13814         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
13815         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
13816         (ede-apply-object-keymap, ede-reset-all-buffers)
13817         (ede-auto-add-to-target): Use dolist.
13818         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
13819         Use field names rather than initarg names in `oref'.
13820         (ede-load-project-file): Remove unused var `file'.
13821         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
13822         (ede-set): Remove unused var `a'.
13824         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
13825         (ede-project-autoload): Avoid the old-style "name" argument.
13826         (ede-emacs-find-matching-target): Use field names rather than initarg
13827         names in `oref'.
13829         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
13830         (ede-linux-load, ede-project-autoload): Avoid the old-style
13831         "name" argument.
13832         (ede-linux-find-matching-target): Use field names rather than initarg
13833         names in `oref'.
13835 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13837         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
13839 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13841         * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid
13842         indenting too far after ":-".
13844 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
13846         Update case-table and categories of recently added characters
13848         * lisp/international/characters.el: Update information about Latin
13849         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
13850         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
13851         blocks.  (Byug#21654)
13853 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
13855         * src/frame.c (adjust_frame_size): In minibuffer-only windows
13856         don't count minibuffer height twice.  (Bug#21643)
13858 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
13860         Avoid inflooping in font-lock
13862         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
13863         inhibit-field-text-motion around the call to
13864         line-beginning-position, to avoid inflooping.  (Bug#21615)
13866 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
13868         Refactor duplicated code; ensure default is in completions
13870         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps):
13871         New function.
13872         (reftex-extract-bib-entries): Use it.
13873         (reftex-extract-bib-entries-from-thebibliography): Use it.
13875 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
13877         * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst"
13878         in the example.
13880 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
13882         * lisp/calc/calc.el: Silence byte-compiler warnings.
13883         (calc-scan-for-dels): Use ignore-errors.
13884         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
13885         (calc-read-key-sequence): Remove unused var `prompt2'.
13886         (calc-kill-stack-buffer): Remove unused var `buflist'.
13887         (calc): Remove unused var `oldbuf'.
13888         (calc-refresh): Use inhibit-read-only.
13889         (calc-can-abbrev-vectors): Declare.
13890         (calc-record): Remove unused var `mainbuf'.
13891         (math-sub-bignum): Remove unused var `sum'.
13892         (math-svo-c, math-svo-wid, math-svo-off): Declare.
13894 2015-10-08  Daiki Ueno  <ueno@gnu.org>
13896         Use g_clear_error instead of g_error_free
13898         * src/image.c: Define g_clear_error instead of g_error_free.
13899         (init_svg_functions): Resolve symbol g_clear_error instead of
13900         g_error_free.
13901         (svg_load_image): Use g_clear_error instead of g_error_free, to
13902         suppress GLib warnings when ERR is not set.  See bug#21641.
13904 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
13906         * src/image.c (image_size_error): Simplify.
13908 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
13910         Fix problems caught with --enable-gcc-warnings
13912         * src/image.c (lookup_rgb_color):
13913         * src/xfns.c (x_defined_color):
13914         * src/xterm.c (x_parse_color):
13915         Remove unused locals.
13917 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
13919         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
13921 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
13923         Format initial input uniformly
13925         * lisp/calc/calc.el (calc-digit-start-entry): New function.
13926         * lisp/calc/calc.el (calcDigit-start):
13927         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
13928         Use `calc-digit-start-entry' to format input.
13930 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
13932         Disable non-working pointerColor setting for X tooltip frame
13934         It generates a bunch of server traffic, but there's some bug wherein
13935         the new mouse cursor settings don't seem to get used.  In most
13936         situations the cursor isn't likely to be seen anyway, so it's not
13937         urgent to fix.
13939         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
13941 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
13943         Reduce some unnecessary X calls
13945         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
13946         call.  If border width is wanted, get it from the XGetGeometry call
13947         instead of calling XGetWindowAttributes on the same window.  Skip some
13948         X calls if we've already detected an error from the X server.
13949         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
13950         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
13952 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
13954         Reduce color allocation/query traffic in the TrueColor case
13956         When working with an X visual with TrueColor class, pixel values can
13957         be generated from the RGB values according to mask value provided by
13958         the server on connection.  Some of the image-handling code was already
13959         doing this.
13961         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
13962         lookup_rgb_color.
13963         (x_mutable_colormap): New function.
13964         * src/image.c (lookup_rgb_color): Move pixel composition code to
13965         x_make_truecolor_pixel.
13966         (x_kill_gs_process): Call x_mutable_colormap.
13967         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
13968         x_mutable_colormap.
13969         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
13970         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
13971         pixel value into RGB values directly, and don't send a request to the
13972         server.
13973         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
13974         value with x_make_truecolor_pixel.
13975         (x_copy_color): For an immutable color map, just return the provided
13976         pixel value.
13978 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
13980         Cache XParseColor results in the X display info structure
13982         With repeated lookups of foreground and background colors for multiple
13983         faces per frame, we issue a lot of redundant color name lookups to the
13984         X server, waiting every time for the response.  On a remote network
13985         with, say, 30ms round-trip time, this can add nearly a full second to
13986         creation of a new frame.
13988         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
13989         * src/image.c (get_spec_bg_or_alpha_as_argb):
13990         (xpm_init_color_cache, xpm_lookup_color):
13991         * src/xfns.c (x_defined_color):
13992         * src/xterm.c (x_parse_color): New function; caches color names not
13993         starting with "#" in the display-info structure.
13994         (x_delete_display): Delete the cache content.
13995         * src/xterm.h (struct color_name_cache_entry): New type.
13996         (x_parse_color): Declare.
13997         (struct x_display_info): Add a new field for the cache.
13999 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
14001         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local.
14003 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
14005         Fix segfault in image_size_error
14007         * src/image.c (image_size_error): Pass a Lisp string to
14008         image_error, not a C string.  (Bug#21641)
14010 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
14012         Highlight CSS variable definitions
14014         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
14015         CSS variables.  (Bug#21638)
14017 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14019         * test/automated/tabulated-list-test.el: New file.
14020         Test bug#21639 and some basic functionality.
14022 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14024         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
14025         Check if column can be sorted before trying.  (Bug#21639)
14027 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
14029         Add test for `self-insert-command' (bug#21633)
14031         * test/automated/cmds-tests.el: New file.
14033 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
14035         * src/window.c (resize_frame_windows): Don't set root window's
14036         top position when resizing horizontally.
14038 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14040         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
14041         Document more possible values.
14043 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
14045         * lisp/textmodes/tex-mode.el: Use lexical-binding.
14047 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
14049         * lisp/indent.el (indent--default-inside-comment): New function.
14050         (indent-for-tab-command): Use it for `noindent' indentation.
14052 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14054         Fix bug in GC_CHECK_MARKED_OBJECTS check
14056         * src/alloc.c (mark_object): Fix bug in checking code.
14057         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
14058         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
14059         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
14060         bucket.  The bug did not affect behavior either in the normal case
14061         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
14062         not have an internal error that a properly-written
14063         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
14065 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
14067         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
14068         Add prettified version for \\Bbb{Q}.
14070 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
14072         * test/automated/package-test.el (package-test-install-single):
14073         Add a test for bug#21625.
14075 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
14077         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
14078           not a package-desc object.  Also clarify documentation.  (Bug#21625)
14080 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
14082         Fix display of characters adjacent to ZWJ and ZWNJ
14084         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
14085         characters the same as directional formatting controls.
14086         (bidi_level_of_next_char): Include all Bn characters in rule L1,
14087         as mandated by the UBA.
14089 2015-10-06  Andreas Schwab  <schwab@suse.de>
14091         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
14092         number.  (Bug#21633)
14094 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
14096         * doc/lispref/objects.texi (Window Type): Add a cross reference.
14098         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
14100 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
14102         * lisp/language/misc-lang.el (composition-function-table):
14103         Fix entries for Arabic and Syriac.
14105 2015-10-05  Damien Cassou  <damien@cassou.me>
14107         Add first unit tests for auth-source.el
14109         * test/automated/auth-source-tests.el: New file.
14111 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
14113         Remove redundant redisplay code
14115         * src/xdisp.c (redisplay_internal, try_cursor_movement)
14116         (try_window_reusing_current_matrix, try_window_id): Remove
14117         redundant restrictions on redisplay optimizations based on the
14118         frame's 'redisplay' flag.  See
14119         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
14120         discussions.
14122 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
14124         * src/xdisp.c (windows_or_buffers_changed): Improve docstring.
14126 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
14128         Update tutorials/TUTORIAL.cn
14130         * etc/tutorials/TUTORIAL.cn: Improve translation.
14132 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14134         * src/macfont.m (macfont_encode_char, syms_of_macfont):
14135         Remove unused vars.
14137 2015-10-04  Stefan Merten  <stefan@merten-home.de>
14139         Pull in version numbers from rst.el upstream release.
14141         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
14142         (rst-svn-timestamp, rst-official-version)
14143         (rst-official-cvs-rev, rst-package-emacs-version-alist):
14144         Update version numbers.
14146 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
14148         * test/automated/coding-tests.el: New file.
14150 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
14152         Improve XEmacs compatibility of Tramp
14154         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
14155         Declare if it doesn't exist.
14156         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
14157         (redisplay): Make it an alias if it doesn't exist.
14159         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
14160         `file-remote-p' (due to XEmacs compatibility).
14162         * lisp/net/trampver.el (locate-dominating-file)
14163         (tramp-compat-replace-regexp-in-string): Autoload.
14164         (tramp-repository-get-version): Do not dupe byte-compiler.
14166 2015-09-02  K. Handa  <handa@gnu.org>
14168         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
14170         * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
14171         Adjusted for the change of type of elements in the array
14172         MFLTGlyphString.glyphs.
14174 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
14175             Michael Heerdegen  <michael_heerdegen@web.de>
14177         shr: fix too long lines in rendered buffers (Bug#21012)
14179         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
14180         Correct calculation of available width.
14181         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
14182         is nil.
14184 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
14186         Restore blank line before next section, erroneously erased
14187         in my previous commit
14189         * etc/compilation.txt (symbol ant): Add an additional trailing blank
14190         line to this section, so that there are two of them immediately before
14191         the next section.
14193 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
14195         Support MSW filename style for ant compilation error regexp
14197         * etc/compilation.txt (symbol ant):
14198         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
14199         Support MSW filename style.
14201 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
14203         * nt/INSTALL: Minor spelling and quote fixes.
14205         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
14207 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
14209         Maintain ordering of JSON object keys by default
14211         * lisp/json.el (json-object-type): Mention order handling in doc-string.
14212         (json--plist-reverse): New utility function.
14213         (json-read-object): Maintain ordering for alists and plists.
14214         (json-pretty-print): Ensure that ordering is maintained.
14216         * test/automated/json-tests.el (test-json-plist-reverse): New test for
14217         `json--plist-reverse'.
14218         (json-read-simple-alist): Update test to accommodate for changes in
14219         `json-read-object'.
14221         * etc/NEWS: Document the new behavior of the pretty printing functions.
14223 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
14225         * src/coding.c (complement_process_encoding_system): Revert last change.
14227 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
14229         * admin/MAINTAINERS: Add entry for Ulf Jasper.
14231 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
14233         Doc fix for `defmacro'
14235         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
14237 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
14239         More validatation of coding systems
14241         * src/fileio.c (Finsert_file_contents): Remove redundant
14242         coding-system check.
14243         (choose_write_coding_system): Likewise.
14244         * src/coding.c (complement_process_encoding_system): Check argument
14245         for valid coding system.
14247 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
14249         Avoid crashes in coding_inherit_eol_type
14251         * src/coding.c (coding_inherit_eol_type): Check the validity of
14252         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
14253         (Bug#21602)
14255 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
14257         More validatation of coding system in 'write-region'
14259         * src/coding.c (choose_write_coding_system): More validation of
14260         coding-system from various sources.  Suggested by Andreas Schwab
14261         <schwab@linux-m68k.org>.  (Bug#21602)
14263 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
14265         Avoid crashes due to invalid coding-system
14267         * src/fileio.c (choose_write_coding_system)
14268         (Finsert_file_contents): Check validity of coding-system-for-write
14269         and coding-system-for-read bound by the caller.  (Bug#21602)
14271 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
14273         Adapt to new prettify-symbols-unprettify-at-point default
14275         * etc/NEWS: Mention that unprettication of symbol at point is off
14276         by default.
14278 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
14280         Revert my two recent process.c changes
14282         Revert "Improve last commit to process.c" and "Remove callback-handled
14283         channels from Available set" because they did not fix bug#21313.
14285         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
14286         27f871907cc24f33a7d12ac3a4ab71a88f0bc554.
14288 2015-10-02  Markus Triska  <triska@metalevel.at>
14290         * lisp/progmodes/prolog.el: Update and extend operator table.
14291         (prolog-smie-grammar): Add multifile, public etc.
14293 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
14295         Allow autogen even when Git is not installed
14297         * autogen.sh: Test ‘git status’ before trying to use Git.
14299 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
14301         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes.
14302         Adjust lto/lfrom when we have uncommitted changes.
14304 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
14306         Fix problems found by clang 3.5.0
14308         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
14309         * src/font.c (font_parse_family_registry):
14310         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
14312 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
14314         * nt/INSTALL: Update instructions for running autogen.sh.
14316         * nt/INSTALL: Point to ezwinports for libXpm binaries.
14318 2015-10-02  Daniel Colascione  <dancol@dancol.org>
14320         Fix winner in cl-lib not loaded case
14322         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
14323         without requiring CL
14325 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
14327         Fix a few problems with directed quotes
14329         This is in response to a problem report by Kaushal Modi in:
14330         http://bugs.gnu.org/21588#25
14331         * lisp/cedet/mode-local.el (describe-mode-local-overload):
14332         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
14333         * lisp/info-xref.el (info-xref-check-all-custom):
14334         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
14335         Prefer directed to undirected single quotes in diagnostics.
14337 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
14339         Revert "Attempt to fix slow redisplay caused by last changes"
14341         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
14342         (try_cursor_movement): Don't relax requirements for redisplay
14343         optimizations for the selected frame.  (Bug#21597)
14345         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
14347 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
14349         Fix slow redisplay when daemon frame exists
14351         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
14352         when looking for frames that need to be redisplayed.  (Bug#21597)
14354 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
14356         Attempt to fix slow redisplay caused by last changes
14358         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
14359         (try_cursor_movement): Relax requirements for redisplay
14360         optimizations for the selected frame.  (Bug#21597)
14362 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
14364         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
14365         Improve doc string.
14367 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
14369         * lisp/minibuffer.el (minibuffer-completion-help):
14370         Set default base-size, in case completion table does not set it.
14372 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
14374         Fix GUD display of GDB output with non-ASCII text
14376         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
14377         (gdb-mi-decode): New function.
14378         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
14379         decode octal escapes in GDB output.  (Bug#21572)
14381 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
14383         * nt/INSTALL: Document where to find XPM support files.
14385 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
14387         Un- and re-prettification are not exclusive
14389         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
14390         Re-apply prettification to previous symbol also when unprettifying
14391         next one.
14393 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
14395         Don't unprettify symbol at point by default
14397         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
14398         Default to disabled (nil).
14400 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
14402         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
14403         Support unprettifying when point is after a symbol.
14405         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'.
14407 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
14409         Avoid assertion violations in push_prefix_prop
14411         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
14412         a line that has a line-prefix defined starts with an image.  (Bug#21428)
14414 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
14416         Disable some display optimizations when frames need redisplay
14418         These optimizations were previously disabled by the
14419         windows_or_buffers_changed flag, which now is not set
14420         when only some frames need to be redrawn.
14421         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
14422         'redisplay' flag is set.
14423         (try_window_reusing_current_matrix, try_window_id)
14424         (try_cursor_movement): Disable these optimizations when the
14425         frame's 'redisplay' flag is set.
14427 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
14429         Don't modify buffer by unprettification
14431         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
14432         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
14433         modify buffer when setting/removing custom prettify-symbols-start/end
14434         text properties.  Add them to font-lock-extra-managed-props, too.
14436 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
14438         Try to avoid redisplaying all frames when creating a new one
14440         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
14441         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
14442         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
14443         * src/frame.c (x_set_screen_gamma): Set the specific frame's
14444         `redisplay' bit rather than windows_or_buffers_changed.
14446         * src/window.c (apply_window_adjustment): Remove redundant setting of
14447         windows_or_buffers_changed.
14449         * src/xdisp.c (redisplay_internal): Set the specific frame's
14450         `redisplay' bit rather than update_mode_lines in response to
14451         cursor_type_changed.
14452         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
14453         (AINC): Adjust accordingly.
14455 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
14457         Implement unprettification of symbol at point
14459         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
14460         symbol at point.
14461         (prettify-symbols--current-symbol-bounds): New variable.
14462         (prettify-symbols--post-command-hook): New function.
14463         (prettify-symbols-unprettify-at-point): New defcustom.
14464         (prettify-symbols-mode): Use it.
14465         (prettify-symbols--compose-symbol): Use them.
14467 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14469         * src/macfont.m (mac_font_descriptor_supports_languages):
14470         Regard "zh" as synonym of "zh-Hans".
14472 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14474         Work around crash when displaying etc/HELLO on OS X 10.11
14476         * src/macfont.m (mac_font_get_weight)
14477         (mac_font_descriptor_get_adjusted_weight): New functions.
14478         (macfont_store_descriptor_attributes): Adjust weight.
14480 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14482         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
14484 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
14486         * lisp/arc-mode.el (archive-rar-summarize): Better alignment
14487         of the columns.
14489 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
14491         Use unar and lsar to handle RAR archives in arc-mode
14493         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
14494         on unar and lsar instead of unrar-free for RAR archives (bug#17663).
14496 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
14498         Clarify :create in auth-source's docs
14500         * lisp/gnus/auth-source.el (auth-source-search):
14501         Clarify :create's meaning.
14503 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
14505         Avoid empty -path arguments in rgrep
14507         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
14508         the list produced according to grep-find-ignored-directories,
14509         before passing it to Find/Grep invocation.  (Bug#21548)
14511 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
14513         Clarify documentation of pos-visible-in-window-p
14515         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
14516         t for POS.  See
14517         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
14518         for the original report.
14520         * doc/lispref/windows.texi (Window Start and End): Clarify the
14521         meaning of t for the POSITION argument of pos-visible-in-window-p.
14523 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
14525         * lisp/progmodes/prolog.el: Fix various indentation cases.
14526         (prolog-operator-chars): New const (add \\).
14527         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
14528         (prolog-smie-rules): Add rules according to bug#21526.
14530 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
14532         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent.
14533         (sh-indent-after-continuation): Add new value `always' (bug#17620)
14534         (sh-smie-sh-rules): Remove old handling of continued lines.
14535         (sh-smie--indent-continuation): New function.
14536         (sh-set-shell): Use it.
14538 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
14540         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun.
14541         Remove redundant :group keyword args.
14542         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
14543         Remove variables.
14544         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
14545         turn them into compile-time variables.
14546         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
14547         Add rules for break, continue, return, global, and persistent.
14548         Refine the rule for "until".
14549         (octave-smie--funcall-p, octave-smie--end-index-p)
14550         (octave-smie--in-parens-p): New functions.
14551         (octave-smie-backward-token, octave-smie-forward-token): Use them to
14552         distinguish the "enumeration" function and the "end" index from
14553         their corresponding keywords.
14554         (octave--block-offset-keywords): New constant.
14555         (octave-smie-rules): Use it.  Adjust rules for new global/persistent
14556         parsing.
14557         (octave-reserved-words): Redefine using octave-smie-grammar.
14558         (octave-font-lock-keywords): Use octave-smie--funcall-p and
14559         octave-smie--end-index-p.
14561 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
14563         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*.
14565 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
14567         * nt/INSTALL: Remove references to GTK site.
14568         That site no longer offers Windows downloads.
14570 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
14572         * nt/INSTALL: Add instructions for installing Git.
14574 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
14576         * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to
14577         use colors.  Suggested by Eli Zaretskii.
14579 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
14581         * lisp/net/shr.el (shr-colorize-region): Don't do it on a system
14582         not supporting 256 above colors (bug#21557).
14584 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
14586         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
14588         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
14590 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
14592         Add documentation for seq.el
14594         * doc/lispref/sequences.texi: Add documentation regarding extending
14595         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
14596         seq-do and seq-map.
14598 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
14600         Better documentation for seq-some
14602         * doc/lispref/sequences.texi:
14603         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
14604         guarantee that the returned value is the first non-nil value that
14605         resulted from applying the predicate.
14607 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
14609         * lisp/arc-mode.el: Sharp-quote function arguments.
14611 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
14613         Avoid redisplay error in ediff-regions-wordwise
14615         * lisp/vc/ediff-util.el
14616         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
14617         set before activating it.  (Bug#21567)
14619 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
14621         Another attempt to fix crashes due to prematurely freed faces
14623         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
14624         faces for as long as we might have desired matrices that reference
14625         those faces.  (Bug#21428)
14627 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
14629         Add auctex development list email address
14631 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
14633         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
14635 2015-09-28  Arash Esbati  <esbati@gmx.de>  (tiny change)
14637         Improve wrapfig package support and caption parsing
14639         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
14640         Correct description string and add wraptable environment.
14641         (reftex-default-context-regexps): Improve caption regexp.
14643 2015-09-28  Anders Lindgren  <andlind@gmail.com>
14645         Respect value of frame_resize_pixelwise when handling fullscreen state
14647         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
14648         setting size increments.
14650 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
14652         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
14654 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
14656         Add prettify-symbols-alist for js-mode
14658         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
14659         (js-mode): Use it.
14661 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
14663         * nt/subdirs.el: File deleted (no longer used).
14665 2015-09-26  Alan Mackenzie  <acm@muc.de>
14667         Fix follow-scroll-up/down, making them replacements for scroll-up/down
14669         1. Allow point to move between follow windows in scroll operations.
14670         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
14671         when EOB was isolated in the last follow window.
14673         * lisp/follow.el (follow-fixed-window): New variable.
14674         (follow-get-scrolled-point): New function.
14675         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
14676         Reformulate the code.  Put `scroll-command' properties on the functions.
14677         Correct minor errors in ...-down's doc string and code.
14678         (follow-calc-win-end): Amend incomplete doc string.  Use
14679         `pos-visible-in-window-p' to check whether EOB is in the window.
14680         (follow-estimate-first-window-start): Correct an off-by-1 error.
14681         (follow-adjust-window): Add handling for explicit scrolling operations.
14683 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
14685         * admin/MAINTAINERS: Add self, plus list some more files
14686         sans maintaners.
14688 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
14690         New DWIM commands for changing letter-case
14692         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
14693         New functions.  (Bug#21501)
14695 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
14697         * etc/PROBLEMS: Document problems with pasting on MS-Windows.
14699 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
14701         Make face realization be more frame-specific
14703         * src/frame.h (struct f): New flag face_change.
14704         * src/xfaces.c (Finternal_make_lisp_face)
14705         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
14706         (update_face_from_frame_parameter): Set the face_change flag only
14707         for the frame whose faces are affected.
14708         * src/xdisp.c (init_iterator): If a frame's face_change flag is
14709         set, free faces only on that frame.
14710         (redisplay_internal): Disable "display optimization 1" if the
14711         frame's face_change flag is set.
14712         (redisplay_window): Don't allow skipping a window's redisplay if
14713         its frame's face_change flag is set.
14714         * src/frame.c (x_set_screen_gamma): Instead of calling
14715         Fclear_face_cache, call clear_face_cache and set
14716         windows_or_buffers_changed to a non-zero value.  This avoids
14717         setting the global face_change flag that triggers face realization
14718         on all frames and thorough redisplay of all of them.
14720         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
14721         clear face cache if the selected frame is a GUI frame.
14723 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
14725         Remove font-latex specific check
14727         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
14728         Use syntax-ppss data to identify verbatim contents.
14730 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
14732         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
14733         Fix some false negatives.
14735 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
14737         Reorder Windows version in Emacs manifests
14739         * nt/emacs-x64.manifest:
14740         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
14741         highest.
14743 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
14745         Update Emacs manifest files for Windows 10
14747         * nt/emacs-x86.manifest:
14748         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
14750 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
14752         Avoid non-ASCII decoding errors in C src files
14754         * src/nsterm.m:
14755         * src/lisp.h:
14756         * src/editfns.c:
14757         * src/doprnt.c: Add 'coding' cookies -- these files include
14758         Unicode characters and should be decoded as UTF-8.
14760 2015-09-25  Alan Mackenzie  <acm@muc.de>
14762         Resurrect edebug-set-initial-mode, repurposing it to set the global mode
14764         * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
14765         amend to match current modes and functions.
14766         (edebug-set-initial-mode): Uncomment and change from setting a defun's
14767         `edebug-initial-mode''s property to setting the variable
14768         `edebug-initial-mode'.
14769         (top level): Create new binding C-x C-a C-m for
14770         `edebug-set-initial-mode'.
14772         * doc/lispref/edebug.texi (Edebug Execution Modes): Document
14773         `edebug-set-initial-mode' and its new key binding.
14774         (Edebug Options): Mention the new command in the pertinent place.
14776         * etc/NEWS: Write entry for this change.
14778 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
14780         Avoid non-ASCII decoding errors in Texinfo files
14782         * doc/misc/tramp.texi:
14783         * doc/lispref/strings.texi:
14784         * doc/lispref/positions.texi:
14785         * doc/lispref/help.texi:
14786         * doc/lispref/functions.texi:
14787         * doc/lispintro/emacs-lisp-intro.texi:
14788         * doc/emacs/text.texi:
14789         * doc/emacs/modes.texi:
14790         * doc/emacs/mini.texi:
14791         * doc/emacs/display.texi:
14792         * doc/emacs/custom.texi:
14793         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
14794         Unicode characters and should be decoded as UTF-8.
14795         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
14796         apostrophe unnecessarily.
14798 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
14800         Merge from gnulib
14802         This incorporates:
14803         2015-09-25 c-ctype: rewrite to use inline functions
14804         2015-09-24 maint: add coding cookies to non-ASCII sources
14805         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
14806         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
14807         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
14808         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
14809         * lib/set-permissions.c:
14810         Copy from gnulib.
14812 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
14814         Update publicsuffix.txt from upstream
14816         * etc/publicsuffix.txt: Update from
14817         https://publicsuffix.org/list/effective_tld_names.dat
14818         dated 2015-09-24 17:29:21 UTC.
14820 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
14822         Prevent timers from messing up TTY menus
14824         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
14825         the TTY menu is open.  (Bug#21530)
14827 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
14829         No need to mention K&R C in c-mode intro
14831 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
14833         Fix recent bootstrap problems
14835         * src/syntax.c (parse_sexp_propertize): Fix last fix.
14836         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
14837         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
14839 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
14841         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
14843 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
14845         Properly quote nested xml comments (Bug#6267) (Bug#20001)
14847         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function.
14848         (nxml-mode): Set comment-quote-nested-function.
14850 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
14852         Allow major-modes full control over quoting nested comments
14854         * lisp/newcomment.el (comment-quote-nested-function): New variable.
14855         (comment-quote-nested-default): New function.
14856         (comment-quote-nested): Use `comment-quote-nested-function'.
14858 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
14860         Prefer CALLN in a few more places
14862         * src/macfont.m (macfont_set_family_cache):
14863         * src/nsterm.m (append2):
14864         * src/xterm.c (x_cr_export_frames):
14865         Prefer CALLN to allocating the arg arrays by hand.
14867 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
14869         Adapt file-notify-test02-events test case
14871         * test/automated/file-notify-tests.el (file-notify-test02-events):
14872         Create a new watch for every test.
14874 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
14876         Continue gfilenotify.c implementation of missing parts
14878         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
14879         `gfile-add-watch' call.
14880         (file-notify-rm-watch): Modify `file-notify-descriptors' only
14881         after calling the low level functions.
14883         * src/gfilenotify.c (dir_monitor_callback): Check, whether
14884         event_type is expected.
14885         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
14886         (Fgfile_rm_watch): Fix typo.
14887         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
14889 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
14891         * src/syntax.c (parse_sexp_propertize): Handle spurious
14892         e_property_truncated flag.
14893         (update_syntax_table_forward): Remove invalid assertion.
14895 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
14897         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
14898         space display spec on text-mode terminals, by calling
14899         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the
14900         HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the
14901         test for a GUI frame.
14903 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
14905         Move let-when-compile to lisp-mode.el
14907         This fixes the bootstrapping problem of `let-when-compile' using
14908         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
14910 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
14912         * lisp/url/url-http.el (url-http-parse-headers): Do not
14913         automatically include Authorization header in redirect.
14914         (Bug#21350)
14916 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
14918         Clarify documentation of ':relative-width'
14920         * doc/lispref/display.texi (Specified Space): Document that
14921         ':relative-width' is only supported on GUI frames.
14923 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
14925         Fix 'current-column' in presence of :relative-width
14927         * src/indent.c (check_display_width): Support ':relative-width'
14928         in a display spec that specifies a stretch glyph.  (Bug#21533)
14930 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
14932         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
14934         ... to conform better to CONTRIBUTE guidelines.
14936 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
14938         * lisp/progmodes/prolog.el: Fix indentation of empty line
14940         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
14941         `empty-line-token' element.
14942         (smie-indent-empty-line): New function.
14943         (smie-indent-functions): Add it.
14945         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro
14946         behavior and use the new `empty-line-token' element (bug#21526).
14947         (prolog-mode-variables): Fix comment-start-skip setting to match
14948         comment-start.
14950         * test/indent/prolog.prolog: Add nested indentation tests.
14952         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
14953         comment-start-skip not to misuse submatch 1.
14955 2015-09-22  Alan Mackenzie  <acm@muc.de>
14957         Make description of `edebug-initial-mode' user friendly
14959         Fixes bug#21365.
14961         * doc/lispref/edebug.texi (Edebug Execution Modes): Change the
14962         description of `edebug-initial-mode' from that of its implementation
14963         to that of its visual effect and use.  Move the paragraph higher up.
14965 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
14967         lisp/progmodes/gud.el (gud-format-command): Fix last commit
14969         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
14970         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
14972 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
14974         Improve last commit to process.c
14976 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
14978         Implement gfile-valid-p
14980         * lisp/filenotify.el (file-notify-callback): Fix typo.
14981         (gfile-valid-p): Remove defalias.
14983         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
14984         the file or directory to be watched is deleted.
14985         (Fgfile_add_watch): Make watch_object a triple.
14986         (Fgfile_rm_watch): Check, whether watch is cancelled already.
14987         (Fgfile_valid_p): New defun.
14988         (syms_of_gfilenotify): Declare Sgfile_valid_p.
14990 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
14992         Remove callback-handled channels from Available set
14994         * src/process.c (wait_reading_process_output): Remove channel from
14995         Available set if it is handled by a callback, e.g., dbus or
14996         inotify (bug#21313).
14998 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
15000         Use lunate epsilon for TeX \epsilon
15002         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
15003         Add \varepsilon using GREEK SMALL LETTER EPSILON, and change
15004         \epsilon to use GREEK LUNATE EPSILON SYMBOL
15006 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15008         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
15010         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
15011         rather than outermost paren (bug#21526).
15013 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
15015         Improve git diff hunk headers for .el, .texi
15017         Problem reported by Alan Mackenzie in:
15018         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
15019         * .gitattributes (*.el, *.texi): New patterns.
15020         * autogen.sh: Configure diff.elisp.xfuncname and
15021         diff.texinfo.xfuncname if using Git.
15023 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
15025         Don't rely on defaults in decoding UTF-8 encoded Lisp files
15027         * lisp/replace.el:
15028         * lisp/textmodes/rst.el:
15029         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
15031 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
15033         Clarify or replace a few \u escapes
15035         * doc/lispref/nonascii.texi (Character Properties)
15036         More-detailed commentary for \u escapes.
15037         * lisp/progmodes/python.el (python--prettify-symbols-alist):
15038         * lisp/replace.el (query-replace-from-to-separator):
15039         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
15040         (rst-mode-syntax-table):
15041         * lisp/whitespace.el (whitespace-display-mappings):
15042         Prefer actual character to \u escape when this makes the code
15043         easier to follow in the usual case where Unicode chars can be
15044         displayed.
15046 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
15048         Pacify GCC -Wmaybe-uninitialized in xdisp.c
15050         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
15051         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
15052         charpos.  The loop should always execute at least once anyway.
15054 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
15056         Signal error on invalid regexp
15058         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
15059         Signal an error when the user tries searching with a regexp
15060         matching the empty string.
15062 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
15064         Another fix of file-notify-tests for w32notify
15066         * test/automated/file-notify-tests.el (file-notify-test02-events):
15067         Further adaptation for w32notify: reduce the number of expected
15068         'changed' events.  (Bug#21435)
15070 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
15072         Adapt tests and manual for w32notify
15074         * doc/lispref/os.texi (File Notifications): w32notify does not
15075         send `attribute-changed' events.
15077         * test/automated/file-notify-tests.el (file-notify--test-with-events):
15078         Simplify parameters.  Adapt all callees.
15079         (file-notify-test02-events): w32notify does not send
15080         `attribute-changed' events.
15081         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
15082         Do not skip in case of w32notify.  Simply ignore this part of the test.
15084 2015-09-21  Dima Kogan  <dima@secretsauce.net>
15086         Fix setting breakpoints when remote-debugging
15088         * lisp/progmodes/gud.el (gud-format-command): Send localized file
15089         names to the debugger running on the remote.  (Bug#13304)
15091 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
15093         Better docstring and parameter name for seq-find
15095         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
15096         the parameter `sentinel' to `default'.
15098         * doc/lispref/sequences.texi (Sequence Functions): Update the
15099           documentation for `seq-find' accordingly.
15101 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
15103         Avoid infinite recursion while displaying box face
15105         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
15106         the previous string/buffer character position under bidi
15107         iteration.  (Bug#21428)
15109 2015-09-21  Anders Lindgren  <andlind@gmail.com>
15111         Keep upper edge unchanged when changing size of NS frame
15113         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
15114         (Bug#21415).
15116 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
15118         * lisp/progmodes/prolog.el: Improve handling of if/then/else.
15119         (prolog-smie-rules): Accommodate standard if/then/else special
15120         indentation.
15121         (prolog-mode): Add . to electric-indent-chars.
15122         (prolog-electric--if-then-else): Re-indent the line before adding space
15123         after the new char (bug#21526).
15125 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
15127         Add prettify symbols to python-mode
15129         * lisp/progmodes/python.el (python-prettify-symbols-alist):
15130         New variable.
15131         (python-mode): Use it
15133 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
15135         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete.
15137 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
15139         (compilation-error-regexp-alist-alist): Tone down guile-file
15141         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
15142         Make guile-file a bit less enthusiastic (bug#21496).
15144 2015-09-20  Drew Csillag  <drew@thecsillags.com>
15146         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
15147         Fix m4_* highlighting.
15149         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
15150         of commands when they have a "m4_" prefix.
15152 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15154         '.' -> `.' in doc string
15156         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
15157         individual chars with grave quotes instead of straight quotes, as
15158         this works better when they are translated to curved quotes.
15160 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
15162         Improve file notifications, especially for Tramp
15164         * doc/lispref/files.texi (Magic File Names):
15165         Mention `file-notify-valid-p'.
15167         * doc/lispref/os.texi (File Notifications):
15168         Describe `file-notify-valid-p'.
15170         * etc/NEWS: Add `file-notify-valid-p'.
15172         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
15173         Improve implementation.
15174         (tramp-gvfs-monitor-file-process-filter): Rename from
15175         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
15176         process if appropriate.
15178         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
15179         Improve implementation.
15180         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
15181         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
15182         if appropriate.
15183         (tramp-sh-inotifywait-process-filter): Rename from
15184         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
15185         appropriate.
15187         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
15188         Use `delete-process'.
15189         (tramp-handle-file-notify-valid-p): Check also, that file or
15190         directory to be watched still exists.
15192         * test/automated/file-notify-tests.el (file-notify--test-timeout):
15193         New defun.  Use it at all places a timeout is needed.
15194         (file-notify--test-cleanup): Delete directories recursively.
15195         Cleanup also Tramp connections.
15196         (file-notify-test02-events): Add tests for `attribute-change'.
15197         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
15198         Add tests for `file-notify-rm-watch'.
15200 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15202         Use %s to format strings instead of splicing them
15204         If FOO might contain quotes that are part of a file or variable
15205         name, the quotes should not be translated when showing FOO’s name
15206         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
15207         is not quite right, as it would translate FOO’s quotes.
15208         Change it to (message "%s: bar" FOO) instead.
15209         * lisp/allout.el (allout-process-exposed):
15210         * lisp/calc/calc-ext.el (calc-do-prefix-help):
15211         * lisp/calc/calc-store.el (calc-store-into):
15212         * lisp/calendar/todo-mode.el (todo-category-completions):
15213         * lisp/cedet/semantic/complete.el (semantic-completion-message):
15214         * lisp/org/ob-latex.el (convert-pdf):
15215         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
15216         * lisp/org/ox-latex.el (org-latex-compile):
15217         * lisp/org/ox-man.el (org-man-compile):
15218         * lisp/org/ox-odt.el (org-odt--export-wrap):
15219         * lisp/org/ox-texinfo.el (org-texinfo-compile):
15220         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
15221         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
15222         (verilog-signals-combine-bus, verilog-read-defines)
15223         (verilog-getopt-file, verilog-expand-dirnames)
15224         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
15225         * lisp/term/ns-win.el (ns-spi-service-call):
15226         Use %s to avoid translating quotes of file names etc. in diagnostics.
15228 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
15230         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
15231         (js-mode): Don't set syntax-begin-function.
15233 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
15235         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
15236         syntax-begin-function is a symbol.
15238 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
15240         Improve documentation of 'run-at-time'
15241         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
15242         In particular, don't refer to 'diary-entry-time', because it is
15243         unavailable until diary-lib is loaded.  Also, refer to
15244         'timer-duration-words', not 'timer-duration', as the latter's doc
15245         string says nothing about the accepted strings.
15247 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
15249         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
15251 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
15253         Repair pdbtrack remote file tracking
15254         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
15255         Rectify pdbtrack so it follows transitions from one remote source
15256         file to the next.
15258 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
15260         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting.
15262 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
15264         Adapt vc-src to the old-new vc-checkin API
15265         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
15266         additional optional parameter.
15268 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
15270         Add overflow module to CSS property list
15271         * lisp/textmodes/css-mode.el (css-property-ids): Add properties
15272         from CSS Overflow Module Level 3.
15274 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
15276         Fix documentation of "C-u C-x v v"
15277         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
15278         documentation of "C-u C-x v v" match what the code does.
15280         Resurrect the ability to specify a revision in vc-next-action
15281         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
15282         * lisp/vc/vc-dav.el (vc-dav-checkin):
15283         * lisp/vc/vc-git.el (vc-git-checkin):
15284         * lisp/vc/vc-hg.el (vc-hg-checkin):
15285         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
15286         an additional optional argument, the revision to checkin.
15287         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
15288         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
15289         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
15290         a revision to checkin.
15291         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
15292         revision when checking in files.
15293         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
15294         for the details.
15296 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
15298         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
15299         (verilog-decls-princ, verilog-modport-princ)
15300         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
15302 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
15304         Fix the routine for help on Calc's prefixes
15305         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
15306         (calc-do-prefix-help): Use `read-char' to determine the next Calc
15307         command.
15309 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
15311         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove.
15312         (font-lock-fontify-block): Don't let-bind it.
15313         (font-lock-compile-keywords): Don't use it.
15314         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
15315         start one slot earlier, instead.
15316         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
15317         Don't declare.
15318         (syntax-ppss): Don't use it either.
15319         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
15320         from docstring.
15321         * doc/emacs/display.texi (Font Lock): Don't mention
15322         font-lock-beginning-of-syntax-function.
15323         * doc/lispref/modes.texi (Font Lock Basics): Update description of
15324         font-lock-defaults.
15325         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
15326         * lisp/loadhist.el (unload-feature-special-hooks):
15327         Remove font-lock-beginning-of-syntax-function.
15328         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
15329         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
15330         font-lock-beginning-of-syntax-function.
15332 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
15334         Backslash cleanup in Elisp source files
15335         This patch should not change behavior.  It typically omits backslashes
15336         where they are redundant (e.g., in the string literal "^\$").
15337         In a few places, insert backslashes where they make regular
15338         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
15339         "^\\*", which has the same effect as a regular expression.
15340         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
15341         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
15342         RCS IDs, as that makes it clearer that the backslash is intended.
15344         Some more minor backslash fixes
15345         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
15346         * test/automated/info-xref.el (info-xref-test-write-file):
15347         Double backslashes in strings.
15349         Fix several backslash typos in Elisp strings
15350         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
15351         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
15352         (todo-reset-done-string, todo-reset-comment-string)
15353         (todo-reset-highlight-item):
15354         * lisp/erc/erc-networks.el (erc-networks-alist):
15355         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
15356         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
15357         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
15358         (nntp-telnet-shell-prompt):
15359         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
15360         * lisp/image-dired.el (image-dired-rotate-original):
15361         (image-dired-get-exif-file-name):
15362         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
15363         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
15364         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
15365         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
15366         * lisp/net/shr-color.el (shr-color->hexadecimal):
15367         * lisp/org/org-bibtex.el (org-bibtex-fields):
15368         * lisp/org/org-docview.el (org-docview-export):
15369         * lisp/org/org-entities.el (org-entities):
15370         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
15371         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
15372         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
15373         (ebnf-style-database):
15374         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
15375         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
15376         * lisp/progmodes/sql.el (sql-product-alist):
15377         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
15378         (verilog-error-font-lock-keywords)
15379         (verilog-assignment-operator-re):
15380         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
15381         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
15382         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
15383         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
15384         For example, to get the regular expression ‘\.’ use the string
15385         literal "\\.", not "\." (which is equivalent to ".").
15386         * lisp/emulation/viper-util.el (viper-glob-unix-files):
15387         Remove stray ‘\j’ from string.
15388         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
15389         (nntp-telnet-shell-prompt):
15390         Treat > like $ when matching a shell prompt.
15391         * lisp/progmodes/make-mode.el (makefile-browse):
15392         Properly quote a diagnostic.
15394         Fix minor quoting problems in diagnostics
15395         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
15396         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
15397         Follow text-quoting-style in diagnostic, and quote a file name.
15399 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
15401         * doc/lispref/frames.texi (Cursor Parameters):
15402         Document 'x-stretch-cursor'.
15404 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
15406         Omit unnecessary \ before paren in C docstrings
15407         Although \( is needed in docstrings in Elisp code, it is not needed in
15408         docstrings in C code, since C function definitiions do not start with
15409         a parenthesis.  The backslashes made the docstrings a bit harder to
15410         read and to format in columns.  Also, some C docstrings had ( in
15411         column 1 and this did not appear to be causing any problems.  So,
15412         simplify C docstrings by replacing \( with ( and \) with ).
15414         A few more minor quoting fixes in a script and a text file
15416         Minor quoting fixes in scripts and doc
15417         Prefer straight quotes in random script files, as they are not
15418         converted.  Prefer grave quotes in a couple of places in the manual
15419         that were missed earlier, as these quotes are converted.
15421         Minor backslash fixes in manuals and scripts
15422         * Makefile.in (install-arch-indep):
15423         * admin/charsets/compact.awk:
15424         * admin/charsets/gb180302.awk (gb_to_index):
15425         * admin/charsets/gb180304.awk (gb_to_index):
15426         Avoid undefined behavior in Awk regular expression backslashes.
15427         * doc/misc/efaq.texi (Matching parentheses):
15428         Omit unnecessary backslashes.
15429         * doc/misc/gnus-faq.texi (FAQ 5-8):
15430         Avoid undefined behavior in suggested sed backslash usage.
15432         Add -Wswitch to --enable-gcc-warnings
15433         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
15434         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
15435         * lib-src/etags.c (main, consider_token, C_entries):
15436         * src/coding.c (encode_invocation_designation):
15437         * src/data.c (Ftype_of):
15438         * src/eval.c (Fdefvaralias, default_toplevel_binding)
15439         (Fbacktrace__locals, mark_specpdl):
15440         * src/lisp.h (record_xmalloc):
15441         * src/syntax.c (scan_lists, scan_sexps_forward):
15442         * src/window.c (window_relative_x_coord):
15443         * src/xdisp.c (push_it, pop_it):
15444         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
15445         Error out or do nothing (as appropriate) if a switch statement
15446         with an enum value does not cover all of the enum.
15447         * src/dispextern.h (struct iterator_stack_entry.u.comp):
15448         Remove unused member discovered by using -Wswitch.
15449         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
15450         * src/vm-limit.c (check_memory_limits):
15451         Simplify warning-diagnostic computation by using a table.
15453         etags ‘fatal’ function is now printf-like
15454         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
15455         Also, now static; not clear why it needed to be extern.
15456         (verror): New function, with most of the old contents of ‘error’.
15457         (fatal, error): Use it.
15459 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
15461         More adaptations in file-notify-tests.el
15462         * test/automated/file-notify-tests.el
15463         (file-notify-test05-dir-validity): Skip for w32notify in
15464         batch-mode.  (Bug#21432)
15466 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
15468         Adapt test in file-notify-tests.el
15469         * test/automated/file-notify-tests.el
15470         (file-notify-test04-file-validity): Skip for w32notify in
15471         batch-mode.  Add test lost last commit.
15473 2015-09-16  Dima Kogan  <dima@secretsauce.net>
15475         winner no longer holds on to dead frames
15476         * lisp/winner.el (winner-change-fun): Cull dead frames.
15477         This prevents a potentially massive memory leak.  See:
15478         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
15480 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
15482         Use common report_file_notify_error function
15483         * src/fileio.c (report_file_notify_error): New function.
15484         * src/inotify.c (report_inotify_error): Remove function.
15485         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
15486         (Finotify_rm_watch): Use report_file_notify_error.
15487         * src/lisp.h (report_file_notify_error): Declare external function.
15488         * src/w32notify.c (report_w32notify_error): Remove function.
15489         (Fw32notify_add_watch, Fw32notify_rm_watch):
15490         Use report_file_notify_error.
15492 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
15494         Fix documentation.
15495         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
15496         the documentation of the root mean square.
15498 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
15500         Remove tool_bar_redisplayed_once and associated code.
15501         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
15502         * src/frame.c (make_frame, x_set_font): Remove initialization of
15503         f->tool_bar_redisplayed_once.
15504         * src/w32fns.c (x_change_tool_bar_height):
15505         * src/xfns.c (x_change_tool_bar_height): Don't check for
15506         f->tool_bar_redisplayed_once.
15507         * src/xdisp.c (redisplay_internal): Remove handling of
15508         f->tool_bar_redisplayed_once.
15510 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
15512         Restore some of the quoting in the manuals
15513         * doc/lispref/windows.texi (Coordinates and Windows)
15514         (Coordinates and Windows):
15515         * doc/lispref/variables.texi (Lexical Binding)
15516         (File Local Variables):
15517         * doc/lispref/text.texi (Format Properties):
15518         * doc/lispref/symbols.texi (Symbol Components):
15519         * doc/lispref/strings.texi (Creating Strings):
15520         * doc/lispref/sequences.texi (Sequence Functions):
15521         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
15522         (Search and Replace):
15523         * doc/lispref/processes.texi (Bindat Spec):
15524         * doc/lispref/os.texi (Idle Timers):
15525         * doc/lispref/objects.texi (Basic Char Syntax):
15526         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
15527         * doc/lispref/nonascii.texi (Character Properties):
15528         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
15529         (Mode Line Variables):
15530         * doc/lispref/minibuf.texi (Text from Minibuffer):
15531         * doc/lispref/loading.texi (Autoload):
15532         * doc/lispref/keymaps.texi (Controlling Active Maps):
15533         * doc/lispref/frames.texi (Frame Layout, Size and Position)
15534         (Size Parameters, Implied Frame Resizing):
15535         * doc/lispref/files.texi (Changing Files, Magic File Names):
15536         * doc/lispref/eval.texi (Self-Evaluating Forms):
15537         * doc/lispref/display.texi (Progress, Abstract Display)
15538         (Abstract Display Example, Bidirectional Display):
15539         * doc/lispref/commands.texi (Event Mod):
15540         * doc/emacs/windows.texi (Displaying Buffers):
15541         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
15542         * doc/emacs/text.texi (Enriched Text):
15543         * doc/emacs/programs.texi (MixedCase Words):
15544         * doc/emacs/picture-xtra.texi (Insert in Picture)
15545         (Tabs in Picture):
15546         * doc/emacs/misc.texi (Emacs Server, Printing):
15547         * doc/emacs/mini.texi (Minibuffer History):
15548         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
15549         (Pulling / Pushing):
15550         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
15551         * doc/emacs/help.texi (Help, Help Echo):
15552         * doc/emacs/glossary.texi (Glossary):
15553         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
15554         (Frame Commands):
15555         * doc/emacs/files.texi (Reverting, Saving, Directories):
15556         * doc/emacs/entering.texi (Exiting):
15557         * doc/emacs/emacs.texi (Top):
15558         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
15559         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
15560         appropriate or replace quoting with @dfn.
15561         * doc/misc/ediff.texi (Window and Frame Configuration):
15562         * doc/lispref/processes.texi (Network Feature Testing):
15563         * doc/lispref/display.texi (Display Margins): Quote the phrase
15564         after "a.k.a." where appropriate.
15566 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
15568         Clarify reftex-extra-bindings docs
15569         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
15570         * doc/misc/reftex.texi (Key Bindings): Document that the variable
15571         only has an effect at load-time.
15573 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
15575         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
15576         search argument.  (Bug#21492) (Bug#21493)
15578 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
15580         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
15581         Add pretty symbols for \qquad and \varrho.
15583 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
15585         Add new functions for the root mean square of a (Calc) vector
15586         * lisp/calc/calc-stat.el (calcFunc-rms, calc-vector-rms):
15587         New functions.
15588         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
15589         `calc-vector-rms', add autoloads for `calc-vector-rms' and
15590         `calcFunc-rms'.
15591         * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for
15592         `calcFunc-rms'.
15593         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
15594         `calc-vector-rms'.
15595         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
15596         command.
15598 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
15600         Add monotone EDE generic project
15601         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
15602         Add monotone generic project.
15604         Revert premature commit
15605         * doc/lispref/files.texi: Revert premature commit of change to
15606         file-name-all-completions.
15608         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
15609         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
15610         with cl-generic defaults.
15611         (elisp--xref-find-references): Add doc string.
15612         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
15613         tests to find bug.
15615         Fix bugs in eieio-oref-default related to class symbols
15616         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
15617         (eieio-oref-default): Handle class properly.
15619 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15621         Quote “fullboth” when defining it
15622         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
15623         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
15625 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
15627         Minor doc fix in emacs/ack.texi
15628         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
15629         first argument.
15631 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
15633         Adapt tests in auto-revert-tests.el
15634         * test/automated/auto-revert-tests.el (auto-revert--timeout):
15635         Make it a defconst.
15636         (auto-revert--wait-for-revert): New defun.
15637         (auto-revert-test00-auto-revert-mode)
15638         (auto-revert-test01-auto-revert-tail-mode)
15639         (auto-revert-test02-auto-revert-mode-dired): Use it.
15641 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
15643         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const.
15644         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
15645         (cl-lib-fdefs): Add defgeneric.
15646         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
15647         (eieio-kw, cl-lib-kw, el-kw): Remove.
15649 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15651         Quote less in manuals
15652         The manuals often used quotes ``...'' when it is better to use @dfn or
15653         @code or capitalized words or no quoting at all.  For example, there is
15654         no need for the `` and '' in “if a variable has one effect for
15655         @code{nil} values and another effect for ``non-@code{nil}'' values”.
15656         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
15657         unnecessary quoting like this, and to use @dfn etc. instead when called
15658         for (Bug#21472).
15660 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
15662         * lisp/custom.el (load-theme): Only compute hash when needed.
15664 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15666         Pacify --enable-gcc-warnings
15667         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
15669 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
15671         Improve error reports in inotify.c
15672         * src/inotify.c (report_inotify_error): New function.  Clone of
15673         report_w32notify_error.
15674         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
15675         (Finotify_rm_watch): Use it.
15677 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
15679         Fix the file-notify tests for watch validation on w32
15680         * test/automated/file-notify-tests.el
15681         (file-notify-test04-file-validity): Move the directory deletion
15682         out of the file-notify--test-with-events macro.
15683         (file-notify-test04-file-validity)
15684         (file-notify-test05-dir-validity): Enlarge the timeout of
15685         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
15687 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
15689         Use OPEN BOX instead of space for \quad.
15690         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
15691         character for \quad instead of a space.
15693 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
15695         Add missing *.pbm images
15696         * etc/images/connect.pbm: New file.
15697         * etc/images/custom/down-pushed.pbm: New file.
15698         * etc/images/custom/down.pbm: New file.
15699         * etc/images/custom/right-pushed.pbm: New file.
15700         * etc/images/custom/right.pbm: New file.
15701         * etc/images/describe.pbm: New file.
15702         * etc/images/disconnect.pbm: New file.
15703         * etc/images/ezimage/bits.pbm: New file.
15704         * etc/images/ezimage/bitsbang.pbm: New file.
15705         * etc/images/ezimage/box-minus.pbm: New file.
15706         * etc/images/ezimage/box-plus.pbm: New file.
15707         * etc/images/ezimage/box.pbm: New file.
15708         * etc/images/ezimage/checkmark.pbm: New file.
15709         * etc/images/ezimage/dir-minus.pbm: New file.
15710         * etc/images/ezimage/dir-plus.pbm: New file.
15711         * etc/images/ezimage/dir.pbm: New file.
15712         * etc/images/ezimage/doc-minus.pbm: New file.
15713         * etc/images/ezimage/doc-plus.pbm: New file.
15714         * etc/images/ezimage/doc.pbm: New file.
15715         * etc/images/ezimage/info.pbm: New file.
15716         * etc/images/ezimage/key.pbm: New file.
15717         * etc/images/ezimage/label.pbm: New file.
15718         * etc/images/ezimage/lock.pbm: New file.
15719         * etc/images/ezimage/mail.pbm: New file.
15720         * etc/images/ezimage/page-minus.pbm: New file.
15721         * etc/images/ezimage/page-plus.pbm: New file.
15722         * etc/images/ezimage/page.pbm: New file.
15723         * etc/images/ezimage/tag-gt.pbm: New file.
15724         * etc/images/ezimage/tag-minus.pbm: New file.
15725         * etc/images/ezimage/tag-plus.pbm: New file.
15726         * etc/images/ezimage/tag-type.pbm: New file.
15727         * etc/images/ezimage/tag-v.pbm: New file.
15728         * etc/images/ezimage/tag.pbm: New file.
15729         * etc/images/ezimage/unlock.pbm: New file.
15730         * etc/images/gnus/important.pbm: New file.
15731         * etc/images/gnus/mail-send.pbm: New file.
15732         * etc/images/gnus/receipt.pbm: New file.
15733         * etc/images/gnus/toggle-subscription.pbm: New file.
15734         * etc/images/gnus/unimportant.pbm: New file.
15735         * etc/images/gud/all.pbm: New file.
15736         * etc/images/gud/rcont.pbm: New file.
15737         * etc/images/gud/recstart.pbm: New file.
15738         * etc/images/gud/recstop.pbm: New file.
15739         * etc/images/gud/rfinish.pbm: New file.
15740         * etc/images/gud/rnext.pbm: New file.
15741         * etc/images/gud/rnexti.pbm: New file.
15742         * etc/images/gud/rstep.pbm: New file.
15743         * etc/images/gud/rstepi.pbm: New file.
15744         * etc/images/gud/thread.pbm: New file.
15745         * etc/images/lock-broken.pbm: New file.
15746         * etc/images/lock-ok.pbm: New file.
15747         * etc/images/lock.pbm: New file.
15748         * etc/images/mail/copy.pbm: New file.
15749         * etc/images/mail/forward.pbm: New file.
15750         * etc/images/mail/not-spam.pbm: New file.
15751         * etc/images/mail/outbox.pbm: New file.
15752         * etc/images/mail/preview.pbm: New file.
15753         * etc/images/mail/save-draft.pbm: New file.
15754         * etc/images/mh-logo.pbm: New file.
15755         * etc/images/mpc/add.pbm: New file.
15756         * etc/images/mpc/ffwd.pbm: New file.
15757         * etc/images/mpc/next.pbm: New file.
15758         * etc/images/mpc/pause.pbm: New file.
15759         * etc/images/mpc/play.pbm: New file.
15760         * etc/images/mpc/prev.pbm: New file.
15761         * etc/images/mpc/rewind.pbm: New file.
15762         * etc/images/mpc/stop.pbm: New file.
15763         * etc/images/redo.pbm: New file.
15764         * etc/images/smilies/braindamaged.pbm: New file.
15765         * etc/images/smilies/cry.pbm: New file.
15766         * etc/images/smilies/dead.pbm: New file.
15767         * etc/images/smilies/evil.pbm: New file.
15768         * etc/images/smilies/forced.pbm: New file.
15769         * etc/images/smilies/grin.pbm: New file.
15770         * etc/images/smilies/indifferent.pbm: New file.
15771         * etc/images/sort-ascending.pbm: New file.
15772         * etc/images/sort-column-ascending.pbm: New file.
15773         * etc/images/sort-criteria.pbm: New file.
15774         * etc/images/sort-descending.pbm: New file.
15775         * etc/images/sort-row-ascending.pbm: New file.
15776         * etc/images/unchecked.pbm: New file.
15777         * etc/images/zoom-in.pbm: New file.
15778         * etc/images/README: Update instructions for PBM files.
15780         Add separator.pbm tool-bar image
15781         * etc/images/separator.pbm: New file.  Having it avoids the side
15782         effect of changing the tool-bar height when the default font's size
15783         changes and XPM image support is not available, due to the SPC
15784         characters that are left in the Lisp string used to display the tool
15785         bar, because there are no images to display instead of those SPC
15786         characters.
15788         Make show-paren-match face visible on mono-color displays
15789         * lisp/faces.el (show-paren-match): Use the underline face for
15790         mono-color displays.  (Bug#21481)
15792 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
15794         Don’t double-encode non-ASCII mail clipboard
15795         * lisp/mail/mailclient.el (mailclient-send-it):
15796         Also fix the case when mailclient-place-body-on-clipboard-flag
15797         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
15799 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
15801         Adapt file-notify-tests.el test cases
15802         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
15803         * src/inotify.c (Finotify_valid_p): Adapt docstring.
15804         * test/automated/file-notify-tests.el
15805         (file-notify-test03-autorevert)
15806         (file-notify-test04-file-validity)
15807         (file-notify-test04-file-validity-remote)
15808         (file-notify-test05-dir-validity)
15809         (file-notify-test05-dir-validity-remote): Adapt docstring.
15810         (file-notify-test04-file-validity): Let events arrive before
15811         calling final `file-notify-valid-p'.  Do not ignore errors.
15812         (file-notify-test05-dir-validity): Do not manipulate
15813         `temporary-file-directory', it isn't necessary.  Let events arrive
15814         before calling final `file-notify-valid-p'.  Do not ignore errors.
15816 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
15818         Don’t double-encode non-ASCII for mail client
15819         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
15820         Use RFC 6068’s list of unreserved characters.
15821         (mailclient-send-it): When encoding the body as a URL,
15822         first decode it as per Content-Type: and Content-Transfer-Encoding:,
15823         as URLs must use percent-encoded UTF-8 (Bug#21471).
15824         * doc/misc/url.texi (mailto): Update RFC number.
15826 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
15828         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
15830 2015-09-14  Alan Mackenzie  <acm@muc.de>
15832         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs
15833         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
15834         `cadr/car'.
15836 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
15838         Clarify documentation of char-table extra slots
15839         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
15840         slot numbers are zero-based.  (Bug#21467)
15842 2015-09-14  Alan Mackenzie  <acm@muc.de>
15844         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
15845         Fixes bug#21449.
15846         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
15847         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
15848         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
15849         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
15850         Insert "\\|\\\\." into regexps which match symbols.
15852 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
15854         Improve the doc string of w32notify-valid-p
15855         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
15856         that removing a watch makes its object invalid.
15858 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
15860         Fix tests for file-notify-valid-p
15861         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
15862         Use delete-directory to delete file-notify--test-tmpfile if it is
15863         a directory.  Likewise for file-notify--test-tmpfile1.
15864         (file-notify-test04-file-validity)
15865         (file-notify-test05-dir-validity): Delete the parent directory of
15866         the test.  Ignore errors when cleaning up after the test.
15868 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
15870         Report file-notify-error in w32notify.c
15871         * src/w32notify.c (report_w32notify_error): New function.
15872         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
15873         errors, instead of calling report_file_error.  (Bug#21432)
15875         Implement w32notify-valid-p
15876         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
15877         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
15878         'identity'.
15880 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
15882         Test file-notify-valid-p
15883         * test/automated/file-notify-tests.el
15884         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
15885         New tests.
15887 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
15889         Fix markup in ELisp manual
15890         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
15891         of the 'alpha' parameter value.  (Bug#21470)
15893 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
15895         Introduce `file-notify-valid-p'
15896         * lisp/filenotify.el (file-notify-valid-p): New defun.
15897         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
15898         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
15899         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
15900         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
15901         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
15902         <file-notify-valid-p>: Add handler.
15903         * lisp/net/tramp.el (tramp-file-name-for-operation):
15904         Add `file-notify-valid-p'.
15905         (tramp-handle-file-notify-valid-p): New defun.
15906         * src/inotify.c (Finotify_valid_p): New defun.
15907         (syms_of_inotify): Declare Sinotify_valid_p.
15909 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15911         Port Unicode char detection to FreeBSD+svgalib
15912         Problem reported by Ashish SHUKLA in:
15913         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
15914         * configure.ac: Check for struct unipair.unicode instead of for
15915         <linux/kd.h>, since that’s more specific to what the code
15916         actually needs.
15917         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
15919         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
15921 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
15923         Fix vertical cursor motion across overlay strings with newlines
15924         * src/indent.c (Fvertical_motion): Don't leave point in the middle
15925         of an overlay string with newlines, as that will position the
15926         cursor after the string at whatever column is there.  (Bug#21468)
15928 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
15930         Fix tests in file-notify-tests.el
15931         * test/automated/file-notify-tests.el: Remove Tramp declarations.
15932         (file-notify-test00-availability): Print remote command w/o Tramp
15933         internal functions.
15934         (file-notify-test02-events, file-notify-test02-events-remote):
15935         Adapt docstring.
15936         (file-notify-test03-autorevert): Use `format-message' when
15937         inspecting *Messages* buffer.
15939 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
15941         Bind inhibit-modification-hooks rather than a/b-c-f
15942         * lisp/wid-edit.el (widget-editable-list-insert-before)
15943         (widget-editable-list-delete-at):
15944         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
15945         (cperl-font-lock-unfontify-region-function):
15946         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
15947         * lisp/obsolete/longlines.el (longlines-mode):
15948         * lisp/obsolete/fast-lock.el (save-buffer-state):
15949         * lisp/mouse.el (mouse-save-then-kill-delete-region):
15950         * lisp/gnus/message.el (message-hide-headers):
15951         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
15952         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
15953         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
15954         than after/before-change-functions to nil.
15956 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
15958         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
15959         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
15960         the buffers, even if the forced redisplay is interrupted.
15962         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
15964         Merge syntax-propertize--done and parse-sexp-propertize-done
15965         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
15966         (syntax-propertize): Set syntax-propertize--done even if
15967         syntax-propertize-function is nil.  Avoid recursive invocations.
15968         (syntax-propertize-chunks): New var.
15969         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
15970         Simplify.
15971         (parse-sexp-propertize-function): Don't set any more.
15972         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
15973         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
15974         Call Qinternal__syntax_propertize instead of
15975         Vparse_sexp_propertize_function.  Truncate e_property if needed.
15976         (update_syntax_table_forward): Streamline.
15977         (syms_of_syntax): Define Qinternal__syntax_propertize.
15978         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
15980 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
15982         Prefer straight quoting in some text files
15983         Mostly this just changes ` to ' in static text.  Some exceptions:
15984         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
15985         typically does that now.
15986         * admin/quick-install-emacs (TRY, top level):
15987         Use straight quoting in diagnostics.
15988         * src/README: Fix working-directory confusion.
15990         * CONTRIBUTE: Move send-email here from git-workflow.
15992 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
15994         Improve file notifications in Tramp
15995         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
15996         Set proper events to watch for.
15997         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
15998         watched events.
16000 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
16002         Fix NS build with --enable-checking='glyphs'
16003         * src/nsfns.m (unwind_create_frame): Make the preprocessor
16004         conditionals for referencing 'dpyinfo' consistent throughout the
16005         function.  (Bug#21426)
16007 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
16009         Add seq-find
16010         This function is similar to `seq-some' but returns the found element.
16011         In the cases where nil can be the found element, a sentinel optional
16012         argument can be provided to avoid ambiguities.
16013         * lisp/emacs-lisp/seq.el (seq-find): New function.
16014         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
16015         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
16016         seq-find.
16018 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
16020         Document file-notify--test-with-events.
16021         * test/automated/file-notify-tests.el (file-notify--test-with-events):
16022         Add docstring.
16024 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
16026         Report used native library in file-notify-tests.el
16027         * test/automated/file-notify-tests.el
16028         (tramp-get-remote-gvfs-monitor-dir)
16029         (tramp-get-remote-inotifywait): Declare them.
16030         (file-notify-test00-availability): Print used native library.
16032 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
16034         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
16035         (mpc-file-local-copy): Check for absolute path.  Check more config
16036         locations.
16038 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
16040         Improve documentation of categories
16041         * doc/lispref/syntax.texi (Categories): Clarify the example of
16042         using define-category and modify-category-entry.  (Bug#21448)
16044 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16046         Revert some stray curved quotes I missed earlier
16047         Problem reported by David Kastrup in:
16048         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
16049         * lisp/international/mule-cmds.el (leim-list-header):
16050         Use format-message with an ASCII-only format.
16052         Prefer NUMBERP to spelling it out
16053         * src/editfns.c (styled_format):
16054         * src/frame.h (NUMVAL):
16055         * src/image.c (parse_image_spec):
16056         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
16057         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
16058         * src/process.c (Fsignal_process):
16059         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
16060         * src/xfaces.c (check_lface_attrs):
16061         * src/xselect.c (x_fill_property_data, x_send_client_event):
16062         Use NUMBERP rather than INTEGERP || FLOATP.
16064 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
16066         Improve file-notify-tests
16067         * test/automated/file-notify-tests.el: Use lexical-binding.
16068         (file-notify--test-cleanup): New function.
16069         (file-notify-test00-availability, file-notify-test01-add-watch)
16070         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
16071         (file-notify--test-with-events): New macro.
16072         (file-notify-test02-events): Use it.
16074 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16076         Add patch-sending instructions to git-workflow
16077         From a suggestion by Mitchel Humpherys in:
16078         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
16079         * admin/notes/git-workflow (Sending patches): New section.
16081         Port to GIFLIB 5.0.6 and later
16082         Problem reported by Mitchel Humpherys in:
16083         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
16084         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
16085         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
16086         (gif_load) [HAVE_GIF]: Use it.
16088 2015-09-10  Glenn Morris  <rgm@gnu.org>
16090         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
16092 2015-09-09  Glenn Morris  <rgm@gnu.org>
16094         * test/automated/file-notify-tests.el (file-notify-test02-events):
16095         Fix recent change.
16097 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
16099         Refix movemail GCC pacification
16100         Problem reported by Ken Brown in:
16101         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
16102         * lib-src/movemail.c (main): Fix previous change.
16104 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
16106         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
16107         Mark unused vars with underscore.
16109         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
16110         (parse_sexp_propertize): ...from here.
16112         * lisp/filenotify.el: Use lexical-binding
16113         (file-notify-add-watch): Avoid add-to-list.
16115 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
16117         Start checking event types in file-notify tests
16118         * test/automated/file-notify-tests.el (file-notify--test-events):
16119         New variable.
16120         (file-notify--test-event-handler): Append received event to
16121         file-notify--test-events for later analysis.
16122         (file-notify-test02-events): Assert that the expected notifications have
16123         arrived in the expected order.
16125 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
16127         Merge from gnulib and texinfo
16128         This incorporates:
16129         2015-08-03 Improve port of stdalign to C++11
16130         * lib/stdalign.in.h: Copy from gnulib.
16131         * doc/misc/texinfo.tex: Copy from texinfo.
16133 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
16135         Make syntax.c call syntax-propertize on demand
16136         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
16137         (parse-sexp-propertize-function): Use it.
16138         (syntax-propertize): Disable parse-sexp-propertize-function.
16139         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
16140         New functions.
16141         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
16142         `parse-sexp-propertize-function'.
16143         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
16144         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
16145         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
16146         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
16147         Don't assume `point' is set.
16149 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
16151         Fix indentation of an @example in ELisp manual
16152         * doc/lispref/syntax.texi (Categories): Untabify the example.
16153         (Bug#21448)
16155 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
16157         Define internal-char-font even if --without-x
16158         The function is used now even in non-graphical environments.
16159         Problem reported by Glenn Morris in:
16160         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
16161         * src/font.c (Finternal_char_font): Move here ...
16162         * src/fontset.c (Finternal_char_font): ... from here.
16164 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
16166         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers):
16167         Remove warning.
16169 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
16171         Fix display of complex local data types in GDB-MI
16172         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
16173         variable has no value, display "<complex data type>" as a
16174         placeholder, instead of a confusing "nil".  (Bug#21438)
16176 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
16178         Remove redundant redefinition of seq-drop-while from seq.el
16179         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
16181 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
16183         * lisp/emacs-lisp/package.el (package--ensure-init-file):
16184         More robust check for `package-initialize' calls in init file.
16185         This function accepts an optional argument, but calls passing
16186         an argument would not have been detected.
16188 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
16190         Port movemail to RHEL 6 with --enable-gcc-warnings
16191         * lib-src/movemail.c (main): Declare local only if needed.
16193         Port recent Linux console changes to RHEL 6
16194         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
16196         Improvements for curved quotes on Linux consule
16197         This should help Emacs work better out-of-the-box on Linux consoles,
16198         which have only limited support for displaying Unicode characters.
16199         Also, undo the recent change that caused text-quoting-style to
16200         affect quote display on terminals, so that the two features are
16201         independent.  See Alan Mackenzie in:
16202         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
16203         Finally, add a style parameter to startup--setup-quote-display,
16204         so that this function can also be invoked after startup, with
16205         different styles depending on user preference at the time.
16206         * configure.ac: Check for linux/kd.h header.
16207         * doc/emacs/display.texi (Text Display): Document quote display.
16208         * doc/lispref/display.texi (Active Display Table):
16209         * etc/NEWS:
16210         * lisp/startup.el (startup--setup-quote-display, command-line):
16211         text-quoting-style no longer affects quote display.
16212         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
16213         * lisp/international/mule-util.el (char-displayable-p):
16214         * lisp/startup.el (startup--setup-quote-display):
16215         On a text terminal supporting glyph codes, use the reported
16216         glyph codes instead of the terminal coding system, as this
16217         is more accurate on the Linux console.
16218         * lisp/startup.el (startup--setup-quote-display):
16219         New optional arg STYLE.
16220         * src/fontset.c (Finternal_char_font):
16221         Report glyph codes for a text terminal, if they are available.
16222         Currently this is supported only for the Linux console.
16223         * src/termhooks.h (struct terminal): New member glyph-code-table.
16224         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
16225         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
16226         (terminal_glyph_code): New function.
16228 2015-09-08  Juri Linkov  <juri@linkov.net>
16230         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
16231         underline.  (Bug#21433)
16233 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
16235         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
16237 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
16239         Fix double-reporting of rename events with inotify
16240         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
16241         of rename events with inotify (bug#21435).
16243 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
16245         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
16246         (tetris-mode-map): Use it.
16248 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
16250         Remove a few simple cases of global redisplay
16251         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
16252         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
16253         rather than returning a "resized_p" boolean.
16254         (redisplay_internal): Adjust call accordingly.
16255         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
16256         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
16257         tracking of this undesirable situation.
16259         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
16260         * src/process.c (status_notify): Only set the update_mode_line on the
16261         relevant buffers rather than setting it globally.
16263 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
16265         * lisp/electric.el (electric-quote-post-self-insert-function):
16266         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
16267         (electric-quote-mode): Activate everywhere in message-mode.
16269 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
16271         Go back to grave quoting in source-code docstrings etc.
16272         This reverts almost all my recent changes to use curved quotes
16273         in docstrings and/or strings used for error diagnostics.
16274         There are a few exceptions, e.g., Bahá’í proper names.
16275         * admin/unidata/unidata-gen.el (unidata-gen-table):
16276         * lisp/abbrev.el (expand-region-abbrevs):
16277         * lisp/align.el (align-region):
16278         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
16279         (outlineify-sticky):
16280         * lisp/apropos.el (apropos-library):
16281         * lisp/bookmark.el (bookmark-default-annotation-text):
16282         * lisp/button.el (button-category-symbol, button-put)
16283         (make-text-button):
16284         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
16285         * lisp/calc/calc-embed.el (calc-do-embedded):
16286         * lisp/calc/calc-ext.el (calc-user-function-list):
16287         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
16288         * lisp/calc/calc-help.el (calc-describe-key)
16289         (calc-describe-thing, calc-full-help):
16290         * lisp/calc/calc-lang.el (calc-c-language)
16291         (math-parse-fortran-vector-end, math-parse-tex-sum)
16292         (math-parse-eqn-matrix, math-parse-eqn-prime)
16293         (calc-yacas-language, calc-maxima-language, calc-giac-language)
16294         (math-read-giac-subscr, math-read-math-subscr)
16295         (math-read-big-rec, math-read-big-balance):
16296         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
16297         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
16298         (calc-auto-recompute):
16299         * lisp/calc/calc-prog.el (calc-fix-token-name)
16300         (calc-read-parse-table-part, calc-user-define-invocation)
16301         (math-do-arg-check):
16302         * lisp/calc/calc-store.el (calc-edit-variable):
16303         * lisp/calc/calc-units.el (math-build-units-table-buffer):
16304         * lisp/calc/calc-vec.el (math-read-brackets):
16305         * lisp/calc/calc-yank.el (calc-edit-mode):
16306         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
16307         * lisp/calendar/appt.el (appt-display-message):
16308         * lisp/calendar/diary-lib.el (diary-check-diary-file)
16309         (diary-mail-entries, diary-from-outlook):
16310         * lisp/calendar/icalendar.el (icalendar-export-region)
16311         (icalendar--convert-float-to-ical)
16312         (icalendar--convert-date-to-ical)
16313         (icalendar--convert-ical-to-diary)
16314         (icalendar--convert-recurring-to-diary)
16315         (icalendar--add-diary-entry):
16316         * lisp/calendar/time-date.el (format-seconds):
16317         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
16318         (timeclock-make-hours-explicit, timeclock-log-data):
16319         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
16320         (todo-item-mark, todo-check-format)
16321         (todo-insert-item--next-param, todo-edit-item--next-key)
16322         (todo-mode):
16323         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
16324         * lisp/cedet/mode-local.el (describe-mode-local-overload)
16325         (mode-local-print-binding, mode-local-describe-bindings-2):
16326         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
16327         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
16328         * lisp/cus-start.el (standard):
16329         * lisp/cus-theme.el (describe-theme-1):
16330         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
16331         (custom--sort-vars-1, load-theme):
16332         * lisp/descr-text.el (describe-text-properties-1, describe-char):
16333         * lisp/dired-x.el (dired-do-run-mail):
16334         * lisp/dired.el (dired-log):
16335         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
16336         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
16337         (ad-disable-advice, ad-remove-advice, ad-set-argument)
16338         (ad-set-arguments, ad--defalias-fset, ad-activate)
16339         (ad-deactivate):
16340         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
16341         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
16342         (byte-optimize-while, byte-optimize-apply):
16343         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
16344         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
16345         (byte-compile-log-file, byte-compile-format-warn)
16346         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
16347         (byte-compile-cl-warn)
16348         (byte-compile-warn-about-unresolved-functions)
16349         (byte-compile-file, byte-compile--declare-var)
16350         (byte-compile-file-form-defmumble, byte-compile-form)
16351         (byte-compile-normal-call, byte-compile-check-variable)
16352         (byte-compile-variable-ref, byte-compile-variable-set)
16353         (byte-compile-subr-wrong-args, byte-compile-setq-default)
16354         (byte-compile-negation-optimizer)
16355         (byte-compile-condition-case--old)
16356         (byte-compile-condition-case--new, byte-compile-save-excursion)
16357         (byte-compile-defvar, byte-compile-autoload)
16358         (byte-compile-lambda-form)
16359         (byte-compile-make-variable-buffer-local, display-call-tree)
16360         (batch-byte-compile):
16361         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
16362         * lisp/emacs-lisp/chart.el (chart-space-usage):
16363         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
16364         (check-declare-warn, check-declare-file)
16365         (check-declare-directory):
16366         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
16367         (checkdoc-message-text-engine):
16368         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
16369         (cl--describe-class):
16370         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
16371         (cl--generic-describe, cl-generic-generalizers):
16372         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
16373         (cl-symbol-macrolet):
16374         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
16375         * lisp/emacs-lisp/copyright.el (copyright)
16376         (copyright-update-directory):
16377         * lisp/emacs-lisp/edebug.el (edebug-read-list):
16378         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
16379         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
16380         (eieio-oref):
16381         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
16382         * lisp/emacs-lisp/eieio-speedbar.el:
16383         (eieio-speedbar-child-make-tag-lines)
16384         (eieio-speedbar-child-description):
16385         * lisp/emacs-lisp/eieio.el (defclass, change-class):
16386         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
16387         (elint-init-form, elint-check-defalias-form)
16388         (elint-check-let-form):
16389         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
16390         (ert-results-pop-to-backtrace-for-test-at-point)
16391         (ert-results-pop-to-messages-for-test-at-point)
16392         (ert-results-pop-to-should-forms-for-test-at-point)
16393         (ert-describe-test):
16394         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
16395         (find-function-library):
16396         * lisp/emacs-lisp/generator.el (iter-yield):
16397         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
16398         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
16399         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
16400         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
16401         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
16402         (advice--make, define-advice):
16403         * lisp/emacs-lisp/package-x.el (package-upload-file):
16404         * lisp/emacs-lisp/package.el (package-version-join)
16405         (package-disabled-p, package-activate-1, package-activate)
16406         (package--download-one-archive)
16407         (package--download-and-read-archives)
16408         (package-compute-transaction, package-install-from-archive)
16409         (package-install, package-install-selected-packages)
16410         (package-delete, package-autoremove, describe-package-1)
16411         (package-install-button-action, package-delete-button-action)
16412         (package-menu-hide-package, package-menu--list-to-prompt)
16413         (package-menu--perform-transaction)
16414         (package-menu--find-and-notify-upgrades):
16415         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
16416         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
16417         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
16418         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
16419         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
16420         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
16421         (rx-form):
16422         * lisp/emacs-lisp/smie.el (smie-config-save):
16423         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
16424         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
16425         * lisp/emacs-lisp/testcover.el (testcover-1value):
16426         * lisp/emacs-lisp/timer.el (timer-event-handler):
16427         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
16428         (viper-toggle-search-style, viper-kill-buffer)
16429         (viper-brac-function):
16430         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
16431         * lisp/env.el (setenv):
16432         * lisp/erc/erc-button.el (erc-nick-popup):
16433         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
16434         * lisp/eshell/em-dirs.el (eshell/cd):
16435         * lisp/eshell/em-glob.el (eshell-glob-regexp)
16436         (eshell-glob-entries):
16437         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
16438         * lisp/eshell/esh-opt.el (eshell-show-usage):
16439         * lisp/facemenu.el (facemenu-add-new-face)
16440         (facemenu-add-new-color):
16441         * lisp/faces.el (read-face-name, read-face-font, describe-face)
16442         (x-resolve-font-name):
16443         * lisp/files-x.el (modify-file-local-variable):
16444         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
16445         (set-auto-mode, hack-one-local-variable--obsolete)
16446         (dir-locals-set-directory-class, write-file, basic-save-buffer)
16447         (delete-directory, copy-directory, recover-session)
16448         (recover-session-finish, insert-directory)
16449         (file-modes-char-to-who, file-modes-symbolic-to-number)
16450         (move-file-to-trash):
16451         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
16452         * lisp/find-cmd.el (find-generic, find-to-string):
16453         * lisp/finder.el (finder-commentary):
16454         * lisp/font-lock.el (font-lock-fontify-buffer):
16455         * lisp/format.el (format-write-file, format-find-file)
16456         (format-insert-file):
16457         * lisp/frame.el (get-device-terminal, select-frame-by-name):
16458         * lisp/fringe.el (fringe--check-style):
16459         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
16460         * lisp/help-fns.el (help-fns--key-bindings)
16461         (help-fns--compiler-macro, help-fns--parent-mode)
16462         (help-fns--obsolete, help-fns--interactive-only)
16463         (describe-function-1, describe-variable):
16464         * lisp/help.el (describe-mode)
16465         (describe-minor-mode-from-indicator):
16466         * lisp/image.el (image-type):
16467         * lisp/international/ccl.el (ccl-dump):
16468         * lisp/international/fontset.el (x-must-resolve-font-name):
16469         * lisp/international/mule-cmds.el (prefer-coding-system)
16470         (select-safe-coding-system-interactively)
16471         (select-safe-coding-system, activate-input-method)
16472         (toggle-input-method, describe-current-input-method)
16473         (describe-language-environment):
16474         * lisp/international/mule-conf.el (code-offset):
16475         * lisp/international/mule-diag.el (describe-character-set)
16476         (list-input-methods-1):
16477         * lisp/mail/feedmail.el (feedmail-run-the-queue):
16478         * lisp/mouse.el (minor-mode-menu-from-indicator):
16479         * lisp/mpc.el (mpc-playlist-rename):
16480         * lisp/msb.el (msb--choose-menu):
16481         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
16482         * lisp/net/imap.el (imap-interactive-login):
16483         * lisp/net/mairix.el (mairix-widget-create-query):
16484         * lisp/net/newst-backend.el (newsticker--sentinel-work):
16485         * lisp/net/newst-treeview.el (newsticker--treeview-load):
16486         * lisp/net/rlogin.el (rlogin):
16487         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
16488         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
16489         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
16490         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
16491         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
16492         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
16493         (org-babel-goto-named-result):
16494         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
16495         * lisp/org/ob-ref.el (org-babel-ref-resolve):
16496         * lisp/org/org-agenda.el (org-agenda-prepare):
16497         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
16498         (org-clock-resolve):
16499         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
16500         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
16501         * lisp/org/org-habit.el (org-habit-parse-todo):
16502         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
16503         (org-mouse-context-menu):
16504         * lisp/org/org-table.el (org-table-edit-formulas):
16505         * lisp/org/ox.el (org-export-async-start):
16506         * lisp/proced.el (proced-log):
16507         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
16508         (ada-check-matching-start, ada-goto-matching-start):
16509         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
16510         * lisp/progmodes/ada-xref.el (ada-find-executable):
16511         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
16512         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
16513         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
16514         (flymake-start-syntax-check-process):
16515         * lisp/progmodes/python.el (python-shell-get-process-or-error)
16516         (python-define-auxiliary-skeleton):
16517         * lisp/progmodes/sql.el (sql-comint):
16518         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
16519         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
16520         * lisp/recentf.el (recentf-open-files):
16521         * lisp/replace.el (query-replace-read-from)
16522         (occur-after-change-function, occur-1):
16523         * lisp/scroll-bar.el (scroll-bar-columns):
16524         * lisp/server.el (server-get-auth-key):
16525         * lisp/simple.el (execute-extended-command)
16526         (undo-outer-limit-truncate, list-processes--refresh)
16527         (compose-mail, set-variable, choose-completion-string)
16528         (define-alternatives):
16529         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
16530         (command-line-1):
16531         * lisp/subr.el (noreturn, define-error, add-to-list)
16532         (read-char-choice, version-to-list):
16533         * lisp/term/common-win.el (x-handle-xrm-switch)
16534         (x-handle-name-switch, x-handle-args):
16535         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
16536         * lisp/textmodes/reftex-ref.el (reftex-label):
16537         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
16538         * lisp/textmodes/two-column.el (2C-split):
16539         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
16540         (tutorial--find-changed-keys):
16541         * lisp/type-break.el (type-break-noninteractive-query):
16542         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
16543         (wdired-do-perm-changes):
16544         * lisp/whitespace.el (whitespace-report-region):
16545         Prefer grave quoting in source-code strings used to generate help
16546         and diagnostics.
16547         * lisp/faces.el (face-documentation):
16548         No need to convert quotes, since the result is a docstring.
16549         * lisp/info.el (Info-virtual-index-find-node)
16550         (Info-virtual-index, info-apropos):
16551         Simplify by generating only curved quotes, since info files are
16552         typically that ways nowadays anyway.
16553         * lisp/international/mule-diag.el (list-input-methods):
16554         Don’t assume text quoting style is curved.
16555         * lisp/org/org-bibtex.el (org-bibtex-fields):
16556         Revert my recent changes, going back to the old quoting style.
16558 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
16560         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling.
16561         (package--autoloads-file-name)
16562         (package--activate-autoloads-and-load-path): New function.
16563         (package-activate-1): Delegate autoloading and load-path
16564         configuration to `package--activate-autoloads-and-load-path'.
16565         (package--compile): Before compilation, call
16566         `package--activate-autoloads-and-load-path' instead of
16567         `package-activate-1'.
16569 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
16571         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
16573 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
16575         Fix deletion of symlinks to directories on MS-Windows
16576         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
16577         symlink to a directory, try again with 'rmdir'.
16578         (is_symlink): If the argument is a symlink to a directory, set a
16579         bit in the return value to indicate that fact.
16581 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
16583         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
16584         When `package-initialize' is called as part of loading the init file,
16585         the user probably doesn't want it to be called again afterwards.
16586         In this situation, `package-initialize' now sets
16587         `package-enable-at-startup' to nil to prevent that.  The user can have
16588         the old behavior by setting this variable to t after the call to
16589         `package-initialize'.  (Bug#21423)
16590         * doc/emacs/package.texi (Package Installation): Document it.
16591         * doc/lispref/package.texi (Packaging Basics): Document it.
16592         * etc/NEWS: Document it.
16594 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
16596         Bump version of ntlm.el to 2.00
16597         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.
16598         Add comm keyword.
16600 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
16602         * doc/misc/gnus.texi (Mail Source Specifiers):
16603         Allow :mailbox to be a list.
16605 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
16607         * lisp/progmodes/etags.el (etags-tags-completion-table):
16608         Allow even one non-regular character before the implicit tag name.
16609         Reported at http://emacs.stackexchange.com/questions/15269/.
16611 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
16613         Add support for NTLMv2 authentication
16614         * lisp/net/ntlm.el (ntlm): New customization group.
16615         (ntlm-compatibility-level): New defcustom.
16616         (ntlm-compute-timestamp): New function.
16617         (ntlm-generate-nonce): Likewise.
16618         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
16620 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
16622         * lisp/emacs-lisp/package.el: Rename custom faces.
16623         All of the recently introduced faces, like `package-name-face', have
16624         been renamed to no end in `-face' to comply with the convention
16625         described in (info "(elisp) Defining Faces").
16626         (package-name, package-description)
16627         (package-status-built-in, package-status-external)
16628         (package-status-available, package-status-new)
16629         (package-status-held, package-status-disabled)
16630         (package-status-installed, package-status-dependency)
16631         (package-status-unsigned, package-status-incompat)
16632         (package-status-avail-obso): New faces.
16633         (package-menu--print-info-simple): Use them.
16635 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
16637         mail-source.el: Make the imap mail-source's :mailbox handle a list
16638         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
16639         Allow :mailbox to be  a list.
16641 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
16643         nnimap.el: Handle nil arg to nnimap-request-group
16644         * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
16645         This arg isn't always passed in, check it's not nil before making it
16646         into a list.  The active arg will also be nil if the group is new,
16647         check for that.
16649 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
16651         File notifications: Support renaming over directory boundaries
16652         * lisp/filenotify.el (file-notify-handle-event):
16653         (file-notify--pending-event): Adapt docstring.
16654         (file-notify--descriptor, file-notify-callback): Reimplement in
16655         order to support renaming over directory boundaries.
16656         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
16657         * doc/lispref/os.texi (File Notifications): Remove limitation of
16658         file renaming to the same directory.
16660 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
16662         Spelling fix (Bug#21420)
16664 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
16666         Improve the semantic of map-some
16667         Update map-some to return the returned by the predicate, similar to
16668         seq-some.
16669         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
16670           return value of the predicate.
16671         * test/automated/map-tests.el (test-map-some): Update the test to check
16672           for non-nil values only.
16674         Rename map-contains-key-p and map-some-p
16675         Remove the "-p" suffix from both function names.
16676         * lisp/emacs-lisp/map.el (map-contains-key, map-some):
16677           Rename the functions.
16678         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
16679           Update both test functions.
16681         Improve the semantic of seq-some
16682         Update seq-some to return non-nil if the predicate returns non-nil for
16683         any element of the seq, in which case the returned value is the one
16684         returned by the predicate.
16685         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
16686           docstring.
16687         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
16688         * doc/lispref/sequences.texi (Sequence Functions): Update the
16689           documentation for seq-some.
16691         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
16692         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
16693           without the "-p" prefix.
16694         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
16695           the tests accordingly.
16696         * doc/lispref/sequences.texi (Sequence Functions): Update the
16697           documentation for seq.el.
16699 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16701         text-quoting-style for usage of fn names with ‘’
16702         * lisp/help.el (help--docstring-quote): Don’t assume
16703         text-quoting-style is ‘curve’ when generating usage strings for
16704         functions whose names contain curved quotes.
16706 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
16708         Fix fix for describe-function keybinding confusion
16709         This fixes a bug introduced by the previous patch.
16710         * lisp/help-fns.el (help-fns--signature):
16711         Last arg of help-fns--signature is now a buffer, or nil if a
16712         raw signature is wanted.  All callers changed.
16713         (describe-function-1): Use this to do the right thing with signatures.
16715 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
16717         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
16719         Use PAT rather than UPAT in pcase macros
16720         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
16721         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
16722           than UPAT.
16724 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
16726         Fix describe-function keybinding confusion
16727         * lisp/help-fns.el (describe-function-1): Compute signature
16728         in the original buffer, not in standard-output, so that
16729         substitute-command-keys uses the proper keybindings.
16730         This fixes Bug#21412, introduced in commit
16731         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
16733 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
16735         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
16737 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
16739         Avoid read error messages from 'inotify'
16740         * src/process.c (wait_reading_process_output): Add a
16741         'tls_available' set and manipulate it instead of 'Available' when
16742         checking TLS inputs.  Assign the value to 'Available' only if we
16743         find any TLS data waiting to be read.  This avoids error messages
16744         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
16746 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
16748         Avoid errors in thing-at-point with 2nd argument non-nil
16749         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
16750         sequences.  (Bug#21391)
16752 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
16754         Fix segfaults due to using a stale face ID
16755         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
16756         (display_echo_area_1, redisplay_internal): Call it to avoid
16757         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
16758         faces, which could case a segfault if the frame's face cache was
16759         freed since the last redisplay.  (Bug#21394)
16760         * src/xfaces.c (free_realized_faces):
16761         Call forget_escape_and_glyphless_faces.
16762         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
16764 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
16766         Fix minor problems with " in manual
16768 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
16770         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
16771         multi-hop files.
16773 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
16775         Support automated ‘make check’ in non-C locale
16776         This lets the builder optionally test Emacs behavior in other locales.
16777         The C locale is still the default for tests.
16778         * test/automated/Makefile.in (TEST_LOCALE): New macro.
16779         (emacs): Use it.
16780         * test/automated/flymake-tests.el (flymake-tests--current-face):
16781         Use C locale for subprocesses so that tests behave as expected.
16782         * test/automated/python-tests.el:
16783         (python-shell-prompt-validate-regexps-1)
16784         (python-shell-prompt-validate-regexps-2)
16785         (python-shell-prompt-validate-regexps-3)
16786         (python-shell-prompt-validate-regexps-4)
16787         (python-shell-prompt-validate-regexps-5)
16788         (python-shell-prompt-validate-regexps-6)
16789         (python-shell-prompt-set-calculated-regexps-1):
16790         Adjust expected output to match locale.
16791         * test/automated/tildify-tests.el (tildify-test--test)
16792         (tildify-space-test--test, tildify-space-undo-test--test):
16793         This test assumes UTF-8 encoding.
16795 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
16797         Fix some more docstring etc. quoting problems
16798         Mostly these fixes prevent the transliteration of apostrophes
16799         that should stay apostrophes.  Also, prefer curved quotes in
16800         Bahá’í proper names, as that’s the preferred Bahá’í style and
16801         these names are chock-full of non-ASCII characters anyway.
16802         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
16803         (eieio-defclass-internal):
16804         * lisp/emacs-lisp/eieio.el (defclass):
16805         * lisp/hi-lock.el (hi-lock-mode):
16806         Don’t transliterate Lisp apostrophes when generating a
16807         doc string or diagnostic.
16808         * lisp/international/mule-diag.el (list-coding-systems-1):
16809         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
16810         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
16811         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
16812         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
16813         Substitute quotes before putting them in the help buffer.
16815 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
16817         Re-add the notion of echo_prompt lost in the translation
16818         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
16819         echo_prompt which contains the actual string.  Update all uses.
16820         * src/keyboard.c (kset_echo_prompt): New function.
16821         (echo_update): Add echo_prompt at the very beginning.
16822         (read_char): Remove workaround for bug#19875, not needed any more.
16823         (read_key_sequence): Set echo_prompt rather than echo_string
16824         (bug#21403).
16825         (mark_kboards): Mark echo_prompt.
16827         Fix disassembly of non-compiled lexical functions (bug#21377)
16828         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
16829         * lisp/emacs-lisp/disass.el: Use lexical-binding.
16830         (disassemble): Recognize `closure's as well.
16831         (disassemble-internal): Use indirect-function and
16832         help-function-arglist, and accept `closure's.
16833         (disassemble-internal): Use interactive-form.
16834         (disassemble-1): Use functionp.
16836         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
16837         Don't compose inside verbatim blocks!
16839 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
16841         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
16842         (bug#19441).
16844         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394).
16846 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
16848         vc-git-mode-line-string: Explicitly re-apply the face
16849         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
16850         the face (bug#21404).
16852 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
16854         Treat initial-scratch-message as a doc string
16855         * doc/emacs/building.texi (Lisp Interaction):
16856         * doc/lispref/os.texi (Startup Summary):
16857         * etc/NEWS: Document this.
16858         * lisp/startup.el (initial-scratch-message):
16859         Look up find-file’s key rather than hardcoding it.
16860         (command-line-1): Substitute the doc string.
16861         This also substitutes the quotes, which will help test display
16862         quoting at startup.
16864         Fix describe-char bug with glyphs on terminals
16865         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
16866         buffers too, so don’t treat them differently from graphic displays.
16867         Without this fix, describe-char would throw an error on a terminal
16868         if given a glyph with a non-default face.
16870         Follow text-quoting-style in display table init
16871         This attempts to fix a problem reported by Alan Mackenzie in:
16872         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
16873         * doc/lispref/display.texi (Active Display Table):
16874         Mention how text-quoting-style affects it.
16875         * doc/lispref/help.texi (Keys in Documentation):
16876         Say how to set text-quoting-style in ~/.emacs.
16877         * etc/NEWS: Document the change.
16878         * lisp/startup.el (startup--setup-quote-display):
16879         Follow user preference if text-quoting-style is set.
16880         (command-line): Setup quote display again if user expresses
16881         a preference in .emacs.
16883 2015-09-02  K. Handa  <handa@gnu.org>
16885         Fix typo
16886         * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask
16887         -> OTF_positioning_type_components_mask.
16889         Fix previous change
16890         * src/ftfont.c (ftfont_drive_otf): Remember some bits of
16891         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
16893 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
16895         * lisp/vc/vc-hooks.el (vc-refresh-state): New command.
16896         Rename from vc-find-file-hook and make interactive.
16897         (vc-find-file-hook): Redefine as obsolete alias.
16899 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16901         Escape ` and ' in doc
16902         Escape apostrophes and grave accents in docstrings if they are
16903         are supposed to stand for themselves and are not quotes.  Remove
16904         apostrophes from docstring examples like ‘'(calendar-nth-named-day
16905         -1 0 10 year)’ that confuse source code with data.  Do some other
16906         minor docstring fixups as well, e.g., insert a missing close quote.
16908 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
16910         Generalize the prefix-command machinery of C-u
16911         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
16912         (prefix-command-preserve-state-hook): New hooks.
16913         (internal-echo-keystrokes-prefix): New function.
16914         (prefix-command--needs-update, prefix-command--last-echo): New vars.
16915         (prefix-command-update, prefix-command-preserve): New functions.
16916         (reset-this-command-lengths): New compatibility definition.
16917         (universal-argument--mode): Call prefix-command-update.
16918         (universal-argument, universal-argument-more, negative-argument)
16919         (digit-argument): Call prefix-command-preserve-state.
16920         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
16921         the "prefix argument" to echo.
16922         (this_command_key_count_reset, before_command_key_count)
16923         (before_command_echo_length): Delete variables.
16924         (echo_add_key): Always add a space.
16925         (echo_char): Remove.
16926         (echo_dash): Don't give up when this_command_key_count is 0, since that
16927         is now the case after a prefix command.
16928         (echo_update): New function, extracted from echo_now.
16929         (echo_now): Use it.
16930         (add_command_key, read_char, record_menu_key): Remove old disabled code.
16931         (command_loop_1): Don't refrain from pushing an undo boundary when
16932         prefix-arg is set.  Remove other prefix-arg special case, now handled
16933         directly in the prefix commands instead.  But call echo_now if there's
16934         a prefix state to echo.
16935         (read_char, record_menu_key): Use echo_update instead of echo_char.
16936         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
16937         (Freset_this_command_lengths): Delete function.
16938         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
16939         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
16940         * lisp/simple.el: Use those new hooks for C-u.
16941         (universal-argument--description): New function.
16942         (prefix-command-echo-keystrokes-functions): Use it.
16943         (universal-argument--preserve): New function.
16944         (prefix-command-preserve-state-hook): Use it.
16945         (command-execute): Call prefix-command-update if needed.
16946         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
16947         (kmacro-step-edit-prefix-index): Delete variables.
16948         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
16949         support for prefix arg commands.
16950         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
16951         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
16952         (cua--shift-control-prefix): Use prefix-command-preserve-state.
16953         Remove now unused arg `arg'.
16954         (cua--prefix-override-handler, cua--prefix-repeat-handler)
16955         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
16956         Update accordingly.
16957         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
16958         any more.
16959         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
16960         if the mark is not set.
16962 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16964         Rework quoting in Emacs Lisp Introduction
16965         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
16966         (if in more detail, type-of-animal in detail, else): Rework the
16967         early example to use " rather than ' so that we don’t burden
16968         complete novices with the low-priority detail of text quoting style.
16969         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
16970         (kill-new function, kill-ring-yank-pointer)
16971         (Complete forward-sentence, Loading Files)
16972         (Code for current-kill, Code for current-kill, yank):
16973         Resurrect the Emacs 22 versions of the code, which uses grave
16974         quoting style in doc strings.
16975         (Complete zap-to-char): Mention how quoting works in doc strings.
16977         Setup quote display only if interactive
16978         * lisp/startup.el (command-line):
16979         Skip call to startup--setup-quote-display if noninteractive.
16980         Without this change, python-shell-prompt-validate-regexps-1
16981         fails in test/automated/python-tests.el when run in an
16982         en_US.utf8 locale on Fedora.
16984 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
16986         Use defalias at the top level
16987         * lisp/gnus/gnus-util.el (gnus-format-message):
16988         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
16989         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
16991 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16993         terminal-init-w32console mimics command-line
16994         Problem reported by Eli Zaretskii.
16995         * lisp/startup.el (startup--setup-quote-display):
16996         New function, refactored from a part of ‘command-line’.
16997         (command-line): Use it.
16998         * lisp/term/w32console.el (terminal-init-w32console):
16999         Use it, so that this function stays consistent with ‘command-line’.
17001         Display replacement quotes with shadow glyphs
17002         * lisp/startup.el (command-line): When displaying ASCII
17003         replacements for curved quotes, use a shadow glyph instead of a
17004         regular one, to avoid ambiguity.
17006 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
17008         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
17010 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17012         Docstring fixes re quotes in C code
17013         Fix some docstring quoting problems, mostly by escaping apostrophe.
17015 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
17017         Some Tramp password fixes
17018         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
17019         of the hops.
17020         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
17021         at the beginning of the command.  Otherwise, it could be
17022         interpreted as password prompt if the remote host echoes the
17023         command.
17024         (tramp-remote-coding-commands): Add "openssl enc -base64".
17026 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
17028         Make vc-git-working-revision always return the commit hash
17029         * lisp/vc/vc-git.el (vc-git-working-revision):
17030         Return the commit hash (bug#21383).
17031         (vc-git--symbolic-ref): New function, extracted from above.
17032         (vc-git-mode-line-string): Use it.
17034 2015-09-01  K. Handa  <handa@gnu.org>
17036         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs
17037         * src/ftfont.c (MFLTGlyphFT): New type.
17038         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
17039         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
17040         elements in the array MFLTGlyphString.glyphs.
17042 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
17044         Improve comments in elisp-mode.el, elisp-mode-tests.el
17045         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
17047         Delete Emacs 25 test in mode-local.el
17048         * lisp/cedet/mode-local.el (describe-mode-local-overload):
17049         Fix missed an edit in previous commit.
17051         Show all known mode-local overrides in *Help*
17052         * lisp/cedet/mode-local.el (describe-mode-local-overload):
17053         Assume Emacs 25. Add all known mode-local overrides.
17055 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
17057         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
17058         Ensure that the article where the search word is found is displayed
17059         and pointed to in the summary buffer.
17061 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
17063         * lisp/newcomment.el (comment-dwim): Use `use-region-p'.
17064         When the region is active, but is empty (length 0), act as though
17065         the region was not active; that is, put a comment at the end of
17066         the line.  (Bug#21119)
17068 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
17070         Port tls.el to older Emacs
17071         * lisp/net/tls.el (tls-format-message):
17072         Alias to format-message, or format if not available.
17073         (open-tls-stream): Use it.
17075 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
17077         hideif.el: Recognize .h++ as C++ header
17078         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
17080         isearch: Document character folding mode
17081         * lisp/isearch.el (isearch-forward):
17082         Mention `isearch-toggle-character-fold' in doc string.
17084 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17086         Quoting fixes in ERC and Eshell
17087         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
17088         * lisp/erc/erc-backend.el (define-erc-response-handler):
17089         * lisp/erc/erc-fill.el (erc-fill-static-center):
17090         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
17091         * lisp/eshell/em-glob.el (eshell-glob-entries):
17092         * lisp/eshell/em-hist.el (eshell-save-some-history):
17093         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
17094         (eshell-shuffle-files):
17095         * lisp/eshell/esh-cmd.el (eshell-do-eval):
17096         * lisp/eshell/esh-proc.el (eshell-process-interact)
17097         (eshell-query-kill-processes):
17098         Respect ‘text-quoting-style’ in diagnostics and doc strings.
17100         Quoting fixes in Gnus
17101         * lisp/gnus/gnus-agent.el:
17102         (gnus-agent-possibly-synchronize-flags-server):
17103         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
17104         * lisp/gnus/gnus-eform.el (gnus-edit-form):
17105         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
17106         (gnus-group-nnimap-edit-acl):
17107         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
17108         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
17109         * lisp/gnus/message.el (message-strip-subject-encoded-words)
17110         (message-check-recipients, message-send-form-letter):
17111         * lisp/gnus/mm-decode.el (mm-display-part):
17112         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
17113         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
17114         (mml-smime-get-ldap-cert):
17115         * lisp/gnus/spam-report.el (spam-report-process-queue):
17116         Respect ‘text-quoting-style’ in diagnostics.
17117         * lisp/gnus/gnus-art.el (article-display-face)
17118         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
17119         Use straight quoting in email.
17120         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
17121         Escape apostrophes in doc strings.
17123         Quoting fixes in lisp mail, mh-e, net, url
17124         * lisp/mail/emacsbug.el (report-emacs-bug)
17125         (report-emacs-bug-hook): Use straight quotes in outgoing email,
17126         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
17127         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
17128         * lisp/mail/rmailout.el (rmail-output-read-file-name):
17129         * lisp/net/imap.el (imap-interactive-login):
17130         * lisp/net/tls.el (open-tls-stream):
17131         * lisp/url/url-auth.el (url-register-auth-scheme):
17132         Respect ‘text-quoting-style’ in diagnostics.
17133         * lisp/mh-e/mh-e.el (mh-sortm-args):
17134         Quote docstring example using text quotes, not as a Lisp quote.
17136 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
17138         Fix some byte-compiler warnings in EDE
17139         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
17140         existing autoloader list, rather than add to it.
17141         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
17142         argument to eieio class constructor.
17143         (ede-show-supported-projects): New.
17144         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
17145         with (oref ... name).
17146         (ede-auto-load-project): Use slot name, not initarg key.
17147         * lisp/cedet/ede/generic.el (ede-generic-load)
17148         (ede-generic-find-matching-target): Use slot name, not initarg key.
17149         (ede-find-target): Use oref-default on class name.
17150         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
17151         class constructor.
17152         (ede-enable-generic-projects): Make project type names unique.
17154 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
17156         Fix directory accessibility tests for w32 network volumes
17157         * src/w32.c (faccessat): Don't fail with network volumes without a
17158         share.
17159         (w32_accessible_directory_p): Handle network volumes without a
17160         share.
17162         Fix handling long file names in readdir on MS-Windows
17163         * src/w32.c (sys_readdir): Append "\*" to the directory after
17164         converting it to UTF-16/ANSI, not before, to avoid overflowing the
17165         260-character limit on file names in filename_to_utf16/ansi.
17167         Make file-accessible-directory-p reliable on MS-Windows
17168         * src/w32.c (w32_accessible_directory_p): New function.
17169         * src/w32.h (w32_accessible_directory_p): Add prototype.
17170         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
17171         w32_accessible_directory_p to test a directory for accessibility
17172         by the current user.  (Bug#21346)
17173         (Ffile_accessible_directory_p): Remove the w32 specific caveat
17174         from the doc string.
17176 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
17178         Don't call do_pending_window_change in signal handlers (Bug#21380)
17179         * src/gtkutil.c (xg_frame_resized):
17180         * src/xterm.c (x_set_window_size):
17181         * src/w32term.c (x_set_window_size): Don't call
17182         do_pending_window_change.
17184 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17186         Quoting fixes in lisp/org
17187         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
17188         (org-tags-view):
17189         * lisp/org/org-capture.el (org-capture-mode)
17190         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
17191         (org-ctags-ask-append-topic):
17192         * lisp/org/org.el (org-time-string-to-time)
17193         (org-time-string-to-absolute):
17194         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
17195         (org-ctags-ask-append-topic):
17196         * lisp/org/org.el (org-time-string-to-time)
17197         (org-time-string-to-absolute):
17198         Respect ‘text-quoting-style’ in diagnostics.
17199         * lisp/org/org-agenda.el (org-agenda-custom-commands)
17200         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
17201         * lisp/org/org-capture.el (org-capture-fill-template):
17202         Avoid contraction in output file that might be ASCII.
17203         * lisp/org/org-compat.el (format-message):
17204         Define if not already defined, for backward compatibility.
17205         * lisp/org/org-src.el (org-edit-src-save):
17206         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
17207         Escape apostrophes in diagnostics.
17209         Treat “instead” strings as docstrings
17210         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
17211         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
17212         Substitute quotes in instead strings.
17214 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
17216         Better documentation of seq-let
17217         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
17218         documentation of seq-let.
17220 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17222         * lisp/international/ccl.el: Fix quoting.
17224         Quoting fixes in lisp/international and lisp/leim
17225         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
17226         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
17227         * lisp/international/mule-cmds.el:
17228         (select-safe-coding-system-interactively, leim-list-file-name):
17229         * lisp/international/quail.el (quail-use-package, quail-help):
17230         * lisp/international/titdic-cnv.el (tit-process-header)
17231         (miscdic-convert):
17232         Respect text quoting style in doc strings and diagnostics.
17233         * lisp/international/quail.el (lisp/international/quail.el):
17234         * lisp/leim/quail/ethiopic.el ("ethiopic"):
17235         Escape apostrophes in doc strings.
17237         Make ‘text-quoting-style’ a plain defvar
17238         It doesn’t need customization, as it’s likely useful only by experts.
17239         Suggested by Stefan Monnier in:
17240         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
17241         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
17243         Quoting fixes in lisp/textmodes
17244         * lisp/textmodes/bibtex.el (bibtex-validate)
17245         (bibtex-validate-globally, bibtex-search-entries):
17246         * lisp/textmodes/ispell.el (ispell-command-loop):
17247         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
17248         * lisp/textmodes/texinfmt.el (texinfmt-version)
17249         (texinfo-format-region, texinfo-format-buffer-1):
17250         * lisp/textmodes/two-column.el (2C-split):
17251         Respect text quoting style in doc strings and diagnostics.
17252         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
17253         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
17254         Escape apostrophes in doc strings.
17256         Documentation fixes re quotes
17257         Prefer curved quotes in examples if users will typically see
17258         curved quotes when the examples run.
17259         Mention format-message when appropriate.
17260         Don’t use @code in examples.
17261         Quote an apostrophe with @kbd.
17263         Quoting fixes in lisp/progmodes
17264         * lisp/progmodes/cc-engine.el (c-bos-report-error):
17265         * lisp/progmodes/cpp.el (cpp-edit-reset):
17266         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
17267         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
17268         (etags-tags-apropos, list-tags, tags-apropos):
17269         * lisp/progmodes/executable.el (executable-set-magic):
17270         * lisp/progmodes/octave.el (octave-sync-function-file-names)
17271         (octave-help, octave-find-definition-default-filename)
17272         (octave-find-definition):
17273         Respect text quoting style in doc strings and diagnostics.
17274         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
17275         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
17276         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
17277         Escape apostrophes in doc strings.
17278         * lisp/progmodes/cmacexp.el (c-macro-expansion):
17279         Use straight quoting in ASCII comment.
17280         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
17281         (idlwave-pad-keyword):
17282         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
17283         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
17284         (vhdl-electric-semicolon, vhdl-electric-comma)
17285         (vhdl-electric-period, vhdl-electric-equal):
17286         Use directed quotes in diagnostics and doc strings.
17288 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
17290         Minor documentation and NEWS tweak
17291         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let):
17292         Add an index entry.
17293         * etc/NEWS: Fix a typo in character-fold-to-regexp.
17295 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
17297         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
17298         Revert patch from 2015-08-24.  Tramp shall behave like for local files.
17299         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
17300         Adapt test.
17302 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
17304         Text quoting fixes in cedet, emulation, emacs-lisp
17305         * lisp/cedet/ede.el (ede-check-project-directory):
17306         * lisp/cedet/semantic/analyze/debug.el
17307         (semantic-analyzer-debug-insert-include-summary):
17308         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
17309         * lisp/cedet/semantic/decorate/include.el
17310         (semantic-decoration-unknown-include-describe)
17311         (semantic-decoration-all-include-summary):
17312         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
17313         * lisp/emulation/edt.el (edt-load-keys):
17314         * lisp/emulation/viper-cmd.el
17315         (viper-display-current-destructive-command)
17316         (viper-query-replace, viper-brac-function):
17317         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
17318         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
17319         Respect text quoting style in doc string or diagnostic.
17320         * lisp/cedet/mode-local.el (describe-mode-local-overload):
17321         Use format-message to avoid overtranslating quotes.
17322         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
17323         Escape an apostrophe in a docstring.
17324         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
17326 2015-08-29  Daniel Colascione  <dancol@dancol.org>
17328         Fix which-func for curly quotes: look for symbol, not message
17329         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
17330         imenu-unavailable error symbol instead of trying to match message
17331         exactly.
17332         * lisp/imenu.el (imenu-unavailable): New error.
17333         (imenu-unavailable-error): New function.
17335 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
17337         Fix Python tests on MS-Windows
17338         * test/automated/python-tests.el
17339         (python-shell-calculate-command-1): Run python-shell-interpreter
17340         through shell-quote-argument before comparing with what
17341         python-shell-calculate-command returns.
17342         (python-shell-calculate-pythonpath-1)
17343         (python-shell-calculate-pythonpath-2)
17344         (python-shell-calculate-process-environment-2): Use path-separator
17345         instead of a literal ':'.
17346         (python-shell-calculate-exec-path-2)
17347         (python-shell-calculate-exec-path-3)
17348         (python-shell-calculate-exec-path-4)
17349         (python-shell-with-environment-1)
17350         (python-shell-with-environment-2): Run "/env/bin" through
17351         expand-file-name before comparing with exec-path.  (Bug#21375)
17353 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
17355         Use Core Text types/functions/variables/enumerators directly
17356         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
17357         (CharacterCollection): Remove typedefs.  All uses replaced with
17358         definitions.
17359         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
17360         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
17361         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
17362         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
17363         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
17364         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
17365         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
17366         definitions.
17367         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
17368         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
17369         (MAC_FONT_FORMAT_BITMAP)
17370         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
17371         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.
17372         All uses replaced with definitions.
17373         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
17374         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
17375         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault):
17376         Add compatibility enumerators for older versions.
17377         (mac_font_descriptor_create_with_attributes)
17378         (mac_font_descriptor_create_matching_font_descriptors)
17379         (mac_font_descriptor_create_matching_font_descriptor)
17380         (mac_font_descriptor_copy_attribute)
17381         (mac_font_descriptor_supports_languages)
17382         (mac_font_create_with_name, mac_font_get_size)
17383         (mac_font_copy_family_name, mac_font_copy_character_set)
17384         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
17385         (mac_font_get_descent, mac_font_get_leading)
17386         (mac_font_get_underline_position)
17387         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
17388         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
17389         replaced with definitions.
17390         (mac_font_create_preferred_family_for_attributes)
17391         (mac_font_get_advance_width_for_glyph)
17392         (mac_font_get_bounding_rect_for_glyph)
17393         (mac_font_create_available_families, mac_font_shape):
17394         Remove macros for renamed functions.
17395         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
17396         * src/macfont.m (mac_font_descriptor_supports_languages):
17397         Rename from mac_ctfont_descriptor_supports_languages.
17398         (mac_font_create_preferred_family_for_attributes): Rename from
17399         mac_ctfont_create_preferred_family_for_attributes.
17400         (mac_font_get_advance_width_for_glyph): Rename from
17401         mac_ctfont_get_advance_width_for_glyph.
17402         Use kCTFontOrientationDefault also for older versions.
17403         (mac_font_get_bounding_rect_for_glyph): Rename from
17404         mac_ctfont_get_bounding_rect_for_glyph.
17405         Use kCTFontOrientationDefault also for older versions.
17406         (mac_font_create_available_families): Rename from
17407         mac_ctfont_create_available_families.
17408         (mac_font_equal_in_postscript_name): Rename from
17409         mac_ctfont_equal_in_postscript_name.  All uses changed.
17410         (mac_font_create_line_with_string_and_font): Rename from
17411         mac_ctfont_create_line_with_string_and_font.  All uses changed.
17412         (mac_font_shape): Rename from mac_ctfont_shape.
17413         (mac_font_family_compare): Remove unused declaration.
17415 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
17417         Fix minor text quoting in calc, calendar, vc
17418         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
17419         * lisp/calc/calc-help.el (calc-j-prefix-help):
17420         * lisp/calc/calc-misc.el (calc-help):
17421         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
17422         Escape an apostrophe in a docstring.
17423         * lisp/calc/calc-forms.el (calc-hms-notation):
17424         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
17425         Escape an apostrophe in a diagnostic.
17426         * lisp/calc/calc-misc.el (calc-help):
17427         * lisp/calendar/diary-lib.el (diary-include-files):
17428         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
17429         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
17430         * lisp/vc/ediff-diff.el (ediff-same-contents):
17431         * lisp/vc/ediff-merg.el (ediff-re-merge):
17432         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
17433         * lisp/vc/ediff-util.el (ediff-test-save-region)
17434         (ediff-status-info):
17435         * lisp/vc/ediff.el (ediff-merge-revisions)
17436         (ediff-merge-revisions-with-ancestor):
17437         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
17438         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
17439         Respect text quoting style in doc string or diagnostic.
17440         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
17441         * lisp/vc/add-log.el (change-log-goto-source):
17442         Avoid double-formatting.
17443         * lisp/vc/ediff-init.el (format-message):
17444         New backward-compatibility alias.
17446 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
17448         Fix minor text quoting problems in lisp top level
17449         * lisp/apropos.el (apropos-describe-plist):
17450         * lisp/cus-theme.el (customize-themes):
17451         * lisp/dired.el (dired-log):
17452         * lisp/help-fns.el (describe-variable):
17453         * lisp/hexl.el (hexl-insert-multibyte-char):
17454         * lisp/info.el (Info-finder-find-node):
17455         * lisp/json.el (json-read-string):
17456         * lisp/novice.el (disabled-command-function)
17457         (disabled-command-function):
17458         * lisp/startup.el (normal-mouse-startup-screen):
17459         * lisp/woman.el (WoMan-log, WoMan-warn):
17460         Respect text quoting style in doc string or diagnostic.
17461         * lisp/replace.el (replace-character-fold):
17462         * src/syntax.c (Fmodify_syntax_entry):
17463         Escape an apostrophe in a docstring.
17464         * lisp/tempo.el (tempo-define-template):
17465         Remove confusing apostrophe from docstring.
17466         * lisp/whitespace.el (whitespace-mark-x):
17467         Use directed quotes in docstring.
17469 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
17471         Fix indentation rule in css-mode
17472         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
17473         brackets in presence of pseudo-selectors.  (Bug#21328)
17475 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
17477         Fix a bug in recording a macro while flyspell-mode is active
17478         * lisp/subr.el (sit-for): Don't call read-event when recording a
17479         macro.  (Bug#21329)
17481 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
17483         Tweak startup screen quoting
17484         * lisp/startup.el (normal-splash-screen): Use standard
17485         "M-" abbrevation rather than a confusingly-different one.
17486         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
17488 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
17490         Add test case for ‘format’ bug and refactor
17491         * src/editfns.c (styled_format): Refactor internally, mostly by
17492         moving declarations closer to uses.  This should not affect behavior.
17493         * test/automated/textprop-tests.el (textprop-tests-format): New test.
17495         Fix ‘format’ bug with property offsets
17496         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
17497         bug in calculating string property offsets (Bug#21351).
17499         Use straight quotes in lib-src diagnostics
17500         These auxiliary programs can’t use Emacs’s text-quoting-style,
17501         and it’s too much trouble to redo that mechanism by hand.
17502         So just use straight quotes for now.
17503         * lib-src/ebrowse.c (main):
17504         * lib-src/emacsclient.c (decode_options, main):
17505         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
17506         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
17507         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
17508         (none_help, print_language_names, print_help, add_regex)
17509         (suggest_asking_for_help):
17510         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
17511         Use straight quotes in diagnostics.
17513         ‘text-quoting-style’ fixes for admin
17514         * admin/admin.el (cusver-scan, cusver-check):
17515         * admin/authors.el (authors-canonical-file-name):
17516         * admin/bzrmerge.el (bzrmerge-missing):
17517         Respect ‘text-quoting-style’ in diagnostics.
17519 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
17521         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
17522         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
17523         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
17524         * doc/lispref/internals.texi (Writing Emacs Primitives):
17525         * etc/NEWS:
17526         Document the change.
17527         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
17528         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
17529         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
17530         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
17531         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
17532         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
17533         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
17534         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
17535         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
17536         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
17537         Remove.  All uses removed.  The code now assumes
17538         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
17539         * src/bytecode.c (relocate_byte_stack):
17540         Rename from unmark_byte_stack, since it now only relocates.
17541         All callers changed.
17542         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
17543         with GCPROs removed.
17544         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
17545         * test/automated/finalizer-tests.el (finalizer-basic)
17546         (finalizer-circular-reference, finalizer-cross-reference)
17547         (finalizer-error):
17548         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
17549         Remove tests, as they depend on gc-precise.
17551 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
17553         Improve seq-concatenate for new sequence types
17554         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
17555         ensure that concatenation happens on sequences only.  This makes it
17556         possible to use `seq-concatenate' for new types of seqs.
17557         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate):
17558         New function used in `seq-concatenate'.
17559         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
17560         for seq-into-sequence.
17562 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
17564         Add mode local overrides to xref-find-definitions
17565         * lisp/cedet/mode-local.el (xref-mode-local--override-present)
17566         (xref-mode-local-overload): New; add mode local overrides to
17567         xref-find-definitions.
17568         * test/automated/elisp-mode-tests.el: Add mode local override tests.
17569         (xref-elisp-test-run): Handle indented defuns.
17570         (xref-elisp-generic-*): Improve doc strings.
17571         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
17572         (elisp--xref-find-definitions): Use it.
17574         Add mode local overrides to describe-function
17575         * lisp/cedet/mode-local.el (describe-mode-local-overload):
17576         New; add mode local overrides to describe-function.
17577         * etc/NEWS: Document change.
17579 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
17581         Prefer straight quoting in some etc text files
17582         These files are plain text and might be used by non-Emacs apps.
17583         They’re mostly ASCII, so just use straight quotes.
17585         Fix quoting in ‘message_with_string’
17586         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
17587         should work now.
17588         * src/xdisp.c (message_to_stderr): New function, refactored from
17589         part of ‘message3_nolog’.
17590         (message3_nolog): Use it.
17591         (message_with_string): Use it.  Don’t mishandle NUL bytes when
17592         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
17593         Use ‘format-message’, not ‘format’, so that quotes are translated.
17595 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
17597         Mention false positives of file-accessible-directory on w32
17598         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
17599         (Bug#21346)
17601 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
17603         Treat error strings as help
17604         * src/print.c (print_error_message): Translate quotes and command
17605         keys in errmsg so that users see, e.g., "Symbol’s value as
17606         variable is void: foo" when text-quoting-style is curved.
17608 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
17610         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
17612 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
17614         Top-level elisp files respect ‘text-quoting-style’
17615         In top-level elisp files, use format-message in diagnostic formats,
17616         so that they follow user preference as per ‘text-quoting-style’
17617         rather than being hard-coded to quote `like this'.
17618         * lisp/allout.el (allout-get-configvar-values):
17619         * lisp/apropos.el (apropos-symbols-internal):
17620         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
17621         (dired-do-create-files-regexp, dired-create-files-non-directory):
17622         * lisp/dired-x.el (dired-do-run-mail):
17623         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
17624         * lisp/disp-table.el (standard-display-european):
17625         * lisp/find-dired.el (find-dired):
17626         * lisp/forms.el (forms-mode):
17627         * lisp/ido.el (ido-buffer-internal):
17628         * lisp/info.el (Info-index-next):
17629         * lisp/outline.el (outline-invent-heading):
17630         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
17631         * lisp/proced.el (proced-log):
17632         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
17633         * lisp/recentf.el (recentf-open-files, recentf-save-list):
17634         * lisp/savehist.el (savehist-save):
17635         * lisp/server.el (server-ensure-safe-dir):
17636         * lisp/ses.el (ses-rename-cell):
17637         * lisp/simple.el (list-processes--refresh):
17638         * lisp/startup.el (command-line):
17639         * lisp/strokes.el (strokes-unset-last-stroke)
17640         (strokes-execute-stroke):
17641         Use format-message so that quotes are restyled.
17642         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
17643         Don’t quote ‘raised’.
17644         * lisp/descr-text.el (describe-char):
17645         * lisp/dirtrack.el (dirtrack-debug-message):
17646         * lisp/hexl.el (hexl-insert-multibyte-char):
17647         Apply substitute-command-keys to help string.
17648         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
17649         (wdired-do-perm-changes):
17650         Let dired-log do the formatting.
17652 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17654         Go back to grave quoting in Tramp
17655         * lisp/net/tramp-adb.el:
17656         * lisp/net/tramp-cache.el:
17657         * lisp/net/tramp-compat.el:
17658         * lisp/net/tramp-gvfs.el:
17659         * lisp/net/tramp-gw.el:
17660         * lisp/net/tramp-sh.el:
17661         * lisp/net/tramp-smb.el:
17662         * lisp/net/tramp.el:
17663         Stick with grave quoting in diagnostics strings.  This is more
17664         portable to older Emacs, desirable for Tramp.
17665         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
17666         for diagnostic that needs requoting.
17667         * lisp/net/tramp-compat.el (format-message):
17668         Fall back on simple ‘format’, since that’s good enough now.
17670         Go back to grave quoting in Gnus
17671         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
17672         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
17673         (gnus-agent-fetch-headers):
17674         * lisp/gnus/gnus-int.el (gnus-start-news-server):
17675         * lisp/gnus/gnus-registry.el:
17676         (gnus-registry--split-fancy-with-parent-internal)
17677         (gnus-registry-post-process-groups):
17678         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
17679         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
17680         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
17681         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
17682         * lisp/gnus/spam.el (spam-check-blackholes):
17683         Stick with grave quoting in diagnostics strings.  This is more
17684         portable to older Emacs, desirable for Gnus.
17686         Fix customization of text-quoting-style
17687         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
17688         * lisp/wid-edit.el (widget-docstring):
17689         Get raw docstring here since it’s cooked later and should not be
17690         cooked twice.
17691         * lisp/cus-edit.el (custom-group-value-create):
17692         Cook the docstring before inserting it.
17693         * lisp/cus-start.el (text-quoting-style): Quote the customization
17694         docstrings according to the new rules.  Give curved examples.
17696         format-message now curves ` and '
17697         That way, the caller doesn’t have to use curved quotes to
17698         get diagnostics that match the text-quoting-style preferences.
17699         Suggested by Dmitry Gutov in:
17700         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
17701         This means we no longer need %qs, so remove that format.
17702         While we’re at it, fix an unlikely bug and lessen the pressure
17703         on the garbage collector by processing the string once rather
17704         than twice in the usual case.
17705         * doc/lispref/strings.texi (Formatting Strings):
17706         * etc/NEWS: Document this.
17707         * lisp/subr.el (format-message): Remove; now done in C.
17708         * src/callint.c (Fcall_interactively):
17709         * src/editfns.c (Fmessage, Fmessage_box):
17710         Use Fformat_message instead of Finternal__text_restyle
17711         followed by Fformat.
17712         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
17713         uLSQM and uRSQM.
17714         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
17715         when pure ASCII now suffices.  Fix unlikely bug when parsing
17716         unibyte string containing non-ASCII bytes.  Use inline code
17717         rather than memcpy, as it’s a tiny number of bytes.
17718         (Finternal__text_restyle): Remove; no longer used.
17719         (syms_of_doc): Don’t declare it.
17720         * src/editfns.c (Fformat): Rewrite in terms of new function
17721         ‘styled_format’.
17722         (Fformat_message): New function, moved here from subr.el.
17723         (styled_format): New function, with the old guts of Fformat,
17724         except it now optionally transliterates quotes, and it transliterates
17725         traditional grave accent and apostrophe quoting as well.
17726         Remove recently-added q flag; no longer needed or used.
17727         (syms_of_editfns): Define format-message.
17728         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
17729         Remove; no longer need to be global symbols.
17730         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
17731         so that callers can use `%s'.
17732         * src/image.c (image_size_error, xbm_load_image, xbm_load)
17733         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
17734         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
17735         (svg_load_image, gs_load, x_kill_gs_process):
17736         * src/lread.c (load_warn_old_style_backquotes):
17737         * src/xfaces.c (load_pixmap):
17738         * src/xselect.c (x_clipboard_manager_error_1):
17739         Use `%s' instead of %qs in formats.
17741 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
17743         Minor fixes in doc/emacs/search.texi
17744         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
17745         (Special Isearch): Use @w{} to generate several consecutive spaces
17746         with Texinfo 6.  (Bug#21345)
17748 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
17750         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
17751         (tramp-awk-coding-test): New defconsts.
17752         (tramp-remote-coding-commands): Use them.
17753         (tramp-find-inline-encoding): Check for Perl only if necessary.
17755 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
17757         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
17758         index entries for the special form `quote'.
17760 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17762         Spelling fixes
17764         Gnus format-message typo fix
17765         * lisp/gnus/gnus-util.el (gnus-format-message):
17766         Fix typo when running in older Emacs.
17768         Prefer directed to neutral quotes in docstings and diagnostics.
17769         In docstrings, escape apostrophes that would otherwise be translated
17770         to curved quotes using the newer, simpler rules.
17771         * admin/unidata/unidata-gen.el (unidata-gen-table):
17772         * lisp/align.el (align-region):
17773         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
17774         * lisp/bookmark.el (bookmark-default-annotation-text):
17775         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
17776         * lisp/calc/calc-lang.el (math-read-giac-subscr)
17777         (math-read-math-subscr):
17778         * lisp/calc/calc-misc.el (report-calc-bug):
17779         * lisp/calc/calc-prog.el (calc-fix-token-name)
17780         (calc-read-parse-table-part):
17781         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
17782         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
17783         * lisp/dabbrev.el (dabbrev-expand):
17784         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
17785         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
17786         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
17787         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
17788         * lisp/erc/erc-button.el (erc-nick-popup):
17789         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
17790         * lisp/eshell/em-dirs.el (eshell/cd):
17791         * lisp/eshell/em-glob.el (eshell-glob-regexp):
17792         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
17793         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
17794         * lisp/eshell/esh-opt.el (eshell-show-usage):
17795         * lisp/files-x.el (modify-file-local-variable):
17796         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
17797         (filesets-update-pre010505):
17798         * lisp/find-cmd.el (find-generic, find-to-string):
17799         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
17800         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
17801         (gnus-agent-fetch-headers):
17802         * lisp/gnus/gnus-int.el (gnus-start-news-server):
17803         * lisp/gnus/gnus-registry.el:
17804         (gnus-registry--split-fancy-with-parent-internal):
17805         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
17806         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
17807         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
17808         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
17809         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
17810         * lisp/gnus/spam.el (spam-check-blackholes):
17811         * lisp/mail/feedmail.el (feedmail-run-the-queue):
17812         * lisp/mpc.el (mpc-playlist-rename):
17813         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
17814         * lisp/net/mairix.el (mairix-widget-create-query):
17815         * lisp/net/tramp-cache.el:
17816         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
17817         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
17818         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
17819         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
17820         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
17821         (org-babel-goto-named-result):
17822         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
17823         * lisp/org/ob-ref.el (org-babel-ref-resolve):
17824         * lisp/org/org-agenda.el (org-agenda-prepare):
17825         * lisp/org/org-bibtex.el (org-bibtex-fields):
17826         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
17827         (org-clock-resolve):
17828         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
17829         * lisp/org/org-habit.el (org-habit-parse-todo):
17830         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
17831         (org-mouse-context-menu):
17832         * lisp/org/org-table.el (org-table-edit-formulas):
17833         * lisp/org/ox.el (org-export-async-start):
17834         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
17835         (dun-rooms, dun-endgame-questions):
17836         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
17837         * lisp/progmodes/ada-xref.el (ada-find-executable):
17838         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
17839         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
17840         (flymake-start-syntax-check-process):
17841         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
17842         * lisp/progmodes/sql.el (sql-comint):
17843         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
17844         * lisp/server.el (server-get-auth-key):
17845         * lisp/subr.el (version-to-list):
17846         * lisp/textmodes/reftex-ref.el (reftex-label):
17847         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
17848         * lisp/vc/ediff-diff.el (ediff-same-contents):
17849         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
17850         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
17851         Use directed rather than neutral quotes in diagnostics.
17853         Treat ' like ’ even when not matching `
17854         This is simpler and easier to explain, and should encourage better
17855         typography.  Do this in Electric Quote mode and when translating
17856         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
17857         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
17858         * doc/emacs/text.texi (Quotation Marks):
17859         * doc/lispref/help.texi (Keys in Documentation):
17860         * etc/NEWS:
17861         Document this.
17862         * lisp/electric.el (electric-quote-post-self-insert-function):
17863         * src/doc.c (Fsubstitute_command_keys):
17864         Always treat ' like ’ even when not matched by an open quote.
17866 2015-08-25  Glenn Morris  <rgm@gnu.org>
17868         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
17869         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
17871 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
17873         * src/macfont.m (macfont_create_family_with_symbol):
17874         Accept localized names.
17876 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17878         Tramp diagnostics as per ‘text-quoting-style’
17879         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
17880         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
17881         (tramp-adb-handle-delete-directory)
17882         (tramp-adb-handle-delete-file)
17883         (tramp-adb-handle-file-local-copy)
17884         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
17885         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
17886         (tramp-adb-maybe-open-connection):
17887         * lisp/net/tramp-cache.el:
17888         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
17889         (tramp-compat-octal-to-decimal)
17890         (tramp-compat-coding-system-change-eol-conversion):
17891         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
17892         (tramp-gvfs-do-copy-or-rename-file)
17893         (tramp-gvfs-handle-delete-directory)
17894         (tramp-gvfs-handle-delete-file)
17895         (tramp-gvfs-handle-expand-file-name)
17896         (tramp-gvfs-handle-file-local-copy)
17897         (tramp-gvfs-handle-file-notify-add-watch)
17898         (tramp-gvfs-handle-make-directory)
17899         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
17900         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
17901         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
17902         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
17903         (tramp-sh-handle-set-visited-file-modtime)
17904         (tramp-sh-handle-set-file-modes)
17905         (tramp-sh-handle-file-name-all-completions)
17906         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
17907         (tramp-do-copy-or-rename-file-directly)
17908         (tramp-do-copy-or-rename-file-out-of-band)
17909         (tramp-sh-handle-make-directory)
17910         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
17911         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
17912         (tramp-sh-handle-start-file-process)
17913         (tramp-sh-handle-file-local-copy)
17914         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
17915         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
17916         (tramp-find-file-exists-command, tramp-open-shell)
17917         (tramp-find-shell)
17918         (tramp-open-connection-setup-interactive-shell)
17919         (tramp-find-inline-encoding, tramp-find-inline-compress)
17920         (tramp-compute-multi-hops, tramp-maybe-open-connection)
17921         (tramp-wait-for-output, tramp-send-command-and-check)
17922         (tramp-send-command-and-read, tramp-get-remote-path)
17923         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
17924         (tramp-get-ls-command-with-quoting-style)
17925         (tramp-get-test-command, tramp-get-remote-ln)
17926         (tramp-get-remote-perl, tramp-get-remote-stat)
17927         (tramp-get-remote-readlink, tramp-get-remote-trash)
17928         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
17929         (tramp-get-remote-inotifywait, tramp-get-remote-id)
17930         (tramp-get-remote-python):
17931         * lisp/net/tramp-smb.el (tramp-smb-errors)
17932         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
17933         (tramp-smb-handle-delete-directory)
17934         (tramp-smb-handle-delete-file)
17935         (tramp-smb-handle-file-local-copy)
17936         (tramp-smb-handle-make-directory)
17937         (tramp-smb-handle-make-directory-internal)
17938         (tramp-smb-handle-make-symbolic-link)
17939         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
17940         (tramp-smb-handle-set-file-modes)
17941         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
17942         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
17943         (tramp-process-actions):
17944         Generate diagnostics according to ‘text-quoting-style’, by
17945         using curved quotes in format strings and ‘format-message’
17946         when appropriate.
17947         * lisp/net/tramp-compat.el (format-message):
17948         Define a replacement, if it’s an older version of Emacs
17949         that doesn’t have it already.
17951         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
17953 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
17955         Fix documentation for `save-excursion'
17956         * doc/lispref/positions.texi (Excursions):
17957         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
17958         (Template for save-excursion, Point and mark): `save-excursion'
17959         does not save&restore the mark any more.
17961 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
17963         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
17964         New defconsts.
17965         (tramp-do-file-attributes-with-stat)
17966         (tramp-do-directory-files-and-attributes-with-stat): Use them.
17967         (tramp-convert-file-attributes): Remove double slashes in symlinks.
17968         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
17969         Handle symlinks with "//" in the file name.
17971         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
17973 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
17975         Fix cl-subseq and cl-concatenate
17976         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
17977         seq functions.
17978         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
17979         seq-concatenate.
17981 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
17983         Fix full-screen code when there is no window manager (Bug#21317)
17984         * src/xterm.h (x_wm_supports): Declare external.
17985         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
17986         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
17987         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
17988         `fullscreen' frame parameter.
17989         * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running
17990         without a window manager.
17992 2015-08-24  Glenn Morris  <rgm@gnu.org>
17994         * lisp/version.el (emacs-version): No longer include build host.
17995         * doc/lispref/intro.texi (Version Info): Update example.
17997 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17999         * doc/lispref/elisp.texi: Fix typo in previous change.
18001         More-conservative ‘format’ quote restyling
18002         Instead of restyling curved quotes for every call to ‘format’,
18003         create a new function ‘format-message’ that does the restyling,
18004         and using the new function instead of ‘format’ only in contexts
18005         where this seems appropriate.
18006         Problem reported by Dmitry Gutov and Andreas Schwab in:
18007         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
18008         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
18009         * doc/lispref/commands.texi (Using Interactive):
18010         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
18011         * doc/lispref/display.texi (Displaying Messages, Progress):
18012         * doc/lispref/elisp.texi:
18013         * doc/lispref/help.texi (Keys in Documentation):
18014         * doc/lispref/minibuf.texi (Minibuffer Misc):
18015         * doc/lispref/strings.texi (Formatting Strings):
18016         * etc/NEWS:
18017         Document the changes.
18018         * lisp/abbrev.el (expand-region-abbrevs):
18019         * lisp/apropos.el (apropos-library):
18020         * lisp/calc/calc-ext.el (calc-record-message)
18021         (calc-user-function-list):
18022         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
18023         * lisp/calc/calc-lang.el (math-read-big-balance):
18024         * lisp/calc/calc-store.el (calc-edit-variable):
18025         * lisp/calc/calc-units.el (math-build-units-table-buffer):
18026         * lisp/calc/calc-yank.el (calc-edit-mode):
18027         * lisp/calendar/icalendar.el (icalendar-export-region)
18028         (icalendar--add-diary-entry):
18029         * lisp/cedet/mode-local.el (mode-local-print-binding)
18030         (mode-local-describe-bindings-2):
18031         * lisp/cedet/semantic/complete.el (semantic-completion-message):
18032         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
18033         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
18034         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
18035         * lisp/descr-text.el (describe-text-properties-1, describe-char):
18036         * lisp/dframe.el (dframe-message):
18037         * lisp/dired-aux.el (dired-query):
18038         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
18039         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
18040         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
18041         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
18042         (cconv-analyze-form):
18043         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
18044         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
18045         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
18046         * lisp/emacs-lisp/edebug.el (edebug-format):
18047         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
18048         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
18049         (eldoc-message):
18050         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
18051         * lisp/emacs-lisp/find-func.el (find-function-library):
18052         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
18053         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
18054         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
18055         * lisp/emacs-lisp/package.el (package-compute-transaction)
18056         (package-install-button-action, package-delete-button-action)
18057         (package-menu--list-to-prompt):
18058         * lisp/emacs-lisp/timer.el (timer-event-handler):
18059         * lisp/emacs-lisp/warnings.el (lwarn, warn):
18060         * lisp/emulation/viper-cmd.el:
18061         (viper-toggle-parse-sexp-ignore-comments)
18062         (viper-kill-buffer, viper-brac-function):
18063         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
18064         * lisp/facemenu.el (facemenu-add-new-face):
18065         * lisp/faces.el (face-documentation, read-face-name)
18066         (face-read-string, read-face-font, describe-face):
18067         * lisp/files.el (find-alternate-file, hack-local-variables)
18068         (hack-one-local-variable--obsolete, write-file)
18069         (basic-save-buffer, delete-directory):
18070         * lisp/format.el (format-write-file, format-find-file)
18071         (format-insert-file):
18072         * lisp/help-fns.el (help-fns--key-bindings)
18073         (help-fns--compiler-macro, help-fns--obsolete)
18074         (help-fns--interactive-only, describe-function-1)
18075         (describe-variable):
18076         * lisp/help.el (describe-mode):
18077         * lisp/info-xref.el (info-xref-output):
18078         * lisp/info.el (Info-virtual-index-find-node)
18079         (Info-virtual-index, info-apropos):
18080         * lisp/international/kkc.el (kkc-error):
18081         * lisp/international/mule-cmds.el:
18082         (select-safe-coding-system-interactively)
18083         (select-safe-coding-system, describe-input-method):
18084         * lisp/international/mule-conf.el (code-offset):
18085         * lisp/international/mule-diag.el (describe-character-set)
18086         (list-input-methods-1):
18087         * lisp/international/quail.el (quail-error):
18088         * lisp/minibuffer.el (minibuffer-message):
18089         * lisp/mpc.el (mpc--debug):
18090         * lisp/msb.el (msb--choose-menu):
18091         * lisp/net/ange-ftp.el (ange-ftp-message):
18092         * lisp/net/gnutls.el (gnutls-message-maybe):
18093         * lisp/net/newst-backend.el (newsticker--sentinel-work):
18094         * lisp/net/newst-treeview.el (newsticker--treeview-load):
18095         * lisp/net/nsm.el (nsm-query-user):
18096         * lisp/net/rlogin.el (rlogin):
18097         * lisp/net/soap-client.el (soap-warning):
18098         * lisp/net/tramp.el (tramp-debug-message):
18099         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
18100         * lisp/nxml/nxml-parse.el (nxml-parse-error):
18101         * lisp/nxml/rng-cmpct.el (rng-c-error):
18102         * lisp/nxml/rng-match.el (rng-compile-error):
18103         * lisp/nxml/rng-uri.el (rng-uri-error):
18104         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
18105         * lisp/org/org-ctags.el:
18106         (org-ctags-ask-rebuild-tags-file-then-find-tag):
18107         * lisp/proced.el (proced-log):
18108         * lisp/progmodes/ebnf2ps.el (ebnf-log):
18109         * lisp/progmodes/flymake.el (flymake-log):
18110         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
18111         * lisp/replace.el (occur-1):
18112         * lisp/simple.el (execute-extended-command)
18113         (undo-outer-limit-truncate, define-alternatives):
18114         * lisp/startup.el (command-line):
18115         * lisp/subr.el (error, user-error, add-to-list):
18116         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
18117         (tutorial--find-changed-keys):
18118         * src/callint.c (Fcall_interactively):
18119         * src/editfns.c (Fmessage, Fmessage_box):
18120         Restyle the quotes of format strings intended for use as a
18121         diagnostic, when restyling seems appropriate.
18122         * lisp/subr.el (format-message): New function.
18123         * src/doc.c (Finternal__text_restyle): New function.
18124         (syms_of_doc): Define it.
18126 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18128         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
18130 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18132         python.el: Fix python-shell-buffer-substring on indented code
18133         (Bug#21086)
18134         * lisp/progmodes/python.el (python-shell-buffer-substring):
18135         Respect current line indentation when calculating string.
18136         * test/automated/python-tests.el
18137         (python-shell-buffer-substring-10)
18138         (python-shell-buffer-substring-11)
18139         (python-shell-buffer-substring-12): New tests.
18141 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18143         Fix minor glitches from ‘format’ reversion
18144         * doc/lispref/strings.texi (Formatting Strings):
18145         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
18146         Documentation’, not below.
18147         * src/syntax.c (Finternal_describe_syntax_value):
18148         Prefer AUTO_STRING to build_string where either will do, as
18149         AUTO_STRING is a bit faster.
18151 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18153         python.el: Defer shell setup code until first interactive prompt
18154         * lisp/progmodes/python.el
18155         (python-shell-comint-watch-for-first-prompt-output-filter):
18156         New function.
18157         (inferior-python-mode): Use it.
18158         (python-shell-first-prompt-hook): New hook.
18159         (python-shell-send-setup-code)
18160         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
18161         this hook instead of inferior-python-hook.
18163 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
18165         Remove the calls to `seq-into` from `seq-concatenate`
18166         Since most new types of seq would have to be defined as sequences (cons
18167         cells or CL structs, mostly), there is no need to convert the seqs to
18168         sequences (which can be a fairly expensive operation).
18169         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
18170         sequences.
18172 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18174         python.el: Fix completion for pdb interactions
18175         * lisp/progmodes/python.el (python-shell-completion-setup-code):
18176         Simplify.  Toggle print_mode for native wrapped completer.
18177         (python-shell-completion-native-setup): Ensure process buffer.
18178         Add print_mode attribute to completer wrapper to toggle returning
18179         or printing candidates.
18180         (python-shell-completion-native-get-completions): Cleanup.
18181         (python-shell-completion-get-completions): Cleanup.
18182         (python-shell-completion-at-point): Perform prompt checks.
18183         Force fallback completion in pdb interactions.
18185 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
18187         Make seq.el more extensible by using cl-defmethod
18188         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
18189         make it easier to extend seq.el with new "seq types".
18190         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
18191         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
18192         subseq in cl-extra.el, and use it in seq.el.
18194 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18196         python.el: Fix prompt detection with user overridden interpreter
18197         * lisp/progmodes/python.el (python-shell-prompt-detect):
18198         Honor buffer local python-shell-interpreter and
18199         python-shell-interpreter-interactive-arg.
18201 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
18203         Support exec-directory with non-ASCII characters on Windows
18204         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
18205         in the system's ANSI codepage, when it is used for invoking
18206         cmdproxy.
18208 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
18210         Revert "Extend ‘format’ to translate curved quotes"
18211         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
18213         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
18214         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
18216 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
18218         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers):
18219         Clarify "invisible window".
18221 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
18223         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
18224         magic-fallback-mode-alist.
18226 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18228         python.el: fallback completion, ffap and eldoc setup enhancements
18229         Setup codes are now sent continuously so that the current frame is
18230         always taken into account.  This allows working within debuggers
18231         and always keeping a fresh version of setup codes that will return
18232         proper results.
18233         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
18234         (python-shell-send-setup-code): Send code only when
18235         python-shell-setup-codes is non-nil.
18236         (python-shell-completion-string-code): Cleanup trailing newline.
18237         (python-shell-completion-get-completions): Always use
18238         python-shell-completion-setup-code.
18239         (python-ffap-setup-code): Work with any object, not only modules.
18240         (python-ffap-string-code): Cleanup trailing newline.
18241         (python-ffap-module-path): Always use python-ffap-setup-code.
18242         (python-eldoc-string-code): Cleanup trailing newline.
18243         (python-eldoc--get-doc-at-point): Always use
18244         python-eldoc-setup-code.  Return non-nil only if docstring is
18245         found.
18247         python.el: Increase native completion robustness
18248         * lisp/progmodes/python.el (python-shell-completion-native-setup):
18249         Make completer print real candidates and just return dummy ones to
18250         avoid input modification.
18251         (python-shell-completion-native-get-completions): Set
18252         comint-redirect-insert-matching-regexp to non-nil and make
18253         comint-redirect-finished-regexp match the last dummy candidate.
18254         Use python-shell-accept-process-output to wait for the full list
18255         of candidates.
18257 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
18259         Fix invocation of programs via cmdproxy.exe
18260         * src/w32proc.c (sys_spawnve): Use exec-directory, not
18261         invocation-directory, for finding cmdproxy.exe.  When Emacs is
18262         run from the source tree, look for cmdproxy.exe in the same source
18263         tree.  (Bug#21323)
18265 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
18267         Handle comments inside unquoted URIs in css-mode
18268         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
18269         (css-syntax-propertize-function): New defconst.
18270         (css--font-lock-keywords): Handle parens around unquoted URIs.
18271         (css-mode): Set `syntax-propertize-function'.
18273 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
18275         Support invocation of Hunspell with multiple dictionaries
18276         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file):
18277         Support lists of dictionaries of the form "DICT1,DICT2,...".
18278         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
18280         Minor formatting changes in ispell.el
18281         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
18282         (ispell-print-if-debug, ispell-aspell-find-dictionary)
18283         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
18284         (ispell-hunspell-dictionary-alist)
18285         (ispell-hunspell-fill-dictionary-entry)
18286         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
18287         (ispell-buffer-with-debug, ispell-complete-word)
18288         (ispell-current-dictionary, ispell-current-personal-dictionary)
18289         (ispell-accept-output, ispell-minor-mode)
18290         (ispell-personal-dictionary, ispell-dictionary-alist)
18291         (ispell-really-aspell, ispell-really-hunspell)
18292         (ispell-encoding8-command, ispell-aspell-supports-utf8)
18293         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
18294         Fix whitespace, inconsistent capitalization, and arguments in doc
18295         strings.
18297 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
18299         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
18300         function refused to resize a size-preserved window.
18302 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
18304         * doc/lispref/windows.texi (Selecting Windows): Improve
18305         documentation and indexing of 'window-use-time'.
18307 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
18309         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
18310         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
18311         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
18312         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
18313         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
18314         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
18315         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
18316         Fix up commenting style.
18318 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
18320         text-quoting-style in emacs-lisp diagnostics
18321         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
18322         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
18323         (ad-disable-advice, ad-remove-advice, ad-set-argument)
18324         (ad-set-arguments):
18325         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
18326         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
18327         (byte-optimize-while, byte-optimize-apply):
18328         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
18329         (byte-compile-log-file, byte-compile-format-warn)
18330         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
18331         (byte-compile-cl-warn)
18332         (byte-compile-warn-about-unresolved-functions)
18333         (byte-compile-file, byte-compile-fix-header)
18334         (byte-compile--declare-var, byte-compile-file-form-defmumble)
18335         (byte-compile-form, byte-compile-normal-call)
18336         (byte-compile-variable-ref, byte-compile-variable-set)
18337         (byte-compile-subr-wrong-args, byte-compile-setq-default)
18338         (byte-compile-negation-optimizer)
18339         (byte-compile-condition-case--old)
18340         (byte-compile-condition-case--new, byte-compile-save-excursion)
18341         (byte-compile-defvar, byte-compile-autoload)
18342         (byte-compile-lambda-form)
18343         (byte-compile-make-variable-buffer-local, display-call-tree)
18344         (batch-byte-compile):
18345         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
18346         (cconv-analyze-form):
18347         * lisp/emacs-lisp/chart.el (chart-space-usage):
18348         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
18349         (check-declare-warn, check-declare-file)
18350         (check-declare-directory):
18351         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
18352         (checkdoc-message-text-engine):
18353         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
18354         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
18355         (cl-symbol-macrolet):
18356         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
18357         * lisp/emacs-lisp/copyright.el (copyright)
18358         (copyright-update-directory):
18359         * lisp/emacs-lisp/edebug.el (edebug-read-list):
18360         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
18361         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
18362         (eieio-oref, eieio-oset-default):
18363         * lisp/emacs-lisp/eieio-speedbar.el:
18364         (eieio-speedbar-child-make-tag-lines)
18365         (eieio-speedbar-child-description):
18366         * lisp/emacs-lisp/eieio.el (defclass, change-class):
18367         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
18368         (elint-init-form, elint-check-defalias-form)
18369         (elint-check-let-form):
18370         * lisp/emacs-lisp/ert.el (ert-get-test):
18371         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
18372         (find-function-library):
18373         * lisp/emacs-lisp/generator.el (iter-yield):
18374         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
18375         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
18376         * lisp/emacs-lisp/package-x.el (package-upload-file):
18377         * lisp/emacs-lisp/package.el (package-version-join)
18378         (package-disabled-p, package-activate-1, package-activate)
18379         (package--download-one-archive)
18380         (package--download-and-read-archives)
18381         (package-compute-transaction, package-install-from-archive)
18382         (package-install, package-install-selected-packages)
18383         (package-delete, package-autoremove)
18384         (package-install-button-action, package-delete-button-action)
18385         (package-menu-hide-package, package-menu--list-to-prompt)
18386         (package-menu--perform-transaction)
18387         (package-menu--find-and-notify-upgrades):
18388         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
18389         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
18390         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
18391         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
18392         * lisp/emacs-lisp/smie.el (smie-config-save):
18393         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
18394         * lisp/emacs-lisp/testcover.el (testcover-1value):
18395         Use curved quotes in diagnostic format strings.
18397 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18399         python.el: Ensure remote process-environment on non-interactive processes
18400         * lisp/progmodes/python.el
18401         (python-shell-tramp-refresh-process-environment): New function.
18402         (python-shell-with-environment): Use it.
18403         * test/automated/python-tests.el (python-shell-with-environment-2):
18404         Update.
18406         python.el: Enhancements to process environment setup.
18407         * lisp/progmodes/python.el (python-shell-process-environment)
18408         (python-shell-extra-pythonpaths, python-shell-exec-path)
18409         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
18410         (python-shell-setup-codes): Remove :safe.
18411         (python-shell-remote-exec-path): New defcustom.
18412         (python-shell--add-to-path-with-priority): New macro.
18413         (python-shell-calculate-pythonpath): Give priority to
18414         python-shell-extra-pythonpaths.  Update docstring.
18415         (python-shell-calculate-process-environment): Give priority to
18416         python-shell-process-environment.  Update docstring.
18417         (python-shell-calculate-exec-path): Give priority to
18418         python-shell-exec-path and calculated virtualenv bin directory.
18419         Update docstring.
18420         (python-shell-tramp-refresh-remote-path): New function.
18421         (python-shell-with-environment): Use it when working remotely and
18422         do not modify tramp-remote-path.  Allow nesting.
18423         (python-shell-calculate-command): Remove useless
18424         python-shell-with-environment call.
18425         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
18426         (python-shell-calculate-pythonpath-2)
18427         (python-shell-calculate-process-environment-6)
18428         (python-shell-calculate-process-environment-7)
18429         (python-shell-calculate-process-environment-8)
18430         (python-shell-calculate-exec-path-3)
18431         (python-shell-calculate-exec-path-4)
18432         (python-shell-calculate-exec-path-5)
18433         (python-shell-calculate-exec-path-6)
18434         (python-shell-with-environment-3): New tests.
18435         (python-shell-calculate-process-environment-2)
18436         (python-shell-calculate-process-environment-3)
18437         (python-shell-calculate-process-environment-4)
18438         (python-shell-calculate-process-environment-5)
18439         (python-shell-calculate-exec-path-1)
18440         (python-shell-calculate-exec-path-2)
18441         (python-shell-with-environment-1)
18442         (python-shell-with-environment-2): Update and simplify.
18444 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
18446         Avoid hard-coding "M-x command" in docstrings
18447         * lisp/calendar/todo-mode.el (todo-mode):
18448         * lisp/desktop.el (desktop-save-mode):
18449         * lisp/edmacro.el (edit-kbd-macro):
18450         * lisp/emacs-lisp/package.el (package-menu-execute):
18451         * lisp/emulation/viper-cmd.el (viper-ask-level):
18452         * lisp/emulation/viper-init.el (viper-expert-level):
18453         * lisp/filesets.el (filesets-add-buffer):
18454         * lisp/follow.el (follow-mode):
18455         * lisp/gnus/auth-source.el (auth-sources):
18456         * lisp/international/ogonek.el (ogonek-informacja)
18457         (ogonek-information):
18458         * lisp/net/tramp.el (tramp-process-actions):
18459         * lisp/org/org-gnus.el (org-gnus-no-new-news):
18460         * lisp/org/org.el (org-ellipsis):
18461         * lisp/progmodes/python.el (python-shell-get-process-or-error):
18462         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
18463         * lisp/server.el (server-start):
18464         * lisp/type-break.el (type-break-noninteractive-query):
18465         * lisp/userlock.el (ask-user-about-supersession-help):
18466         * lisp/whitespace.el (whitespace-report-region):
18467         Prefer (substitute-command-keys "`\\[foo-command]'")
18468         to "`M-x foo-command'" in docstrings and the like.
18470 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
18472         Use add-function for prettify-symbols-compose-predicate
18473         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
18474         prettify-symbols-compose-predicate in terms of add-function.
18475         * etc/NEWS: Mention prettify-symbols-compose-predicate and
18476         prettify-symbols-mode support in tex-mode.
18478 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
18480         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun.
18481         (smie-indent-exps, smie-indent-keyword): Use it.
18482         * test/indent/css-mode.css: Test alignment with leading comment.
18484 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
18486         Respect text-quoting-style in (*Finder*) menus
18487         * lisp/info.el (info--prettify-description):
18488         Treat description as a docstring, so that it's requoted as
18489         per text-quoting-style.
18491 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
18493         Document `window-use-time' in Elisp manual
18494         * doc/lispref/windows.texi (Selecting Windows): Document
18495         `window-use-time'.
18497 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
18499         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.
18500         This is a cleaner fix for Bug#21260 than the previous change.
18502 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
18504         Respect text-quoting-style in calc
18505         In calc, tespect text-quoting-style preference in diagnostic
18506         formats and fix a few similar problems in docstrings.
18507         * lisp/calc/calc-aent.el (math-read-factor):
18508         * lisp/calc/calc-embed.el (calc-do-embedded):
18509         * lisp/calc/calc-ext.el (calc-user-function-list)
18510         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
18511         * lisp/calc/calc-help.el (calc-describe-key)
18512         (calc-describe-thing):
18513         * lisp/calc/calc-lang.el (calc-c-language)
18514         (math-parse-fortran-vector-end, math-parse-tex-sum)
18515         (math-parse-eqn-matrix, math-parse-eqn-prime)
18516         (calc-yacas-language, calc-maxima-language, calc-giac-language)
18517         (math-read-big-rec, math-read-big-balance):
18518         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
18519         (calc-auto-recompute):
18520         * lisp/calc/calc-prog.el (calc-user-define-invocation)
18521         (math-do-arg-check):
18522         * lisp/calc/calc-store.el (calc-edit-variable):
18523         * lisp/calc/calc-units.el (math-build-units-table-buffer):
18524         * lisp/calc/calc-vec.el (math-read-brackets):
18525         * lisp/calc/calc-yank.el (calc-edit-mode):
18526         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
18527         Use curved quotes in diagnostic format strings.
18528         * lisp/calc/calc-help.el (calc-describe-thing):
18529         Format docstrings with substitute-command-keys.
18530         * lisp/calc/calc-help.el (calc-j-prefix-help):
18531         * lisp/calc/calc-misc.el (calc-help):
18532         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
18533         Escape a docstring "`".
18535 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
18537         Fix documentation of 'menu-set-font' and 'set-frame-font'
18538         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
18539         * doc/lispref/frames.texi (Frame Font): Document that
18540         set-frame-font with the last argument 't' will also make the font
18541         the default for the future GUI frames.
18543         Document '--create-frame' option to emacsclient
18544         * doc/emacs/misc.texi (emacsclient Options): Document the
18545         '--create-frame' option.  (Bug#21308)
18547 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
18549         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
18551 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
18553         Document 'get-mru-window' in the ELisp manual
18554         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
18555         'get-mru-window'.  (Bug#21306)
18557         Clarify documentation of 'get-buffer-window-list'
18558         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
18559         current window, if relevant, will be the first in the list
18560         returned by 'get-buffer-window-list'.
18561         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
18563 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
18565         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
18566         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
18567         `switch-to-buffer'.
18569 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
18571         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
18572         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
18573         `display-buffer' instead of `switch-to-buffer'.
18575 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
18577         Follow user preference in calendar diagnostics
18578         Respect text-quoting-style preference in diagnostic formats by
18579         using curved quotes (which are translated as per text-quoting-style)
18580         instead of grave accent and apostrophe (which are not).
18581         * lisp/calendar/appt.el (appt-display-message):
18582         * lisp/calendar/diary-lib.el (diary-check-diary-file)
18583         (diary-mail-entries, diary-from-outlook):
18584         * lisp/calendar/icalendar.el (icalendar-export-region)
18585         (icalendar--convert-float-to-ical)
18586         (icalendar--convert-date-to-ical)
18587         (icalendar--convert-ical-to-diary)
18588         (icalendar--convert-recurring-to-diary)
18589         (icalendar--add-diary-entry):
18590         * lisp/calendar/time-date.el (format-seconds):
18591         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
18592         (timeclock-make-hours-explicit):
18593         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
18594         (todo-item-mark, todo-check-format)
18595         (todo-insert-item--next-param, todo-edit-item--next-key)
18596         (todo-mode):
18597         Use curved quotes in diagnostic format strings.
18598         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
18599         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
18600         Just use straight quoting for simple test case.
18602 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
18604         * src/gfilenotify.c (Fgfile_add_watch):
18605         Handle errors from g_file_monitor.
18607 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
18609         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
18610         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
18611         frame" instead of "non-minibuffer frame".
18613         Fix frame geometry related text
18614         * doc/lispref/frames.texi (Frame Layout):
18615         Rename `x-frame-geometry' to `frame-geometry'.
18616         * doc/lispref/frames.texi (Mouse Position):
18617         * doc/lispref/windows.texi (Coordinates and Windows):
18618         Use `set-mouse-absolute-pixel-position' instead of
18619         `x-set-mouse-absolute-pixel-position'.
18621         Sanitize frame geometry related functions
18622         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
18623         (Fx_frame_edges): Rename to Fns_frame_edges.
18624         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
18625         (Fx_frame_edges): Rename to Fw32_frame_edges.
18626         (Fx_mouse_absolute_pixel_position): Rename to
18627         Fw32_mouse_absolute_pixel_position.
18628         (Fx_set_mouse_absolute_pixel_position): Rename to
18629         Fw32_set_mouse_absolute_pixel_position.
18630         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
18631         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
18632         (ns-frame-edges, w32-mouse-absolute-pixel-position)
18633         (x-mouse-absolute-pixel-position)
18634         (w32-set-mouse-absolute-pixel-position)
18635         (x-set-mouse-absolute-pixel-position): Declare.
18636         (frame-geometry, mouse-absolute-pixel-position)
18637         (set-mouse-absolute-pixel-position): New functions.
18638         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
18640 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
18642         Fix MinGW64 build broken by latest w32uniscribe.c changes
18643         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
18644         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
18645         (Bug#21260)
18647 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
18649         Add TeX defaults for prettify-symbol-mode
18650         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
18651         Rename from tex-prettify-symbols-alist.
18652         (tex--prettify-symbols-compose-p): New function.
18653         (tex-common-initialization): Use them as prettify-symbols-alist
18654         and prettify-symbols-compose-predicate.
18656         Generalize prettify-symbols to arbitrary modes
18657         * lisp/progmodes/prog-mode.el
18658         (prettify-symbols-default-compose-p): New function.
18659         (prettify-symbols-compose-predicate): New variable.
18660         (prettify-symbols--compose-symbol): Use it.
18662 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18664         Don't quote symbols 'like-this' in docstrings etc.
18665         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
18666         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
18667         * lisp/allout.el (allout-add-resumptions, allout-mode):
18668         * lisp/calculator.el (calculator-operators):
18669         * lisp/cedet/data-debug.el (dd-propertize):
18670         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
18671         * lisp/cedet/semantic/analyze/debug.el:
18672         (semantic-analyzer-debug-global-miss-text):
18673         * lisp/cedet/semantic/lex-spp.el:
18674         (semantic-lex-spp-replace-or-symbol-or-keyword):
18675         * lisp/cedet/semantic/symref.el:
18676         (semantic-symref-cleanup-recent-buffers-fcn):
18677         * lisp/cedet/semantic/tag.el (semantic-tag-class):
18678         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
18679         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
18680         * lisp/gnus/pop3.el (pop3-authentication-scheme):
18681         * lisp/help-fns.el (describe-function-orig-buffer):
18682         * lisp/imenu.el (imenu--history-list):
18683         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
18684         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
18685         (feedmail-queue-default-file-slug)
18686         (feedmail-queue-buffer-file-name):
18687         * lisp/net/mairix.el (mairix-searches-mode-map):
18688         * lisp/net/newst-backend.el (newsticker-retrieval-method)
18689         (newsticker-auto-mark-filter-list):
18690         * lisp/obsolete/vi.el (vi-mode):
18691         * lisp/progmodes/cc-engine.el (c-literal-type):
18692         * lisp/progmodes/cpp.el (cpp-face):
18693         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
18694         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
18695         * lisp/progmodes/pascal.el (pascal-auto-lineup):
18696         * lisp/progmodes/prog-mode.el (prog-widen):
18697         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
18698         (verilog-auto-lineup, verilog-auto-reset-widths)
18699         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
18700         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
18701         (flyspell-maybe-correct-doubling):
18702         * lisp/textmodes/table.el (table-justify, table-justify-cell)
18703         (table-justify-row, table-justify-column, table-insert-sequence)
18704         (table--justify-cell-contents):
18705         * lisp/url/url-auth.el (url-get-authentication):
18706         * lisp/window.el (display-buffer-record-window):
18707         * lisp/xml.el (xml-parse-file, xml-parse-region):
18708         * src/gfilenotify.c (Fgfile_add_watch):
18709         Don't quote symbols with apostrophes in doc strings.
18710         Use asymmetric quotes instead.
18711         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
18712         Likewise for symbol in diagnostic.
18713         * lisp/image.el (image-extension-data):
18714         * lisp/register.el (frame-configuration-to-register):
18715         * src/buffer.c (syms_of_buffer):
18716         Remove bogus apostrophes after symbols.
18717         * lisp/thumbs.el (thumbs-conversion-program):
18718         Quote Lisp string values using double-quotes, not apostrophes.
18720 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
18722         Describe frame geometry and related functions in Elisp manual
18723         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
18724         (Showing Images): Update references.
18725         * doc/lispref/elisp.texi (Top): Update node listing.
18726         * doc/lispref/frames.texi (Frame Geometry): New node.
18727         Move `Size and Position' section here.
18728         (Size Parameters): Update references.
18729         (Mouse Position): Update references and nomenclature.
18730         Describe new functions `x-mouse-absolute-pixel-position' and
18731         `x-set-mouse-absolute-pixel-position'.
18732         * doc/lispref/windows.texi (Window Sizes): Update references.
18733         (Resizing Windows): Update references.  Move description of
18734         `fit-frame-to-buffer' here.
18735         (Coordinates and Windows): Update nomenclature and references.
18736         Describe new arguments of `window-edges'.  Comment out
18737         descriptions of `window-left-column', `window-top-line',
18738         `window-pixel-left' and `window-pixel-top'.  Describe
18739         `window-absolute-pixel-position'.
18741 2015-08-20  Alan Mackenzie  <acm@muc.de>
18743         Handling of `c-parse-state'.  Fix low level bug.
18744         * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards):
18745         Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
18747 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
18749         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
18750         window instead of deleting it.
18752 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
18754         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
18755         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
18756         determine whether frame has a titlebar.
18757         Suggested by Eli Zaretskii <eliz@gnu.org>
18759 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
18761         Add a prettify-symbols-alist for (La)TeX
18762         * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist):
18763         New variable holding an alist suitable as prettify-symbols-alist in
18764         (La)TeX modes.
18766 2015-08-19  Alan Mackenzie  <acm@muc.de>
18768         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
18769         Fixes debbugs#21275.
18770         In Emacs >= 25, let electric-pair-mode take precedence over
18771         delete-selection-mode.
18772         * lisp/delsel.el (delete-selection-uses-region-p): New function,
18773         previously a lambda expression in a property value for
18774         `self-insert-command'.
18775         (top-level): Set the `delete-selection' property of
18776         `self-insert-command' to `delete-selection-uses-region-p'.
18777         * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection'
18778         property for c-electric-\(brace\|paren\) the value
18779         `delete-selection-uses-region-p' when the latter function exists.
18781 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18783         Fix key binding quoting in tutorial *Help*
18784         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
18785         When generating help for custom key bindings, use the user-preferred
18786         quoting style rather than hardcoding the grave style.
18788 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
18790         Improve and future-proof OTF fonts support in w32uniscribe.c
18791         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
18792         about the expected results and why the new Uniscribe APIs are not
18793         used in this function.
18794         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
18795         (ScriptGetFontFeatureTags_Proc): New function typedefs.
18796         (uniscribe_new_apis): New static variable.
18797         (uniscribe_check_features): New function, implements OTF features
18798         verification while correctly accounting for features in the list
18799         after the nil member, if any.
18800         (uniscribe_check_otf_1): New function, retrieves the features
18801         supported by the font for the requested script and language using
18802         the Uniscribe APIs available from Windows Vista onwards.
18803         (uniscribe_check_otf): If the new Uniscribe APIs are available,
18804         use them in preference to reading the font data directly.  Call
18805         uniscribe_check_features to verify that the requested features are
18806         supported, replacing the original incomplete code.
18807         (syms_of_w32uniscribe): Initialize function pointers for the new
18808         Uniscribe APIs.  (Bug#21260)
18809         (otf_features): Scan the script, langsys, and feature arrays back
18810         to front, so that the result we return has them in alphabetical
18811         order, like ftfont.c does.
18812         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
18813         New variable for debugging w32uniscribe.c code.
18815 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
18817         * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87
18818         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
18819         clause of `isearch-search-fun-default'.  That lax variable does not
18820         refer to lax-whitespacing.  Related to (bug#21777).
18821         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
18822         * lisp/character-fold.el (character-fold-search): Set to nil.
18823         Default to nil for now, until someone implements proper
18824         lax-whitespacing with char-fold searching.
18826 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
18828         Fix doc-string of `help-mode-finish'.
18829         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
18831         In nsimage.m include coding.h (Bug#21292)
18832         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
18834         Move window edge functions to Elisp.
18835         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
18836         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
18837         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
18838         Move to window.el.
18839         (calc_absolute_offset): Remove.
18840         * lisp/frame.el (frame-edges): New function.
18841         * lisp/window.el (window-edges, window-pixel-edges)
18842         (window-absolute-pixel-edges): Move here from window.c.
18843         (window-body-edges, window-body-pixel-edges)
18844         (window-absolute-body-pixel-edges): Move here from window.c and
18845         rename "inside" to "body".  Keep old names as aliases.
18846         (window-absolute-pixel-position): New function.
18848 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
18850         [Gnus]: Use overlay functions directly
18851         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
18852         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
18853         (gnus-article-highlight-signature, gnus-article-extend-url-button)
18854         (gnus-article-add-button, gnus-insert-prev-page-button)
18855         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
18856         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
18857         (gnus-cite-add-face):
18858         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
18859         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
18860         (gnus-tree-recenter, gnus-highlight-selected-tree):
18861         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
18862         (gnus-summary-show-thread, gnus-summary-hide-thread)
18863         (gnus-highlight-selected-summary):
18864         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
18865         * lisp/gnus/message.el (message-fix-before-sending)
18866         (message-toggle-image-thumbnails):
18867         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
18868         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
18869         Use overlay functions directly instead of using gnus-overlay-*,
18870         message-overlay-*, and sieve-overlay-*.
18871         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
18872         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
18873         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
18874         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
18875         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
18876         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
18877         (message-overlay-get, message-overlay-put, message-overlays-in):
18878         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
18879         (sieve-overlays-at): Remove.
18881 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
18883         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version
18884         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
18885         builds can use the declaration from the system headers.
18886         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
18887         definition of TITLEBAR_INFO.
18888         Suggested by Eli Zaretskii  <eliz@gnu.org>
18890 2015-08-19  Glenn Morris  <rgm@gnu.org>
18892         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
18894 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18896         Use new q ‘format’ flag when fixing quotes in C
18897         * src/image.c (image_size_error): New function.  All uses of
18898         image_error with "Invalid image size ..."  changed to use it.
18899         * src/image.c (image_size_error, xbm_load_image, xbm_load)
18900         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
18901         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
18902         (imagemagick_load, svg_load, svg_load_image, gs_load)
18903         (x_kill_gs_process):
18904         * src/lread.c (load_warn_old_style_backquotes):
18905         * src/xfaces.c (load_pixmap):
18906         * src/xselect.c (x_clipboard_manager_error_1):
18907         Use %qs, not uLSQM and uRSQM.
18908         * src/syntax.c (Finternal_describe_syntax_value):
18909         Prefer Fsubstitute_command_keys to Fformat, as this lets
18910         us use AUTO_STRING.
18911         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
18912         as it's now guaranteed to be ASCII.
18913         * src/xselect.c (x_clipboard_manager_error_2):
18914         Avoid grave accent in low-level stderr diagnostic.
18916 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
18918         New q flag for ‘format’
18919         * doc/lispref/processes.texi (Sentinels):
18920         Don't hardwire grave quoting style in example.
18921         * doc/lispref/strings.texi (Formatting Strings):
18922         * etc/NEWS:
18923         Document new q flag.
18924         * src/editfns.c (Fformat): Implement it.
18926 2015-08-18  Daiki Ueno  <ueno@gnu.org>
18928         pinentry.el: Add debugging support
18929         * lisp/net/pinentry.el (pinentry-debug): New variable.
18930         (pinentry-debug-buffer): New variable.
18931         (pinentry--process-filter): Send input to the debug buffer, if
18932         `pinentry-debug' is set.
18934         pinentry.el: Improve multiline prompt
18935         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
18936         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
18937         command.
18939 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
18941         Fix multibyte confusion in diagnostics
18942         * src/print.c (print_error_message):
18943         Don't assume that the caller's name is unibyte.
18944         * src/xdisp.c (vadd_to_log):
18945         Don't assume that the formatted diagnostic is unibyte.
18947         Fix file name encodings in diagnostics
18948         Also, close some minor races when opening image files, by opening
18949         them once instead of multiple times.
18950         * src/gtkutil.c (xg_get_image_for_pixmap):
18951         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
18952         (svg_load):
18953         * src/nsimage.m (allocInitFromFile:):
18954         * src/xfns.c (xg_set_icon):
18955         Encode file name, since x_find_image_file no longer does that.
18956         * src/image.c (x_find_image_fd): New function.
18957         (x_find_image_file): Use it.  Do not encode resulting file name,
18958         since callers sometimes need it decoded.
18959         (slurp_file): File arg is now a fd, not a file name.
18960         All callers changed.  This saves us having to open the file twice.
18961         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
18962         (svg_load):
18963         Use x_find_image_fd and fdopen to save a file-open.
18964         Report file name that failed.
18965         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
18967 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
18969         Allow blink-matching-paren to jump off screen
18970         * doc/emacs/programs.texi (Matching): Mention the
18971         `blink-matching-paren' value `jump-offscreen'.
18972         * lisp/simple.el (blink-matching-paren): New possible value.
18973         (blink-matching-paren-on-screen): Clarify the docstring.
18974         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
18976         Refine the previous change
18977         * lisp/simple.el (blink-matching-open): Use minibuffer-message
18978         outside of save-excursion (bug#21286).
18980 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
18982         Rewrite and add frame geometry related functions.
18983         * src/frame.c (Fframe_position): New function.
18984         (Fset_frame_position): Rename parameters and rewrite doc-string.
18985         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
18986         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
18987         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
18988         Qtitle_bar_size.
18989         * src/nsfns.m (frame_geometry): New function.
18990         (Fx_frame_geometry): Call frame_geometry.
18991         (Fx_frame_edges): New function.
18992         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
18993         (GetTitleBarInfo_Proc): Define these so we can use the
18994         GetTitleBarInfo API.
18995         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
18996         (Fx_frame_geometry): Rewrite.
18997         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
18998         (Fx_set_mouse_absolute_pixel_position): New functions.
18999         * src/xfns.c (frame_geometry): New function.
19000         (Fx_frame_geometry): Call frame_geometry.
19001         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
19002         (Fx_set_mouse_absolute_pixel_position): New functions.
19004 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
19006         Improve Tramp's compatibility
19007         * lisp/net/tramp.el (tramp-get-method-parameter):
19008         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
19009         (tramp-adb-get-device):
19010         * lisp/net/trampver.el (tramp-repository-get-version):
19011         Use `tramp-compat-replace-regexp-in-string'.
19013 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
19015         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
19016         Encode/decode string.
19018 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
19020         Clarify what happens to match data on failure
19021         Problem reported by Ernesto Alfonso (Bug#21279).
19022         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
19023         Document more carefully what happens to match data after a failed
19024         search.
19025         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
19026         the return value is undefined if the last search failed.
19027         (Fmatch_data): Simplify doc string line 1.
19029 2015-08-18  Daiki Ueno  <ueno@gnu.org>
19031         Revert "pinentry.el: Support external passphrase cache"
19032         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
19033         pinentry.el shouldn't directly interact with the secrets service,
19034         but ask the caller to cache the passphrase.
19036 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
19038         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
19039         Message mode hooks.
19041 2015-08-17  Daiki Ueno  <ueno@gnu.org>
19043         epg.el: Make gpgconf output parsing future proof
19044         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
19045         --list-options" output.
19047         pinentry.el: Support external passphrase cache
19048         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
19049         (pinentry--allow-external-password-cache): New local variable.
19050         (pinentry--key-info): New local variable.
19051         (secrets-enabled, secrets-search-items, secrets-get-secret):
19052         Declare.
19053         (pinentry--send-passphrase): New function, split from
19054         `pinentry--process-filter'.
19055         (pinentry--process-filter): Use secrets.el to retrieve passphrase
19056         from login keyring.
19058         pinentry.el: Popup window for multiline prompt
19059         * lisp/net/pinentry.el (pinentry): New custom group.
19060         (pinentry-popup-prompt-window): New user option.
19061         (pinentry-prompt-window-height): New user option.
19062         (pinentry--prompt-buffer): New variable.
19063         (pinentry-prompt-mode-map): New variable.
19064         (pinentry-prompt-mode): New function.
19065         (pinentry--prompt): New function.
19066         (pinentry--process-filter): Use `pinentry--prompt' instead of
19067         `read-passwd' and `y-or-n-p'.
19069 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
19071         message.el: Silent the byte compiler
19072         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
19073         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
19074         (message-delete-overlay, message-window-inside-pixel-edges):
19075         Declare before using.
19077         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
19078         (message-window-inside-pixel-edges): XEmacs compatible functions.
19080 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
19082         * lisp/gnus/message.el (message-toggle-image-thumbnails): New command.
19084 2015-08-17  Noah Friedman  <friedman@splode.com>
19086         * lisp/simple.el (blink-matching-open): Restore point before
19087         calling minibuffer-message.
19089 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
19091         * lisp/play/dunnet.el: Update version number in header (now
19092         matches help).
19094 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
19096         Curved quotes in --batch diagnostics in non-UTF-8
19097         When run with --batch, check that curved quotes are compatible with
19098         the system locale before outputting them in diagnostics.
19099         Problem reported by Eli Zaretskii in:
19100         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
19101         * lisp/startup.el (command-line): Set internal--text-quoting-flag
19102         after the standard display table is initialized.
19103         * src/doc.c (default_to_grave_quoting_style): New function.
19104         (text_quoting_style): Use it.
19105         (text_quoting_flag): New static var, visible to Lisp as
19106         internal--text-quoting-flag.
19107         * src/emacs.c: Include <wchar.h> if available.
19108         (using_utf8): New function.
19109         (main): Use it to initialize text_quoting_flag.
19110         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
19111         Don't define, as it's not needed and it clashes with wchar.h.
19113 2015-08-17  Glenn Morris  <rgm@gnu.org>
19115         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
19116         from makeinfo about spurious "Note:" cross-reference, and for grammar.
19118 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
19120         Minor change in variable initialization on MS-Windows
19121         * src/w32fns.c <after_dead_key>: Initialize to -1.
19122         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
19123         non-zero.
19125         Fix a bug with LWindow key remapping on MS-Windows
19126         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
19128 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
19130         Improve fontset support for latest OTF script tags
19131         * lisp/international/fontset.el (otf-script-alist): Add some
19132         missing script tags.
19133         (setup-default-fontset): Include settings for v2 versions of the
19134         script tags used by some modern OTF/TTF fonts.
19136 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
19138         Spelling fixes
19140 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
19142         Use curved quotes in core elisp diagnostics
19143         In the core elisp files, use curved quotes in diagnostic formats,
19144         so that they follow user preference as per ‘text-quoting-style’
19145         rather than being hard-coded to quote `like this'.
19146         * lisp/abbrev.el (expand-region-abbrevs):
19147         * lisp/button.el (button-category-symbol, button-put)
19148         (make-text-button):
19149         * lisp/cus-start.el:
19150         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
19151         (custom--sort-vars-1, load-theme):
19152         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
19153         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
19154         (cl-generic-generalizers):
19155         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
19156         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
19157         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
19158         (advice--make, define-advice):
19159         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
19160         * lisp/emacs-lisp/timer.el (timer-event-handler):
19161         * lisp/env.el (setenv):
19162         * lisp/facemenu.el (facemenu-add-new-face)
19163         (facemenu-add-new-color):
19164         * lisp/faces.el (face-documentation, read-face-name)
19165         (face-read-string, read-face-font, face-spec-set-match-display)
19166         (read-color, x-resolve-font-name):
19167         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
19168         (set-auto-mode, hack-local-variables)
19169         (hack-one-local-variable--obsolete)
19170         (dir-locals-set-directory-class, write-file)
19171         (basic-save-buffer, delete-directory, copy-directory)
19172         (recover-session, recover-session-finish, insert-directory)
19173         (file-modes-char-to-who, file-modes-symbolic-to-number)
19174         (move-file-to-trash):
19175         * lisp/font-lock.el (font-lock-fontify-buffer):
19176         * lisp/format.el (format-write-file, format-find-file)
19177         (format-insert-file):
19178         * lisp/frame.el (get-device-terminal, select-frame-by-name):
19179         * lisp/fringe.el (fringe--check-style):
19180         * lisp/help.el (describe-minor-mode-from-indicator):
19181         * lisp/image.el (image-type):
19182         * lisp/international/fontset.el (x-must-resolve-font-name):
19183         * lisp/international/mule-cmds.el (prefer-coding-system)
19184         (select-safe-coding-system-interactively)
19185         (select-safe-coding-system, activate-input-method)
19186         (toggle-input-method, describe-current-input-method):
19187         * lisp/international/mule-conf.el (code-offset):
19188         * lisp/mouse.el (minor-mode-menu-from-indicator):
19189         * lisp/replace.el (query-replace-read-from)
19190         (occur-after-change-function, occur-1):
19191         * lisp/scroll-bar.el (scroll-bar-columns):
19192         * lisp/simple.el (execute-extended-command)
19193         (undo-outer-limit-truncate, compose-mail, set-variable)
19194         (choose-completion-string, define-alternatives):
19195         * lisp/startup.el (site-run-file, tty-handle-args)
19196         (command-line, command-line-1):
19197         * lisp/subr.el (noreturn, define-error, add-to-list)
19198         (read-char-choice):
19199         * lisp/term/common-win.el (x-handle-xrm-switch)
19200         (x-handle-name-switch, x-handle-args):
19201         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
19202         Use curved quotes in diagnostics.
19203         * lisp/international/mule.el (find-auto-coding):
19204         Use " to quote in a diagnostic, to be consistent with the rest of
19205         this file.
19207         Convert lisp/term/x-win.el to UTF-8
19208         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
19209         runtime behavior, and the file is multilingual so compile-time
19210         appearance shouldn't be an issue.
19211         * admin/notes/unicode: Document this.
19213 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
19215         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
19216         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
19217         issues and comments, bug#943.
19218         (verilog-type-font-keywords): Cycle delay operators like ##1 and
19219         ##[0:$] are now highlighted in their entirety similarly to the #
19220         delay-control operator.  Likewise, the followed-by operators #-#
19221         and #=# are no longer partially highlighed.
19222         (verilog-backward-syntactic-ws-quick)
19223         (verilog-skip-backward-comments): Minor performance improvements
19224         to buffer traversal functions for reduced latency.
19225         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
19226         keyword 'final' follows 'assert/assume/cover', then it is part of
19227         a deferred immediate assertion item and should not be treated as a
19228         final construct for indentation.  Reported by Yuri Sugihara.
19229         (verilog-do-indent): Virtual task/function/class definition lines
19230         should not be considered as declarations.  Reported by Enzo Chi.
19231         (verilog-do-indent): Do not falsely indent to '=' of
19232         property/sequence operators on subsequent lines of a multi-line
19233         statement.
19234         (verilog-assignment-operator-re): Fix '!==' operator and add
19235         support for '<->', ':/', '#-#', and '#=#' operators.
19236         (verilog-calculate-indent, verilog-label-be): Enable
19237         case-sensitive regular expression parsing when looking for
19238         keywords.
19239         (verilog-calc-1): Detect 'pure virtual method' declarations which
19240         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
19241         (verilog-backward-ws&directives): When moving back to the start of
19242         a line and the preceeding line ended with an escaped-newline, then
19243         jump up one line.  This properly consumes a multi-line
19244         pre-processor directive.  Reported by Kaushal Modi.
19245         (verilog-dpi-import-export-re, verilog-extended-complete-re)
19246         (verilog-calc-1): Teach verilog-mode to properly indent after a
19247         DPI import/export statement that resides outside of a module.
19248         Reported by Kaushal Modi.
19249         (verilog-extended-complete-re): Update regexp to match both
19250         "DPI-C" and "DPI".  Reported by Kaushal Modi.
19252 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19254         substitute-command-keys a few more doc strings
19255         * lisp/allout.el (outlineify-sticky):
19256         * lisp/files.el (hack-one-local-variable--obsolete):
19257         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
19258         Use substitute-command-keys on some doc strings so that
19259         they don't use hard-coded key bindings or quoting styles.
19261         Fix quoting in Fformat calls
19262         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
19263         (xpm_load, xpm_load_image, pbm_load, png_load_body)
19264         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
19265         (imagemagick_load, svg_load, svg_load_image, gs_load)
19266         (x_kill_gs_process):
19267         * src/lread.c (load_warn_old_style_backquotes):
19268         * src/xfaces.c (load_pixmap):
19269         * src/xselect.c (x_clipboard_manager_error_1):
19270         Quote diagnostics according to user preference when calling
19271         Fformat or its derivatives.
19273 2015-08-15  Glenn Morris  <rgm@gnu.org>
19275         * admin/admin.el (set-version, set-copyright): Remove deleted files.
19277 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
19279         Allow describe-function helpers to access buffer-local values
19280         This will be used by cedet/mode-local.el `describe-mode-local-override'
19281         on `help-fns-describe-function-functions' in upstream CEDET.
19282         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
19283         `describe-function'.
19284         (describe-function): Bind it, save it on the help xref stack.
19286         Handle pulse-background being nil
19287         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
19288         pulse-background, handle it being nil.
19290 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19292         Fix "\`" confusion in Lisp strings
19293         * admin/authors.el (authors-canonical-author-name):
19294         Fix typo by using "\\`" not "\`" in string RE.
19295         * lisp/obsolete/complete.el (PC-complete-as-file-name):
19296         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
19297         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
19298         Use plain "`", not the equivalent-but-confusing "\`", in strings.
19299         * lisp/textmodes/texinfmt.el: Fix comment likewise.
19301 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
19303         * nt/zipdist.bat: Remove -- no longer used.
19305 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
19307         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
19308         rather than "getenforce".
19309         (tramp-sh-handle-set-file-selinux-context): Do not
19310         cache SELinux context if not all context components are given.
19312 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
19314         Add doc strings to 2 help-mode.el functions
19315         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
19316         strings.  (Bug#21263)
19318         Remove files used by the old MS-Windows specific build procedure
19319         * admin/unidata/makefile.w32-in:
19320         * doc/emacs/makefile.w32-in:
19321         * doc/lispintro/makefile.w32-in:
19322         * doc/lispref/makefile.w32-in:
19323         * doc/misc/makefile.w32-in:
19324         * leim/makefile.w32-in:
19325         * lib-src/makefile.w32-in:
19326         * lib/makefile.w32-in:
19327         * lisp/makefile.w32-in:
19328         * nt/INSTALL.OLD:
19329         * nt/config.nt:
19330         * nt/emacs-src.tags:
19331         * nt/envadd.bat:
19332         * nt/gmake.defs:
19333         * nt/makefile.w32-in:
19334         * nt/multi-install-info.bat:
19335         * nt/nmake.defs:
19336         * nt/paths.h:
19337         * src/makefile.w32-in: Files deleted.
19338         * nt/configure.bat: Remove everything except the blurb about the
19339         new build procedure.
19340         * make-dist: Remove references to makefile.w32-in in various
19341         directories, and to files in nt/ that were deleted.
19342         * etc/NEWS: Mention the fact that the files were dropped.
19344 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19346         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
19347         (Bug#21248)
19349 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
19351         Default to inotify instead of gfile
19352         * configure.ac (with_file_notification): Fix typo that
19353         prevented suppression of file notification if HAVE_NS.
19354         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
19355         with_file_notification is 'yes' (Bug#21241).
19356         * etc/NEWS: Mention this.
19358         Fix broken URLs for ISO-IR
19359         * doc/emacs/mule.texi (Charsets):
19360         * lisp/international/mule-conf.el:
19361         Fix broken URL (Bug#21248).
19363         Low-level diagnostics now use ‘text-quoting-style’
19364         * src/doprnt.c (doprnt):
19365         Format ` and ' as per ‘text-quoting-style’.
19366         * src/xdisp.c (vmessage, message): Mention that the format should
19367         not contain ` or '.
19369         Prefer ‘format’ to ‘substitute-command-keys’
19370         * src/character.h (uLSQM, uRSQM): Move here ...
19371         * src/doc.c (uLSQM, uRSQM): ... from here.
19372         * src/doc.c (Fsubstitute_command_keys):
19373         * src/syntax.c (Finternal_describe_syntax_value):
19374         * lisp/cedet/mode-local.el (mode-local-print-binding)
19375         (mode-local-describe-bindings-2):
19376         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
19377         * lisp/cus-theme.el (describe-theme-1):
19378         * lisp/descr-text.el (describe-text-properties-1, describe-char):
19379         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
19380         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
19381         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
19382         * lisp/emacs-lisp/package.el (describe-package-1):
19383         * lisp/faces.el (describe-face):
19384         * lisp/help-fns.el (help-fns--key-bindings)
19385         (help-fns--compiler-macro, help-fns--parent-mode)
19386         (help-fns--obsolete, help-fns--interactive-only)
19387         (describe-function-1, describe-variable):
19388         * lisp/help.el (describe-mode):
19389         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
19390         to implement quoting style.  This generally makes the code simpler.
19392         Extend ‘format’ to translate curved quotes
19393         This is a followup to the recent doc string change, and deals with
19394         diagnostics and the like.  This patch is more conservative than
19395         the doc string change, in that the behavior of ‘format’ changes
19396         only if its first arg contains curved quotes and the user prefers
19397         straight or grave quotes.  (Come to think of it, perhaps we should
19398         be similarly conservative with doc strings too, but that can wait.)
19399         The upside of this conservatism is that existing usage is almost
19400         surely unaffected.  The downside is that we'll eventually have to
19401         change Emacs's format strings to use curved quotes in places where
19402         the user might want curved quotes, but that's a simple and
19403         mechanical translation that I'm willing to do later.  (Bug#21222)
19404         * doc/lispref/help.texi (Keys in Documentation):
19405         Move description of text-quoting-style from here ...
19406         * doc/lispref/strings.texi (Formatting Strings):
19407         ... to here, and describe new behavior of ‘format’.
19408         * etc/NEWS: Describe new behavior.
19409         * lisp/calc/calc-help.el (calc-describe-thing):
19410         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
19411         * lisp/info.el (Info-find-index-name):
19412         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
19413         of recently-added curved quotes.
19414         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
19415         Move from here ...
19416         * src/lisp.h: ... to here.
19417         * src/doc.c (text_quoting_style): New function.
19418         (Fsubstitute_command_keys): Use it.
19419         * src/editfns.c (Fformat): Implement new behavior.
19420         * src/lisp.h (enum text_quoting_style): New enum.
19422 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
19424         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
19425         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
19427 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
19429         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
19430         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
19432 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
19434         Flush file properties in Tramp
19435         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
19436         (tramp-sh-handle-set-file-times):
19437         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
19438         (tramp-adb-handle-set-file-times): Flush the file properties of
19439         the directory.
19441 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
19443         * doc/emacs/misc.texi (Amusements): Fixed typo.
19445 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
19447         Don't miss warnings about removing string text properties while dumping
19448         * src/alloc.c (purecopy): Warn about removing a string's text
19449         properties even when the same string was already pure-copied
19450         earlier.
19451         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
19452         (elisp--xref-format-extra): Fix the commentary.
19454 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
19456         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049).
19458 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
19460         * lisp/progmodes/compile.el: Use lexical-binding.
19461         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
19463 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
19465         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
19466         * lisp/uniquify.el: Remove redundant `:group's.
19468 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
19470         * lisp/net/tramp-adb.el
19471         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
19472         result to prevent modification of the tramp-cache by side effects.
19473         Use the correct cache key.
19475 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
19477         Make add_to_log varargs
19478         * src/alloc.c (run_finalizer_handler):
19479         * src/charset.c (load_charset_map_from_vector):
19480         * src/nsimage.m (ns_load_image):
19481         * src/xfaces.c (load_pixmap, load_color2):
19482         Simplify, now that add_to_log has a variable number of args.
19483         * src/image.c (image_error): Take a variable number of args.
19484         Callers simplified.
19485         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
19486         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
19487         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
19488         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
19490         Optional args for holiday-greek-orthodox-easter
19491         * etc/NEWS: Document this.
19492         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
19493         Add optional args N and STRING, mimicking the API and code of
19494         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
19496 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
19498         xref-find-definitions: Exclude more generic function items.
19499         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
19500         Add doc string.
19501         (cl--generic-find-defgeneric-regexp): New.
19502         (find-function-regexp-alist): Add it.
19503         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
19504         elisp-mode.el, change to search for ";;; Code:"
19505         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
19506         (find-function-regexp-alist): Add them.
19507         * lisp/progmodes/elisp-mode.el:
19508         (elisp--xref-format, elisp--xref-format-extra): Change back to
19509         defvar due to bug#21237.
19510         (elisp--xref-find-definitions): Exclude co-located default methods for
19511         generic functions.  Also exclude implicitly declared defgeneric.
19512         (elisp--xref-find-definitions): Handle C source properly.  Exclude minor
19513         mode variables defined by 'define-minor-mode'.
19514         * test/automated/elisp-mode-tests.el: Declare generic functions, add
19515         tests for them.
19516         (xref-elisp-test-run): Fix bug.
19517         (emacs-test-dir): Improve initial value.
19518         (find-defs-defun-defvar-el): Don't expect defvar.
19519         (find-defs-feature-el): Match change to find-feature-regexp.
19521 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
19523         Improve warning about purecopy of strings with properties
19524         * src/alloc.c (purecopy): Show the offending string with the
19525         warning about removing its text properties.
19527 2015-08-12  Alan Mackenzie  <acm@muc.de>
19529         Introduce new macros to cover Emacs's new names in cl-lib.el
19530         This also eliminates `mapcan' warnings in XEmacs.
19531         * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
19532         characterise [X]Emacs versions.
19533         (top-level): Require either 'cl or 'cl-lib, depending on
19534         c--mapcan-status.
19535         Change this back to cc-external-require from an eval-when-compile
19536         require.
19537         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
19538         (c--delete-duplicates): New macros which expand into either old or new
19539         names.
19540         (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros
19541         rather than the old names.
19542         * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan
19543         rather than mapcan.
19544         * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
19545         * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
19546         depending on c--mapcan-status.
19547         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
19548         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
19549         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
19550         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
19551         (c-decl-block-key, c-keywords, c-keywords-obarray)
19552         (c-regular-keywords-regexp, c-primary-expr-regexp)
19553         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
19554         (c-known-type-key, c-nonlabel-token-key)
19555         (c-make-init-lang-vars-fun): Use the new macros rather than the old
19556         names.
19558 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
19560         loadhist.el (read-feature): Conform to completing-read
19561         * lisp/loadhist.el (read-feature): According to `completing-read'
19562         documentation, if collection is a list, then it must be a list of
19563         strings, not a list of symbols like before.
19565 2015-08-12  David Kastrup  <dak@gnu.org>
19567         Deal gracefully with up-events (Bug#19746)
19568         * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
19569         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
19570         those may easily be injected by user-level Lisp code.
19571         (read_key_sequence): Discard unbound up-events like unbound
19572         down-events: they are even more likely only relevant for special
19573         purposes.
19574         While Emacs will not produce up-events on its own currently (those are
19575         converted to drag or click events before being converted to
19576         Lisp-readable structures), the input queue can be made to contain them
19577         by synthesizing events to `unread-command-events'.  Emacs should deal
19578         consistently with such events.
19580 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
19582         Fix display of thin lines whose newline has line-height property of t
19583         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
19584         and descent values of non-empty glyph rows, since they could have
19585         forced low values deliberately.  (Bug#21243)
19587 2015-08-12  Richard Stallman  <rms@gnu.org>
19589         Offer to combine multiple To or CC fields.
19590         * lisp/mail/sendmail.el (mail-combine-fields): New function.
19591         (mail-send): Call 'mail-combine-fields'.
19593         Don't decrypt encrypted files.
19594         * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
19596         Handle encrypted mbox files.
19597         * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt
19598         the mbox file if necessary.
19600         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
19601         * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine.
19602         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
19603         In a mime message, reenable Mime and show the parts that
19604         were shown before.
19605         Add keyword "decrypt" if anything decrypted.
19607         epa-inhibit inhibits auto-recognition of .gpg files
19608         * lisp/epa-file.el (epa-inhibit): New variable.
19609         (epa-file-handler): Check epa-inhibit.
19611 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
19613         * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
19615 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
19617         Respect python.el imenu when semantic-mode is off
19618         Fixes bug#21220
19619         * lisp/cedet/semantic/wisent/python.el: Do not force
19620         wisent-python-default-setup on python-mode-hook.
19622 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19624         Give names to Unicode code points in C code
19625         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
19626         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
19627         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
19628         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
19629         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
19630         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
19631         (OBJECT_REPLACEMENT_CHARACTER):
19632         New named constants for Unicode code points.
19633         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
19634         * src/composite.c (char_composable_p):
19635         * src/lread.c (readevalloop, read1):
19636         * src/xdisp.c (get_next_display_element):
19637         Use them.
19638         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
19639         Remove; now in character.h.
19641 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
19643         elisp--xref-find-definitions handle cl-defstuct default constructor
19644         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
19645         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
19646         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
19647         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
19648         from xref-elisp-test for ease of debugging.
19649         (xref-elisp-deftest): Rename from xref-elisp-test.
19650         (find-defs-constructor): New test.
19651         (find-defs-defgeneric-el): Match batch test config.
19652         (compile): Required for find-defs compilation-minor-mode test.
19653         (find-defs-defvar-el): Match code change.
19654         (find-defs-face-el): Match code change.
19655         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
19656         Improve doc string.
19658 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
19660         * lisp/replace.el (perform-replace): Document `replacements'.
19661         (perform-replace): Move the description of the format of `replacements'
19662         from the body's comment to the doc string.
19664 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
19666         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
19667         sequence.  Recent adb version send initial escape sequences, even
19668         when terminal type is set to TERM=dumb.
19670 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
19672         Rewrite elisp--xref-find-definitions to handle many more cases; add tests
19673         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
19674         Function deleted.
19675         (elisp--xref-format-cl-defmethod): New defconst.
19676         (find-feature-regexp, find-alias-regexp): New defcustoms.
19677         (elisp--xref-make-xref): New function.
19678         (elisp--xref-find-definitions): Rewrite using the above, handle many
19679         more cases.  Always output all available definitions.
19680         (xref-location-marker): No need for special cases.
19681         * test/automated/elisp-mode-tests.el: Add more tests of
19682         elisp--xref-find-definitions, improve current tests.
19684 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
19686         Fix recording of events pushed onto unread-command-events
19687         * src/keyboard.c (read_char): Make sure events read from
19688         unread-command-events and unread-post-input-method-events are
19689         always recorded by record_char.  Reported by David Kastrup
19690         <dak@gnu.org>, see
19691         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
19693 2015-08-10  Samer Masterson  <samer@samertm.com>
19695         Set file buffer as current for "--file"
19696         * lisp/startup.el (command-line-1): Set file buffer as current before
19697         it is displayed so it can be used with options like "--eval".
19698         (Bug#21095)
19700 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
19702         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
19703         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
19704         after setting LC_ALL to the desired locale, to avoid affecting how
19705         numbers are read and printed.  (Bug#21223)
19707 2015-08-10  Alan Mackenzie  <acm@muc.de>
19709         Fix "Invalid search bound (wrong side of point)" in fontification
19710         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
19711         an initialization expression, check point is not beyond the
19712         fontification limit.
19714 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
19716         Fix DPI calculation when Xft/DPI is default
19717         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
19718         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
19719         Remove unnecessary cast while we're in the neighborhood.
19721 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
19723         Add project-vc-search-path and project-vc-ignores
19724         * lisp/progmodes/project.el (project-vc): New group.
19725         (project-vc-search-path, project-vc-ignores): New variables.
19726         (project--value-in-dir): Utility function.
19727         (project-search-path, project-ignores): Use them.
19728         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
19729         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
19731 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
19733         Fix some minor quoting issues with grave accent
19734         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
19735         Remove redundant quotes.
19736         * src/doc.c (uLSQM, uRSQM): New macros.
19737         * src/doc.c (Fsubstitute_command_keys):
19738         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
19739         preference for quotes rather than hardcoding the ‘grave’ style.
19740         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
19741         (re_match_2_internal) [DEBUG]: In debugging output, quote C
19742         strings with "...", not `...'.
19744         ChangeLog.2 ignores remote-tracking merges
19745         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
19746         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
19747         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
19749 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
19751         Use kpsewhich in ffap-latex-mode, if available
19752         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
19753         (ffap-latex-mode): Use kpsewhich if available.
19755         ffap: disallow braces in filenames for tex modes
19756         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
19757         braces in tex-related modes.
19759         Remove useless backslashes from ffap-string-at-point-mode-alist
19760         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
19761         misleading backslashes from default value.
19763         Augment docstring of ffap-string-at-point-mode-alist
19764         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
19765         and END are handled.
19767 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
19769         * lisp/org/org-src.el (org-edit-src-code)
19770         (org-edit-fixed-width-region):
19771         * lisp/simple.el (completion-setup-function):
19772         Remove calls to substitute-command-keys that always just return
19773         their argument.
19775 2015-08-09  Daiki Ueno  <ueno@gnu.org>
19777         * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'.
19778         (Bug#21210)
19780 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
19782         Fix link to source code in help window
19783         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
19784         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
19785         'No longer include timestamp in header of .elc files'.  Add code
19786         that will return .el source file in load-path.
19788 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
19790         * lisp/isearch.el (isearch-search-fun-default): (Bug#21164)
19791         Respect `isearch-lax-whitespace' when searching through
19792         `isearch-word'.
19794 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
19796         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
19798         * lisp/org/org.el: Fix up some lexical scoping warnings, and use dolist
19799         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
19800         (org-set-regexps-and-options, org-assign-fast-keys)
19801         (org-contextualize-keys, org-contextualize-validate-key)
19802         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
19803         (org-find-olp, org-find-exact-heading-in-directory)
19804         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
19805         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
19806         (org-replace-escapes): Use dolist.
19807         (org-mode): Optimize away XEmacs-only code.
19808         (org-refile-get-targets): Remove unused var `f'.
19809         (org-fast-todo-selection): Remove unused var `e'.
19810         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
19811         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
19812         (org-format-latex): Use dolist.  Remove unused var `e'.
19813         (org-toggle-heading): Access vars lexically rather than dynamically.
19814         (org-backward-sentence, org-forward-sentence, org-meta-return)
19815         (org-kill-line): Mark arg as unused.
19816         (org-submit-bug-report): Silence compiler warning.
19817         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
19818         (org-get-cursor-date): Remove unused var `tm'.
19819         (org-comment-or-uncomment-region): Use standard name `_'.
19820         (reftex-docstruct-symbol, reftex-cite-format): Declare to
19821         silence byte-compiler.
19822         (org-reftex-citation): Add `org--' prefix to dynamically scoped
19823         `rds' var.
19825 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
19827         Electric quote if coding is undecided or no conv
19828         * lisp/electric.el (electric--insertable-p): Also say that a
19829         string is insertable if the buffer file coding system is undecided
19830         or uses no conversion, as curved quotes will work in either case.
19832         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
19834 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
19836         Fix overlay string display regressions introduced in Emacs 24.5
19837         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
19838         buffer position, if we move the iterator to a new position as
19839         result of jumping over text covered by a "replacing" display
19840         property.
19841         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
19843         Support recovery from C stack overflow on MS-Windows
19844         * src/w32fns.c (w32_reset_stack_overflow_guard)
19845         (stack_overflow_handler): New functions for handling C stack
19846         overflow exceptions.
19847         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
19848         specially, and zero out except_addr if we do.
19849         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
19850         mode.
19851         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
19852         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
19853         the MinGW build, but the code guarded by that is for Posix hosts.
19854         * src/keyboard.c (command_loop) [WINDOWSNT]:
19855         Call w32_reset_stack_overflow_guard.
19856         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
19857         (sigsetjmp): New macro.
19858         (w32_reset_stack_overflow_guard): Declare the prototype.
19859         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
19861 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
19863         Improve error signalling for seq-subseq
19864         * lisp/emacs-lisp/seq.el (seq-subseq): The existing behavior is to error
19865         when indexes are too large, but to silently ignore numbers which
19866         are too negative for lists.  String and vector handling errors in
19867         both cases.  This has been regularized.  Error signaling behavior
19868         has been explicitly added to the doc string.
19870         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
19871         therefore also impacted by this change.  Update the doc string
19872         to reflect this.
19874         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
19875         added for these exceptional cases, as well as one non exceptional
19876         base case.
19878 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
19880         Improve error checking in tramp-adb.el
19881         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
19882         Improve error checking.  "ls -l" on Android in Enforcing mode can
19883         print "lstat './FILENAME failed: Permission denied".
19885 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
19887         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
19888         non-struct vectors.
19890 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
19892         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
19893         * lisp/window.el: Fix typo that broke build.
19894         (display-buffer--action-function-custom-type):
19895         Add `display-buffer-use-some-frame'.
19896         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
19898         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
19899         * lisp/window.el (display-buffer-use-some-frame): Add support for
19900         'inhibit-same-window in alist.
19901         * doc/lispref/windows.texi (display-buffer-use-some-frame):
19902         Doc support for 'inhibit-same-window in alist.
19904 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
19906         Avoid infinite loop in display of invisible text in strings
19907         * src/xdisp.c (handle_invisible_prop): If the next change of
19908         invisibility spec does not mean the beginning of a visible text,
19909         update the string position from which to start the search for the
19910         next invisibility change.  This avoids an infinite loop when we
19911         have more than one invisibility spec that are made inactive by
19912         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
19913         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
19914         for the situation that caused bug #21200.
19916 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
19918         * lisp/emacs-lisp/package.el: Simplify describe-package-1
19919         (package-help-section-name-face): New face.
19920         (package--print-help-section): New function.
19921         (describe-package-1): Refactor section printing.
19922         (package-make-button): Use face instead of font-lock-face, which
19923         doesn't work on buttons.
19925         * lisp/emacs-lisp/package.el: Define custom faces
19926         (package-name-face, package-description-face)
19927         (package-status-built-in-face, package-status-external-face)
19928         (package-status-available-face, package-status-new-face)
19929         (package-status-held-face, package-status-disabled-face)
19930         (package-status-installed-face, package-status-dependency-face)
19931         (package-status-unsigned-face, package-status-incompat-face)
19932         (package-status-avail-obso-face): New faces.
19933         (package-menu--print-info-simple): Use them.
19935 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
19937         Fix some confusion with ‘format’
19938         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
19939         (allout-graphics-modification-handler):
19940         Protect arbitrary string in a format context with "%s" format.
19941         * lisp/avoid.el:
19942         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
19943         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
19944         * lisp/erc/erc-button.el (erc-button-beats-to-time):
19945         * lisp/gnus/message.el (message-send-form-letter):
19946         * lisp/org/ob-core.el (org-babel-check-evaluate)
19947         (org-babel-confirm-evaluate):
19948         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
19949         * lisp/org/ox-latex.el (org-latex-compile):
19950         * lisp/org/ox-man.el (org-man-compile):
19951         * lisp/org/ox-odt.el (org-odt-template):
19952         * lisp/org/ox-texinfo.el (org-texinfo-compile):
19953         * lisp/progmodes/prolog.el (prolog-help-info)
19954         (prolog-view-predspec):
19955         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
19956         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
19957         * lisp/textmodes/rst.el (rst-replace-lines):
19958         Change (message (format ...)) to (message ...), and likewise
19959         for ‘error’.  This lessens the probability of confusion when the
19960         output of ‘format’ contains ‘%’.
19962 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
19964         * lisp/replace.el (replace-character-fold): Default to nil.
19966         * lisp/character-fold.el: Fix lax whitespace.
19967         (character-fold-table): Don't make space match other whitespace chars.
19968         (character-fold-to-regexp): Simplify lax behavior.
19970 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
19972         Preserve window point in xref-find-definitions-other-window
19973         Fix the problem reported by Ingo Logmar in
19974         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
19975         * lisp/progmodes/xref.el (xref--goto-char): Extract from
19976         xref--goto-location.
19977         (xref--pop-to-location): Use it.  Replace xref--goto-location with
19978         a direct xref-location-marker call.
19979         (xref--show-location): Likewise.
19980         (xref--display-position): Use xref--goto-char.
19982         * lisp/progmodes/project.el: Add a paragraph to the front matter.
19984 2015-08-04  David Kastrup  <dak@gnu.org>
19986         * lisp/vc/emerge.el (emerge-show-file-name):
19987         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
19988         (vhdl-comment-insert, vhdl-hooked-abbrev):
19989         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
19990         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
19991         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
19992         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
19993         * lisp/obsolete/vip.el (vip-escape-to-emacs)
19994         (vip-prefix-arg-value, vip-prefix-arg-com):
19995         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
19996         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
19997         (quail-tibkey-update-translation):
19998         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
19999         * lisp/leim/quail/lao.el (quail-lao-update-translation):
20000         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
20001         (quail-japanese-self-insert-and-switch-to-alpha):
20002         * lisp/leim/quail/hangul.el (hangul2-input-method)
20003         (hangul3-input-method, hangul390-input-method):
20004         * lisp/language/hanja-util.el (hangul-to-hanja-char):
20005         * lisp/international/robin.el (robin-input-method):
20006         * lisp/international/quail.el (quail-start-translation)
20007         (quail-start-conversion):
20008         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
20009         (gnus-article-describe-key-briefly):
20010         * lisp/eshell/em-hist.el (eshell-list-history):
20011         * lisp/term.el (term-dynamic-list-input-ring)
20012         (term-dynamic-list-completions):
20013         * lisp/subr.el (momentary-string-display):
20014         * lisp/simple.el (read-quoted-char):
20015         * lisp/pcomplete.el (pcomplete-show-completions):
20016         * lisp/kmacro.el (kmacro-repeat-on-last-key):
20017         * lisp/info.el (Info-summary):
20018         * lisp/ehelp.el (electric-help-command-loop):
20019         * lisp/ebuff-menu.el (electric-buffer-list)
20020         (Electric-buffer-menu-exit):
20021         * lisp/double.el (double-translate-key):
20022         * lisp/comint.el (comint-dynamic-list-input-ring)
20023         (comint-dynamic-list-completions): Do not overwrite preexisting
20024         contents of `unread-command-events' when putting new events into it.
20026 2015-08-04  Daniel Colascione  <dancol@dancol.org>
20028         Improve ansi-color filtering of unrecognized escape sequences
20029         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
20030         escape sequences.
20031         (ansi-color-filter-apply, ansi-color-apply): Filter out
20032         unrecognized escape sequences.
20034 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
20036         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
20037         definitions to `easy-menu-define', improve a couple to account for
20038         async, and add a couple of new commands.
20040 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
20042         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
20044 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
20046         Add new 'calendar-weekend-days' option
20047         Make the days receiving the 'calendar-weekend-header' face freely
20048         customizable, as they differ by region/culture.
20049         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
20050         new variable.
20051         * lisp/calendar/calendar.el (calendar-generate-month): New variable
20052         calendar-weekend-days to customize day header fontification.
20054 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
20056         Redo text-quoting-style variable
20057         Rename help-quote-translation to text-quoting-style,
20058         and use symbols rather than characters as values.
20059         This follows suggestions along these lines by Alan Mackenzie in:
20060         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
20061         and by Drew Adams in:
20062         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
20063         * doc/lispref/help.texi (Keys in Documentation)
20064         * etc/NEWS:
20065         * lisp/cus-start.el (standard):
20066         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
20067         Document and/or implement the new behavior instead of the old.
20068         (syms_of_doc): New symbols 'grave' and 'straight'.
20070 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
20072         nnimap.el: Use IMAP MOVE extension if available
20073         * lisp/gnus/nnimap.el (nnimap-request-move-article)
20074         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
20075         Use MOVE extension if available.
20077         nnimap.el: Explicitly ask for server capabilities
20078         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
20079         capabilities will be returned in the login-result.
20081 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20083         Treat help strings like other doc strings
20084         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
20085         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
20086         substitute-command-keys.
20087         * src/keyboard.c (show_help_echo, parse_menu_item): Call
20088         substitute-command-keys on the help string before displaying it.
20090         Also mention "curly quotes"
20091         See Drew Adams's email in:
20092         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
20093         * doc/lispref/help.texi (Keys in Documentation):
20094         Add index entry "curly quotes".
20095         * etc/NEWS: Use the phrase "curly quotes" too.
20097         ede-proj-target-makefile docstring tweaks
20098         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
20099         Consistently use "all:" to describe the all: target,
20100         replacing three different and confusingly-quoted usages.
20102 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
20104         Don't abort emacsclientw when -a was specified
20105         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
20106         out if we are in emacsclientw and -a was specified.
20108 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
20110         Fix handling of 1st keystroke on MS-Windows
20111         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
20112         This is needed to correctly handle the session's first keystroke,
20113         if it has any modifiers.  (Bug#19994)
20115 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20117         Substitute some customization etc. doc strings
20118         These changes apply substitute-command-keys to some
20119         doc strings that were going through untranslated
20120         when creating customization or other widgets.
20121         * lisp/cus-edit.el (custom-group-value-create):
20122         * lisp/wid-edit.el (widget-default-create):
20123         (widget-push-button-value-create):
20124         Treat the widget tag as a doc string.
20125         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
20126         Treat the :documentation value as a doc string.
20127         * lisp/wid-edit.el (widget-choose):
20128         Treat the choice names as doc strings.
20129         (widget-default-create): Treat the :doc value as a doc string.
20130         (widget-toggle-value-create): Treat the :on and :off values
20131         as doc strings.
20132         (widget-documentation-string-value-create):
20133         Substitute the doc string.
20135 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
20137         Add a second argument to project-ignores
20138         * lisp/progmodes/project.el (project-ignores): Add a second
20139         argument DIR.
20140         * lisp/progmodes/project.el (project-ignores): Only include the VC
20141         ignores if DIR is the VC root.
20142         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
20144 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
20146         Prevent incorrect display when 'line-spacing' variable is set
20147         * src/xdisp.c (try_window_id): Give up this optimization if the
20148         buffer has its 'line-spacing' variable set non-nil.
20150 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
20152         Don't pass NOVISIT to find-file
20153         * lisp/progmodes/etags.el (next-file):
20154         Don't pass NOVISIT to find-file (bug#21175).
20156         Ignore buffer restriction for tags-loop-eval
20157         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
20158         restriction (bug#21167).
20160 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
20162         Fix a thinko in 'ffap-gopher-at-point'
20163         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
20165         Honor 'line-spacing' for empty lines
20166         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
20167         property and 'line-spacing' frame parameter or variable or
20168         property for empty lines, by doing the same processing as in
20169         x_produce_glyph for newline characters.  (Bug#21165)
20171 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
20173         Simplify by assuming C99 integer division
20174         * src/floatfns.c (ceiling2, floor2, truncate2):
20175         Assume C99 (i.e., Fortran) semantics for integer division.
20176         This simplifies the code.
20178 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
20180         Don't overflow if computing approximate percentage
20181         * lisp/align.el (align-region):
20182         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
20183         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
20184         * lisp/cus-edit.el (custom-buffer-create-internal):
20185         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
20186         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
20187         (checkdoc-next-message-error):
20188         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
20189         * lisp/epa.el (epa-progress-callback-function):
20190         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
20191         * lisp/ffap.el (ffap-menu-rescan):
20192         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
20193         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
20194         * lisp/gnus/nneething.el (nneething-retrieve-headers):
20195         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
20196         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
20197         * lisp/gnus/nnml.el (nnml-retrieve-headers):
20198         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
20199         * lisp/gnus/nntp.el (nntp-retrieve-headers)
20200         (nntp-retrieve-articles):
20201         * lisp/imenu.el (imenu--relative-position):
20202         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
20203         (skkdic-convert-okuri-nasi):
20204         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
20205         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
20206         * lisp/org/org-list.el (org-update-checkbox-count):
20207         * lisp/org/org.el (org-table-map-tables)
20208         (org-update-parent-todo-statistics):
20209         * lisp/play/decipher.el (decipher-insert-frequency-counts)
20210         (decipher-analyze-buffer):
20211         * lisp/profiler.el (profiler-format-percent):
20212         * lisp/progmodes/cc-cmds.el (c-progress-update):
20213         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
20214         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
20215         (idlwave-list-load-path-shadows):
20216         * lisp/progmodes/opascal.el (opascal-step-progress):
20217         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
20218         (vhdl-scan-directory-contents):
20219         * lisp/textmodes/bibtex.el (bibtex-progress-message):
20220         * lisp/textmodes/flyspell.el (flyspell-small-region)
20221         (flyspell-external-point-words):
20222         * lisp/textmodes/table.el (table-recognize):
20223         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
20224         progress-report percentages and the like.  This avoids problems
20225         if (* 100 NUMERATOR) would overflow.
20226         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
20227         * lisp/gnus/registry.el (registry-reindex):
20228         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
20229         * lisp/descr-text.el (describe-char):
20230         * lisp/org/org-colview.el (org-nofm-to-completion):
20231         * lisp/ps-print.el (ps-plot):
20232         * lisp/simple.el (what-cursor-position):
20233         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
20234         more-complicated and less-accurate approximation.
20236         Fix some int overflows in profiler.c
20237         * src/profiler.c (make_log): Make args EMACS_INT, not int,
20238         to avoid unwanted behavior on 'int' overflow.
20239         (make_log, evict_lower_half, record_backtrace):
20240         Use ptrdiff_t, not int, for object indexes.
20242         Port to pedantic memcpy
20243         * src/keyboard.c (menu_bar_items, tool_bar_items):
20244         * src/xrdb.c (magic_db):
20245         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
20247         Merge from gnulib
20248         This incorporates:
20249         2015-07-29 time_rz: port to pedantic memcpy
20250         * lib/time_rz.c: Copy from gnulib.
20252 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
20254         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
20255         When updating the very last entry, tabulated-list-print would
20256         erase it and then try to look at the next one (which obviously
20257         isn't there).
20259 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
20261         Allow to use the old key processing code on MS-Windows
20262         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
20263         New variable.
20264         (w32_wnd_proc): Use it to invoke the old code that processed
20265         character keys, as fallback, when this variable is non-nil.
20266         Fix typos in comments.  (Bug#19994)
20268 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
20270         Improve handling of Unicode keyboard input on MS-Windows
20271         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
20272         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
20273         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
20274         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
20275         successful, don't call TranslateMessage.  (Bug#19994)
20277 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
20279         Fix default-directory in changeset diffs after vc-print-log
20280         * lisp/vc/log-view.el (log-view-diff-common): Move the
20281         revision-granularity check back into log-view-diff-changeset.
20282         (log-view-diff-changeset): Bind default-directory to the current
20283         VC root.
20285         Rename project-directories to project-roots
20286         * lisp/progmodes/project.el (project-search-path-function)
20287         (project-search-path): Update the docstring.
20288         (project-directories): Rename to `project-roots', update all
20289         callers and implementations accordingly.
20290         (project-root): Remove.
20291         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
20292         as the default file mask.
20294 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
20296         Support long URLs in w32-shell-execute
20297         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
20298         and filename_to_ansi to convert the DOCUMENT argument, as it could
20299         be a URL that is not limited to MAX_PATH characters.  Instead, use
20300         MultiByteToWideChar directly, and allocate heap storage as
20301         required to accommodate the converted string.  Likewise with
20302         non-Unicode operation.  Ensure OPERATION is null-terminated, even
20303         if it is longer than 32K bytes.  (Bug#21158)
20305 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
20307         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev.
20309 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
20311         Add docs for display-buffer action display-buffer-use-some-frame
20312         * lisp/window.el (display-buffer-use-some-frame): Improve doc string.
20313         * doc/lispref/windows.texi (Display Action Functions):
20314         Add display-buffer-use-some-frame.
20315         * etc/NEWS: Mention display-buffer-use-some-frame.
20317         Add display-buffer action display-buffer-use-some-frame
20318         * lisp/window.el (display-buffer-use-some-frame): New.
20320         Handle vc-mtn error more gently
20321         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when
20322         branch is nil.
20324 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
20326         Fix Tramp problems with multihops, and nc
20327         * lisp/net/tramp-cache.el (tramp-get-file-property)
20328         (tramp-set-file-property, tramp-flush-file-property)
20329         (tramp-get-connection-property, tramp-set-connection-property)
20330         (tramp-flush-connection-property): Remove hop from vector.
20331         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
20332         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
20333         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
20334         netstat to 60".
20335         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
20336         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
20337         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
20338         Keep hop in result.
20339         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
20340         Add hop tests.
20342 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
20344         Resurrect highlighting of repeated words by Flyspell Mode
20345         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
20346         characters between point and the doublon candidate, so that
20347         flyspell-word-search-backward finds it.  (Bug#21157)
20349         Fix redisplay of large images on expose events
20350         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
20351         between signed negative values and unsigned values.  This
20352         prevented redisplay on expose events when the window showed a very
20353         large image.
20355 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
20357         Remove unnecessary stack overflow dependency
20358         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
20359         Don't worry about $ac_cv_header_sys_resource_h and
20360         $ac_cv_func_getrlimit, as they're no longer needed for this.
20361         Problem reported by Eli Zaretskii in:
20362         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
20364 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
20366         Pacify compilation -Wincompatible-pointer-types warnings
20367         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
20368         warning.
20369         (CompareStringW_Proc): New typedef.
20370         (w32_compare_strings): Use it, to pacify compiler warnings under
20371         "-Wincompatible-pointer-types".
20372         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
20373         (GetDiskFreeSpaceExA_Proc): New typedefs.
20374         (Ffile_system_info): Use them, to pacify compiler warnings under
20375         "-Wincompatible-pointer-types".
20377 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
20379         Fix subscript error in calculate_direct_scrolling
20380         Use slightly-longer cost vectors.  Without this change,
20381         calculate_direct_scrolling can have a subscript violation when
20382         FRAME_LINES (frame) <= delta.
20383         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
20384         (line_ins_del, do_line_insertion_deletion_costs):
20385         Allocate and use slightly-larger cost vectors, ones based on
20386         FRAME_TOTAL_LINES instead of FRAME_LINES.
20388         Fix uninitalized value in encode_coding_object
20389         * src/coding.c (encode_coding_object): Also initialize
20390         coding->src_pos and coding->src_pos_byte when NILP (src_object).
20391         This avoids later use of uninitialized storage.
20393 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
20395         * doc/lispref/variables.texi (Variable Aliases): Typo fix.
20396         (Bug#21141)
20398 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
20400         Merge from gnulib
20401         This incorporates:
20402         2015-07-27 time_rz: port better to MinGW
20403         2015-07-27 time: port __need_time_t to MinGW
20404         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
20405         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
20406         * lib/time-internal.h: New file, from gnulib.
20408 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
20410         Handle NULL pointers in w32heap.c allocation routines
20411         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
20412         freeable".
20413         (realloc_after_dump, realloc_before_dump, free_before_dump):
20414         Handle NULL pointers gracefully, as Emacs now seems to expect that.
20416         Fix Cairo build without PNG
20417         * src/image.c: Define PNG function when USE_CAIRO is defined, even
20418         if HAVE_PNG is not.  (Bug#21133)
20420         MS-Windows follow-up for recent TZ-related changes
20421         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
20422         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
20423         picking up 'struct timespec' from pthread.h, if it is installed on
20424         the user's system.  We want either the definitions from MinGW
20425         system headers, if available, or the Gnulib replacements if not.
20426         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
20427         lib/time.h.
20428         * lib/time.in.h: Don't let __need_* symbols affect what happens on
20429         MinGW.  These symbols are defined by MinGW system headers, but we
20430         don't want that to affect whether Gnulib portions of the header
20431         are or aren't used.
20433 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
20435         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
20437         New optional ZONE arg for format-time-string etc.
20438         This simplifies time conversions in other time zones.
20439         It also prevents display-time-world tampering with TZ (Bug#21020).
20440         * admin/admin.el (add-release-logs):
20441         Use improved add-log-time-format API.
20442         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
20443         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
20444         * configure.ac (tzalloc): Remove test for this, since
20445         Emacs no longer uses HAVE_TZALLOC directly.
20446         * doc/lispref/os.texi (Time of Day, Time Conversion)
20447         (Time Parsing):
20448         * etc/NEWS: Document the new behavior.
20449         Merge from gnulib, incorporating:
20450         2015-07-25 strftime: fix newly-introduced bug on Solaris
20451         2015-07-23 fprintftime, strftime: use timezone_t args
20452         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
20453         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
20454         * m4/time_h.m4:
20455         Update from gnulib.
20456         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
20457         New files from gnulib.
20458         * lisp/time-stamp.el (time-stamp-string):
20459         * lisp/time.el (display-time-world-list)
20460         (display-time-world-display):
20461         Use new API, with time zone arg.
20462         * lisp/time.el (display-time-world-display):
20463         Fix race when current-time advances while we're running.
20464         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
20465         (add-log-iso8601-time-string): Accept optional time zone arg.
20466         * lisp/vc/add-log.el (add-change-log-entry):
20467         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
20468         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
20469         Add rules for the time module, since they're now needed
20470         for tzalloc etc.
20471         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
20472         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
20473         * src/editfns.c: Include errno.h.
20474         (set_time_zone_rule): Omit unnecessary forward decl.
20475         (initial_tz): Remove, replacing with ...
20476         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
20477         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
20478         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
20479         (tzlookup): New static functions.
20480         (init_editfns): New arg DUMPING.  All uses changed.
20481         (init_editfns): Omit most initialization if dumping, not if
20482         !initialized.  Initialize wall_clock_tz and local_tz.
20483         (emacs_nmemftime, format_time_string): Time zone argument can now
20484         be any time zone, not just a boolean for UTC or local time.  All
20485         callers changed.
20486         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
20487         (Fcurrent_time_zone): New optional arg ZONE.
20488         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
20489         the same form as with the other new additions.
20490         (decode_time_zone): Remove; no longer needed.
20491         (tzvalbuf): Now file-scope.
20492         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
20493         (syms_of_editfns): Define Qwall.
20494         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
20495         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
20496         [!HAVE_TZALLOC]:
20497         Remove; now supplied by gnulib.
20498         * src/emacs.c (main):
20499         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
20501 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
20503         Fix infinite loop in delete-consecutive-dups
20504         * lisp/subr.el (delete-consecutive-dups): Work even if the last
20505         element is nil (Bug#20588).  Avoid rescan of a circular list in
20506         deletion of last element.
20508 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
20510         Have `x-frame-geometry' return nil for terminal and initial
20511         frames (Bug#21132)
20512         * src/nsfns.m (Fx_frame_geometry):
20513         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
20514         terminal frames.
20515         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
20516         (Fx_frame_geometry): Return nil for terminal frames
20518 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
20520         * etc/tutorials/TUTORIAL.ja: Improve translation.
20522 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
20524         Avoid crashes when w32 GUI functions are called in -batch
20525         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
20526         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
20527         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
20529         Fix flyspell-check-previous-highlighted-word
20530         * lisp/textmodes/flyspell.el
20531         (flyspell-check-previous-highlighted-word): Really accept a
20532         numeric argument, as the doc string describes.  Fix an off-by-one
20533         error in looking up overlays, so invocation with point immediately
20534         after a word would check that word.  Clarify the doc string as
20535         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
20537 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
20539         Minor cleanup in tramp-tests.el
20540         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
20541         Implement using the documented interface
20542         `tramp-connection-properties', rather than with internal functions.
20544 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
20546         Pass lambdas to `skeleton-read'
20547         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
20548         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
20549         lambdas to `skeleton-read' (bug#20386).
20551 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
20553         * INSTALL (DETAILED BUILDING AND INSTALLATION):
20554         Mention --without-imagemagick.
20556         Don't require GUI frames and mouse for Flyspell menus
20557         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
20558         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
20559         support, since pop-up menus work with text terminals and can be
20560         controlled via the keyboard.
20562         Improve documentation of Flyspell commands
20563         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
20564         can be invoked via the keyboard.  Mention those commands by name
20565         and add them to the fn index.  (Bug#21125)
20567 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
20569         Fix some Tramp problems with HP-UX
20570         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
20571         Add "tab0" to stty call.
20572         * test/automated/tramp-tests.el (tramp-persistency-file-name):
20573         Set to nil.
20574         (tramp--test-hpux-p): New defun.
20575         (tramp--test-utf8): Use it.
20577 2015-07-22  Glenn Morris  <rgm@gnu.org>
20579         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
20581 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
20583         Fix point positioning in ffap-next-guess
20584         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
20585         as our callers expect.  This was clobbered as part of fixing
20586         bug#5673.  (Bug#21107)
20587         (ffap-gopher-at-point): Set ffap-string-at-point-region.
20589 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
20591         * lisp/window.el (even-window-sizes): Fix customization type.
20593         Optionally even widths of `display-buffer' windows.  (Bug#21100)
20594         * lisp/window.el (quit-restore-window): Restore width if
20595         requested.
20596         (display-buffer-record-window): Record width when window is
20597         reused and horizontally combined.
20598         (even-window-sizes): New option to allow evening window widths.
20599         (even-window-heights): Defalias to `even-window-sizes'.
20600         (window--even-window-heights): Rename to
20601         `window--even-window-sizes'.  Handle side-by-side windows.
20602         (display-buffer-use-some-window): Call `window--even-window-sizes'
20603         instead of `window--even-window-heights'.
20604         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
20605         * doc/lispref/windows.texi (Choosing Window Options): Describe
20606         `even-window-sizes'.
20607         (Coordinates and Windows): Fix typo.
20609 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
20611         Add file name to autoload error messages
20612         * lisp/emacs-lisp/autoload.el (autoload-save-buffers):
20613         Add condition-case to add file name to error message.
20615 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
20617         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
20618         Use 0.0.0.1 as test host.
20620 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
20622         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
20623         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
20624         Fix inf-loop (bug#21083).
20626 2015-07-21  Glenn Morris  <rgm@gnu.org>
20628         * test/automated/package-test.el (package-test-signed):
20629         Update for recent changes.
20631         * test/automated/elisp-mode-tests.el
20632         (elisp-xref-finds-both-function-and-variable)
20633         (elisp-xref-finds-only-function-for-minor-mode):
20634         Update for recent xref name changes.
20636 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
20638         Make eldoc timer non-repeatable
20639         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
20640         non-repeatable.  Since it's on post-command hook, that just wasted
20641         CPU cycles.
20643 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
20645         Mention `tramp-connection-properties' in NEWS
20647         Sync with Tramp repository
20648         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
20649         required prior changing its configuration.
20650         (Connection caching, Predefined connection information)
20651         (Remote shell setup): Fix typos.
20652         (Predefined connection information): Describe, how to overwrite
20653         parameters of `tramp-methods'.
20654         (Remote programs, Remote processes, Traces and Profiles):
20655         Simplify example.
20656         (Remote programs): Remove superfluous comment.
20657         * doc/misc/trampver.texi: Update release number.
20658         * lisp/net/tramp-cache.el (tramp-connection-properties):
20659         Adapt docstring.
20660         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
20661         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
20662         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
20663         "gvfs-mkdir -p ..." does not work robust.
20664         (tramp-gvfs-maybe-open-connection):
20665         Adapt `tramp-get-method-parameter' call.
20666         * lisp/net/tramp-sh.el (tramp-methods):
20667         Add `tramp-remote-shell-login' parameter where it fits.
20668         (tramp-get-remote-path): Use it.
20669         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
20670         (all): Adapt `tramp-get-method-parameter' calls.
20671         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
20672         (tramp-get-method-parameter): Replace argument METHOD by VEC.
20673         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
20674         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
20675         (all): Adapt `tramp-get-method-parameter' calls.
20676         * lisp/net/trampver.el: Update release number.
20677         * test/automated/tramp-tests.el (tramp--instrument-test-case):
20678         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
20679         (tramp-test13-make-directory, tramp--test-adb-p)
20680         (tramp--test-smb-or-windows-nt-p): Simplify.
20681         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
20682         (tramp--test-special-characters): Fix docstring.  Add gvfs and
20683         ftp tests.
20684         (tramp--test-utf8): Fix docstring.
20686 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
20688         Add new xref-query-replace command
20689         * lisp/progmodes/xref.el (xref--match-buffer-bounds):
20690         New function, extracted from xref-pulse-momentarily.
20691         (xref-query-replace): New command.
20692         (xref--query-replace-1): New helper function.
20693         (xref--xref-buffer-mode-map): Add `r' binding.
20695 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
20697         Simplify icalendar decoding of Z dates
20698         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
20699         Simplify calculation of time strings with trailing "Z".
20701 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
20703         Do not corrupt grep-find-ignored-files
20704         * lisp/progmodes/project.el (project-ignores): Change the order of
20705         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
20707         Add xref-match-item, and use it
20708         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
20709         (xref-file-location): Add reader for the column slot.
20710         (xref-match-item): New class.
20711         (xref-match-bounds): A method implementation for it.
20712         (xref-make-match): New constructor function.
20713         (xref--current-item): New private variable.
20714         (xref-pulse-momentarily): Use it.
20715         (xref--pop-to-location): Change the first argument to an xref
20716         item, instead of location, bind xref--current-item.
20717         Update all callers.
20718         (xref-next-line, xref-prev-line, xref--next-error-function)
20719         (xref--mouse-2): Look for the property `xref-item',
20720         instead of `xref-location'.
20721         (xref--item-at-point): Likewise.  This function replaces
20722         `xref-location-at-point'.  Update all callers.
20723         (xref--insert-xrefs): Add the `xref-item' text property, instead
20724         of `xref-location'.
20725         (xref--collect-match): Use xref-make-match.
20727         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
20728         Update all references.
20730         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
20731         slot to `summary'.
20733         vc-hg: Perform the print-log call asynchronously
20734         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
20735         asynchronously (bug#21067).
20737         Add xref-after-jump-hook and xref-after-return-hook
20738         * lisp/progmodes/xref.el (xref-after-jump-hook)
20739         (xref-after-return-hook): New hooks.
20740         (xref-pulse-on-jump): Remove, in favor of the above.
20741         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
20742         (xref--pop-to-location, xref--display-position)
20743         (xref-pop-marker-stack): Use the new hooks, as requested in
20744         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
20746 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
20748         * lisp/progmodes/js.el (js-mode): Correct the lighter.
20750 2015-07-19  Leo Liu  <sdl.web@gmail.com>
20752         Fix a bug in cfengine3-mode
20753         * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil
20754         eldoc-documentation-function.
20756 2015-07-18  Julien Danjou  <julien@danjou.info>
20758         sieve-mode: support "body" test command
20759         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
20760         Add missing "body" test command.
20762 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
20764         Fix info-apropos when the default encoding is Latin-N
20765         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
20766         'undecided', so that it is set to the encoding of the Info file we
20767         are about to insert.  Otherwise, 'info-apropos' will fail to find
20768         some index nodes in some UTF-8 encoded files, if the buffer's
20769         previous encoding is Latin-N or some such.
20771 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
20773         * lisp/epg.el (epg--start): Check that gpgconf can be found
20774         before calling it.
20776         Expose more file types to OS X that Emacs understands
20777         * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for
20778         sty, dtx, json, and org files.  Export UTIs for el, elc, and org files.
20780 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
20782         Fix visual-order cursor movement when lines are truncated
20783         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
20784         simulate display in a window of infinite width, to allow move_it_*
20785         functions reach positions outside of normal window dimensions.
20786         Remove code that tried to handle a subset of these situations by
20787         manual iteration of buffer text.  (Bug#17777)
20789         Fix following Info cross-references to anchors
20790         * lisp/info.el (Info-read-subfile): Add to the returned value the
20791         length of subfile preamble, after converting it to file's byte
20792         offset, as expected by the caller.  Use bufferpos-to-filepos.
20793         (Info-find-node-2): If searching for a node with a
20794         1000-character slop fails, try again with a 10000-character slop,
20795         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
20796         * lisp/international/mule-util.el (bufferpos-to-filepos): New
20797         function.
20798         * etc/NEWS: Mention bufferpos-to-filepos.
20800         Fix scrolling backwards on TTY frames under scroll-conservatively
20801         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
20802         in moving backwards on TTY frames.  (Bug#21080)
20804 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
20806         Consider a jsdoc tag to be a beginning of a paragraph as well
20807         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
20808         consider a jsdoc tag to be a beginning of a paragraph as well.
20810 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
20812         * lisp/emacs-lisp/package.el: Fix warnings.
20814         * lisp/emacs-lisp/package.el (package-buffer-info):
20815         Add author and maintainers to `package-buffer-info'.
20817         * lisp/emacs-lisp/package.el: Many small changes.
20818         Replace all instances of 'face with 'font-lock-face.
20819         (describe-package-1): Improve some strings and move the summary
20820         up the list.
20821         (package-install-file): Update docstring.
20822         (package-menu-hide-package): Bind to `H'.
20824         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
20825         Fix error handling.
20827 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
20829         Fix hang with large yanks This should fix the bug fixed by Mike
20830         Crowe's patch in:
20831         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
20832         A problem in this area has been reported by several users; see
20833         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
20834         This fix differs from Mike Crowe's patch in that it should avoid a
20835         race condition that could lose SIGIO signals.  ignore_sigio dates
20836         back to the 1980s when some platforms couldn't block signals, and
20837         could only ignore them, which led to races when signals arrived
20838         while being ignored.  We shouldn't have to worry about those old
20839         platforms now.
20840         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
20841         * src/emacs.c (shut_down_emacs):
20842         Don't call ignore_sigio; unrequest_sigio should suffice.
20843         * src/keyboard.c (kbd_buffer_store_buffered_event):
20844         Use unrequest_sigio, not ignore_sigio.
20845         (kbd_buffer_get_event):
20846         Call request_sigio when getting the ball rolling again.
20848 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
20850         * lisp/obsolete/longlines.el (longlines-search-function):
20851         Fallback on `isearch-search-fun-default'.
20853 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
20855         Support @-mentions
20856         * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion
20857         of mentions/messages with @nick instead of just nick.
20859 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
20861         Fix bug#20943
20862         * lisp/autorevert.el (auto-revert-handler): Do not check for
20863         `buffer-modified-p'.
20864         * lisp/files.el (buffer-stale--default-function): Check for
20865         `buffer-modified-p'.
20866         * test/automated/auto-revert-tests.el
20867         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
20869 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
20871         Fix delete-dups bug on long lists
20872         * lisp/subr.el (delete-dups):
20873         Don't mistakenly keep some dups when applied to long lists.
20875 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
20877         Better heuristic for C stack overflow
20878         Improve the heuristic for distinguishing stack overflows from
20879         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
20880         the getrlimit method wasn't portable to Cygwin; see:
20881         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
20882         Corinna suggested pthread_getattr_np but this also has problems.
20883         Instead, replace the low-level system stuff with a simple
20884         heuristic based on known good stack addresses.
20885         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
20886         * src/sysdep.c: Don't include <sys/resource.h>.
20887         (stack_direction): Remove.  All uses removed.
20888         (stack_overflow): New function.
20889         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
20890         Make SEGV fatal in non-main threads.
20892 2015-07-16  Daiki Ueno  <ueno@gnu.org>
20894         epg: Automatically start pinentry server
20895         * lisp/epg-config.el (epg-gpgconf-program): New variable.
20896         * lisp/epg.el (epg--start): Call `pinentry-start' if
20897         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
20899 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
20901         * lisp/gnus/nnimap.el: Fix my last bogus change.
20902         Reinstall Stefan Monnier's change that was made in
20903         <83d824bc4041332f338ad7e5e830f443535aa300>.
20905 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
20907         Merge from gnulib
20908         This incorporates:
20909         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
20910         2015-07-05 acl-permissions: Fix on FreeBSD
20911         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
20912         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
20913         * lib/set-permissions.c: Copy from gnulib.
20915         Port to stricter C99
20916         * src/keyboard.h (kbd_buffer_store_event_hold):
20917         Don't return a void expression.
20919 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
20921         * doc/emacs/frames.texi (Creating Frames):
20922         Fix the command `C-x 5 m' runs.
20924 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
20926         New autorevert tests
20927         * test/automated/auto-revert-tests.el: New file.
20929 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
20931         Clear gcprolist etc. after stack overflow
20932         After stack overflow, command_loop calls init_eval, and this needs to
20933         clear gcprolist and byte_stack_list (Bug#20996).
20934         * src/alloc.c (init_alloc):
20935         Move gcprolist and byte_stack_list initialization from here ...
20936         * src/eval.c (init_eval): ... to here.
20938 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
20940         * doc/emacs/windows.texi (Pop Up Window): Fix the description
20941         of `C-x 4 m'.
20943 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
20945         Avoid deprecated enums in mac-ct font backend driver
20946         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
20947         (mac_ctfont_get_advance_width_for_glyph)
20948         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
20950         Cache font family in mac-ct font backend driver
20951         * src/macfont.m (macfont_family_cache): New variable.
20952         (syms_of_macfont): Initialize it.
20953         (macfont_available_families_cache): New variable.
20954         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
20955         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
20956         (macfont_handle_font_change_notification)
20957         (macfont_init_font_change_handler)
20958         (macfont_copy_available_families_cache): New functions.
20959         (macfont_create_family_with_symbol): Use font family caches.
20960         (macfont_list, macfont_list_family):
20961         Use macfont_copy_available_families_cache instead of
20962         mac_font_create_available_families.
20964 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
20966         Show the default value in the prompt
20967         * lisp/progmodes/xref.el: Add `M-?' binding for
20968         xref-find-references.  Declare functions `grep-read-files' and
20969         `grep-expand-template'.
20970         (xref--read-identifier): Show the default value in the prompt.
20972         * lisp/progmodes/xref.el (xref-find-regexp): When called with
20973         prefix argument, ask for file patterns to search as well.  When
20974         prompting for the directory, require an existing one.
20975         (xref-collect-matches): Add a new argument, FILES.  Use it in the
20976         above function.
20978         Add `project-ignores'
20979         * lisp/progmodes/project.el (project-ignores): New generic
20980         function, and an implementation for the VC project type.
20981         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
20982         variant of rgrep-default-command that handles a generic list of
20983         ignores.
20984         (xref-collect-matches): Use it, and pass through to it the value
20985         of the newly added argument.
20986         (xref-find-regexp): Handle ignored paths within the project.
20987         Remove outdated comment.
20988         * lisp/vc/vc.el (vc-default-ignore-completion-table):
20989         Skip the comments and the empty lines.
20991 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
20993         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
20995 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
20997         gnus-registry.el: Correct function argument order
20998         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
20999         Reverse the order of function arguments.
21001 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
21003         Bind grep-highlight-matches to nil
21004         * lisp/progmodes/xref.el (xref-collect-matches):
21005         Bind grep-highlight-matches to nil (bug#20728).
21007 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
21009         nnimap.el: Fix IMAP message size parsing
21010         * lisp/gnus/nnimap.el (nnimap-transform-headers):
21011         Don't assume that UID comes before RFC822.SIZE.
21013 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
21015         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
21016         (auth-source-creation-prompts): Declare.
21017         (nnimap-retrieve-headers, nnimap-status-message)
21018         (nnimap-request-create-group, nnimap-request-delete-group)
21019         (nnimap-close-group, nnimap-request-move-article)
21020         (nnimap-request-accept-article, nnimap-request-newgroups)
21021         (nnimap-request-post, nnimap-dummy-active-number)
21022         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
21023         (nnimap-parse-flags): Remove unused var `p'.
21024         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
21025         (nnimap-flags-to-marks): Remove unused var `totalp'.
21027 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
21029         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
21031 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21033         * src/macfont.m (macfont_list): Ignore font families lacking
21034         font descriptors.
21036 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
21038         Don't check the exit status, it can be misleading
21039         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
21040         exit status, it can be misleading.
21042         Introduce a Project API
21043         * lisp/progmodes/project.el: New file.
21044         * lisp/cedet/ede.el (project-try-ede): New function.
21045         (project-root): New implementation.
21046         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
21047         Set project-search-path-function.
21048         (elisp--xref-find-references): Delegate some logic to
21049         project-search-path.
21050         (elisp-search-path): New function.
21051         (elisp-xref-find): Don't implement `matches' anymore.
21052         * lisp/progmodes/etags.el: Don't implement `matches'.
21053         Delegate some logic to project-search-path.
21054         (etags-search-path): New function.
21055         * lisp/progmodes/xref.el (xref-find-function):
21056         Remove `matches' from the API.
21057         (xref-find-regexp): Move whatever common logic was in elisp and
21058         etags implementations, and search the directories returned by
21059         project-directories and project-search-path.
21061 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
21063         * test/automated/map-tests.el (test-map-delete-return-value):
21064         Uncomment test.
21066         Add support for gv.el in map.el
21067         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
21068         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
21069         * test/automated/map-tests.el: Update tests to work with the new
21070         implementations of map-elt and map-put.
21072 2015-07-09  Glenn Morris  <rgm@gnu.org>
21074         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
21076 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
21078         Syntax-propertize until the end of the line first
21079         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
21080         until the end of the line first.
21082 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
21084         * doc/emacs/files.texi (File Archives): Add a cross reference.
21086 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
21088         nnimap.el: Handle plain value for nnimap-stream
21089         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
21090         capabilities, so that a 'plain value for the `nnimap-stream' server
21091         variable is handled correctly.
21092         * doc/misc/gnus.texi (Customizing the IMAP Connection):
21093         Document the 'plain option.
21095 2015-07-08  Leo Liu  <sdl.web@gmail.com>
21097         Fix bug in thing-at-point--bounds-of-well-formed-url
21098         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
21099         sure boundary contains current point.
21101 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
21103         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse'
21104         in the end.
21106         Declare whitespace-line-column a safe file-local
21107         * lisp/whitespace.el (whitespace-line-column): Declare to be a
21108         safe file-local when the value is an integer.
21110 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
21112         gnus-group.el: Check if group names are already strings
21113         * lisp/gnus/gnus-group.el (gnus-group-group-name):
21114         The group name may already be a string.
21115         Specifically, in the group list reached from the *Server* buffer,
21116         the 'gnus-group text property returns a string.  Everywhere else
21117         it returns a symbol.
21119         nnimap.el: Remove unused let variables
21120         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
21122 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
21124         Support "maximized" property of runemacs's shortcut
21125         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
21126         the '--maximized' switch to Emacs.
21128         Support "minimized" property of runemacs's shortcut
21129         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
21130         pass the '--iconic' switch to Emacs.  (Bug#20991)
21132 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
21134         Doc fixes
21135         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
21136         C-w' in Diff mode.
21137         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
21138         Add a cross reference.
21140 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
21142         * lisp/obsolete/landmark.el: Add Obsolete-since header.
21144 2015-07-07  Glenn Morris  <rgm@gnu.org>
21146         * test/automated/ert-tests.el (ert-test-deftest):
21147         Update for recent changes.
21149 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
21151         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
21152         * lisp/emacs-lisp/gv.el (gv-setter): New function.
21153         (gv-invalid-place): New error.
21154         (gv-get): Use them.
21155         (gv-synthetic-place, gv-delay-error): New places.
21156         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
21157         (cl-defgeneric, cl-defmethod): Use gv-setter.
21159 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
21161         Make vc-tests work with MSYS svn program
21162         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
21163         svn is an MSYS program.
21165 2015-07-07  Ken Brown  <kbrown@cornell.edu>
21167         Improve recent change to emacsclient on Cygwin
21168         * lisp/server.el (server-process-filter): Remove redundant check
21169         that 'cygwin-convert-file-name-from-windows' is defined as a
21170         function on Cygwin.  Don't call that function unless its argument
21171         starts with a drive letter.
21173 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
21175         * lisp/emacs-lisp/package.el (package-compute-transaction):
21176         Fix void variable due to `found-something' being in the wrong `let'.
21178 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
21180         * lisp/play/landmark.el: Move to lisp/obsolete/.
21182 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
21184         Have `x-show-tip' handle `right' and `bottom' frame parameters
21185         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
21186         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
21187         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
21188         tooltips also via `right' and `bottom' frame parameters.
21190 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
21192         Add online-help support to describe types
21193         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
21194         (describe-symbol): Improve the selection of default.
21195         * lisp/help-mode.el: Require cl-lib.
21196         (describe-symbol-backends): Move from help-fns.el.
21197         (help-make-xrefs): Use it.
21198         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
21199         for types.
21200         (cl--typedef-regexp): New const.
21201         (find-function-regexp-alist): Add entry for types.
21202         (cl-help-type, cl-type-definition): New buttons.
21203         (cl-find-class): New function.
21204         (cl-describe-type): New command.
21205         (cl--describe-class, cl--describe-class-slot)
21206         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
21207         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
21208         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
21209         New functions.  Moved from eieio-opt.el.
21210         (cl--generic-class-parents): New function, extracted from
21211         cl--generic-struct-specializers.
21212         (cl--generic-struct-specializers): Use it.
21213         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
21214         Improve constructor's docstrings.
21215         (cl-struct-unknown-slot): New error.
21216         (cl-struct-slot-offset): Use it.
21217         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
21218         definition in current-load-list.
21219         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
21220         (eieio--add-new-slot): Set it.
21221         (eieio-defclass-internal): Use new name for current-load-list.
21222         (eieio-oref): Add compiler-macro to warn about unknown slots.
21223         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
21224         as compile-time as well.  Improve constructor docstrings.
21225         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
21226         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
21227         (eieio-class-def): Remove button.
21228         (eieio-help-constructor): Use new name for load-history element.
21229         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
21230         (eieio-method-documentation): Move to cl-generic.el.
21231         (eieio-display-method-list): Use new names.
21232         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
21233         Add "define-linline".
21234         (lisp-fdefs): Remove "defsubst".
21235         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
21236         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
21237         (macroexp--warn-and-return): Use it to avoid inf-loops.
21238         Add `compile-only' argument.
21240 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
21242         python.el: Fix local/remote shell environment setup
21243         * lisp/progmodes/python.el (python-shell-with-environment):
21244         Fix remote/local environment setup.
21245         * test/automated/python-tests.el (python-shell-with-environment-1)
21246         (python-shell-with-environment-2): New tests.
21248 2015-07-06  Glenn Morris  <rgm@gnu.org>
21250         * lisp/simple.el (set-variable): Tweak recent doc fix.
21252 2015-07-06  Ken Brown  <kbrown@cornell.edu>
21254         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE.
21256 2015-07-06  Glenn Morris  <rgm@gnu.org>
21258         * lisp/simple.el (set-variable): Use user-error for type mismatch.
21260 2015-07-06  Ken Brown  <kbrown@cornell.edu>
21262         * src/emacs.c (main): Don't increase the stack size on Cygwin.
21264 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
21266         (describe-symbol): Rewrite describe-function-or-variable
21267         * lisp/help-fns.el (describe-symbol-backends): New var.
21268         (help-xref-stack-item): Declare.
21269         (describe-symbol): Rename from describe-function-or-variable.
21270         Rewrite using describe-symbol-backends instead of help-xref-interned.
21271         * lisp/help.el (help-map): Use it.
21272         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
21273         (help-xref-interned): Make it into an obsolete alias.
21275         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
21276         `file' arg (bug#20972).  Always use utf-8-emacs.  Use with-temp-buffer
21277         and cl-letf.
21279 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
21281         Fix parsing glitches in dired-mark-sexp (bug#13575)
21282         * lisp/dired-x.el (dired-x--string-to-number): New function.
21283         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
21284         of directory-listing-before-filename-regexp.  Consider
21285         forward-word harmful and replace it.  Add more verbiage in
21286         comments and doc string.
21288 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
21290         python.el: Respect process environment for remote shells
21291         * lisp/progmodes/python.el
21292         (python-shell-calculate-process-environment): Calculate
21293         process-environment or tramp-remote-process-environment depending
21294         whether current file is remote.
21295         (python-shell-calculate-exec-path): Calculate exec-path or
21296         tramp-remote-path depending whether current file is remote.
21297         (python-shell-with-environment): New macro.
21298         (python-shell-prompt-detect, python-shell-calculate-command)
21299         (python-shell-make-comint, python-check): Use it.
21301         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
21302         * lisp/progmodes/python.el (python-shell--interpreter)
21303         (python-shell--interpreter-args): New vars.
21304         (inferior-python-mode, python-shell-make-comint): Use them.
21306         python.el: Fixes for IPython 3.x  (Bug#20580)
21307         * lisp/progmodes/python.el:
21308         (python-shell-completion-native-setup): Fix IPython 3.x setup.
21309         (python-shell-completion-native-get-completions): Fix timeout
21310         logic.
21312         python.el: Fix mark-defun behavior  (Bug#19665)
21313         * lisp/progmodes/python.el (python-mark-defun): New function.
21314         * test/automated/python-tests.el (python-mark-defun-1)
21315         (python-mark-defun-2, python-mark-defun-3): New tests.
21317 2015-07-05  Glenn Morris  <rgm@gnu.org>
21319         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
21320         such as "extends(parent), private".  (Bug#20969)
21321         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
21322         New tests.
21324 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
21326         Avoid duplicate calls to current_timespec
21327         * src/process.c (wait_reading_process_output):
21328         Cache current_timespec results as long as we're not waiting.
21330 2015-07-05  Ian Kelling  <ian@iankelling.org>
21332         Avoid returning early reading process output due to SIGIO
21333         * src/process.c (wait_reading_process_output): Extend the behavior of
21334         not breaking due to not finding output when a timer has lowered the
21335         timeout to include when SIGIO lowers the timeout.
21337         Don't return as fast reading any process output
21338         * src/process.c (wait_reading_process_output):
21339         The patch for Bug#17647 returns too fast sometimes when reading
21340         from any processes.  Revert part of it, and limit the timeout more
21341         sensibly (Bug#20978).
21343         Refactor timeouts in wait_reading_process_output
21344         * src/process.c (wait_reading_process_output):
21345         Simplify timeouts with an enum.  Remove a redundant condition.
21346         (Bug#20978)
21348         Remove ADAPTIVE_READ_BUFFERING ifdef
21349         * src/process.c (make-process, make-pipe-process, deactivate_process)
21350         (wait_reading_process_output, read_process_output, send_process)
21351         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
21352         added in case there was an operating system in which it was not
21353         useful.  That was 11 years ago and it hasn't happened.  Make
21354         development easier by not considering the effect of changes on a
21355         theoretical OS where this is disabled (Bug#20978).
21357 2015-07-05  Glenn Morris  <rgm@gnu.org>
21359         * lisp/simple.el (set-variable): Doc fix.
21361         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
21363 2015-07-05  Ian Kelling  <ian@iankelling.org>
21365         accept-process-output fix
21366         This is a followon to the fix for bug#17647 (Bug#20976).
21367         * src/process.c (status_notify): Fix too high return in some cases.
21369 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
21371         * lisp/character-fold.el (character-fold-table):
21372         Only fold decompositions if at least one character is non-spacing.
21373         (Bug#20975)
21375 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
21377         Merge from gnulib
21378         This incorporates:
21379         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
21380         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
21381         2015-07-02 update-copyright: fix test failure with perl >= 5.22
21382         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
21383         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
21384         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
21385         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
21387 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
21389         Respect `prog-indentation-context' in python.el
21390         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
21391         (python-indent-context, python-indent--calculate-indentation)
21392         (python-info-current-defun)
21393         (python-info-dedenter-opening-block-message)
21394         (python-info-line-ends-backslash-p)
21395         (python-info-beginning-of-backslash)
21396         (python-info-continuation-line-p): Use `prog-widen'.
21397         (python-indent--calculate-indentation)
21398         (python-indent--calculate-levels)
21399         (python-indent-calculate-indentation): Use `prog-first-column'.
21400         (python-indent--calculate-levels): Simplify.
21401         Ignore also initial empty lines for syntax calculation.
21402         * lisp/progmodes/python.el (python-indent-context): Return
21403         :no-indent for first non-empty line, not just in line 1.
21404         * test/automated/python-tests.el (python-indent-base-case)
21405         (python-indent-inside-paren-1, python-indent-inside-paren-2)
21406         (python-indent-inside-paren-3, python-indent-inside-paren-4)
21407         (python-indent-inside-paren-5, python-indent-inside-paren-6)
21408         (python-indent-after-backslash-1)
21409         (python-indent-after-backslash-2)
21410         (python-indent-after-backslash-3)
21411         (python-indent-after-backslash-4, python-indent-inside-string-1):
21412         Expect :no-indent for first non-empty line.
21414 2015-07-04  Daniel Colascione  <dancol@dancol.org>
21416         Factor isearch word description into new function
21417         * lisp/isearch.el (isearch--describe-word-mode): New function.
21418         (isearch-message-prefix, isearch-query-replace): Use it.
21420 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
21422         Fix mouse pointer on w32 when a menu is active
21423         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
21424         shape while a menu is in use.  This started happening since we now
21425         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
21427 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
21429         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
21430         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
21431         parameter.  (Bug#17344)
21433         Have `compilation-set-window' use right window for getting fringes
21434         (Bug#20829)
21435         * lisp/progmodes/compile.el (compilation-set-window):
21436         Take `window-fringes' from argument window.
21438 2015-07-03  Glenn Morris  <rgm@gnu.org>
21440         Update eieio tests for recent eieio-core change.
21441         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
21442         * test/automated/eieio-tests.el
21443         (eieio-test-32-slot-attribute-override-2):
21444         Replace the deleted eieio--class-v with cl--find-class.
21446 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
21448         Fix some issues with `window-divider-mode'
21449         * lisp/frame.el (window-divider-default-places): New option.
21450         (window-divider-mode): Remove option.
21451         (window-divider-mode): Make it a "regular" minor mode.
21452         (window-divider-width-valid-p): Drop frame- prefix.
21453         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
21454         prefix.  Handle `window-divider-default-places'.
21455         (frame--window-divider-mode-set-and-apply): Remove.
21456         (window-divider-default-bottom-width)
21457         (window-divider-default-right-width): Drop :group entries.
21458         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
21459         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
21460         (menu-bar-no-window-divider): Set `window-divider-default-places'
21461         and call `window-divider-mode'.
21462         * doc/emacs/frames.texi (Window Dividers): Document
21463         `window-divider-default-places'.
21465 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
21467         * doc/emacs/display.texi (Displaying Boundaries):
21468         * doc/emacs/search.texi (Word Search): Add cross references.
21470 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21472         -batch should not affect ‘’ -> `' display
21473         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
21474         -batch (Bug#20926).
21476 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
21478         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
21479         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el:
21480         * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
21481         Use cl--find-class instead.
21483         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
21485 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
21487         Some further fixes in Change Window node (Bug#20183)
21488         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
21489         by "resizing" in section title.  Add some concept indices.
21490         Suggested by N. Jackson (Bug#20183).
21492         * doc/emacs/windows.texi (Change Window): Reference window
21493         dividers.
21495         Document new `window-divider-mode'.
21496         * lisp/frame.el (window-divider-mode): Fix doc-string.
21497         * doc/emacs/frames.texi (Window Dividers): New section.
21499         Improve accessibility of window dividers (Bug#20183)
21500         * lisp/faces.el (window-divider)
21501         (window-divider-first-pixel, window-divider-last-pixel): Change
21502         membership from `frames' to `window-divider' customization group.
21503         * lisp/frame.el (window-divider): New customization group.
21504         (window-divider-mode): New minor mode.
21505         (window-divider-default-bottom-width)
21506         (window-divider-default-right-width): New options.
21507         (frame--window-divider-previous-mode): New variable.
21508         (frame-window-divider-width-valid-p)
21509         (frame--window-divider-mode-apply)
21510         (frame--window-divider-mode-set-and-apply): New functions.
21511         * lisp/menu-bar.el (menu-bar-options-save): Save
21512         window-divider-mode settings.
21513         (menu-bar-window-divider-customize)
21514         (menu-bar-bottom-and-right-window-divider)
21515         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
21516         (menu-bar-no-window-divider): New functions.
21517         (menu-bar-showhide-window-divider-menu): New variable.
21518         (menu-bar-showhide-menu): Show/hide window divider menu.
21519         * lisp/mouse.el (mouse-split-window-vertically)
21520         (mouse-split-window-horizontally): Replace `error' by
21521         `user-error'.  Bind `window-combination-resize' to nil.
21522         (top-level): Add/reorder mouse key bindings on mode- and
21523         vertical-line.
21525 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21527         Don't display ‘’ as `' under X in en_GB
21528         The curved quote setup code invokes (char-displayable-p ?‘),
21529         but this isn’t reliable until after the X frame replaces the
21530         terminal frame (Bug#20926).
21531         * lisp/international/mule-cmds.el (set-locale-environment):
21532         Move curved quote setup code from here ...
21533         * lisp/startup.el (command-line): ... to here, after creating
21534         the X frame.
21536 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
21538         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring.
21540         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
21541         to reverse the meaning (Bug#15631).
21543 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
21545         Be more tolerant to fonts named "Foobar-12"
21546         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
21547         don't barf; instead, request a new fontset to be generated.  This
21548         avoids unnecessarily rejecting fonts named against XLFD rules.  See
21549         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
21550         for the description of the original problem.
21551         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
21552         by a hyphen in a font's name.
21554         Fix value of posn-at-pont in R2L lines
21555         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
21556         coordinate of -1, for a newline in a right-to-left line that
21557         overflowed into the left fringe.
21559 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
21561         (cl--copy-slot-descriptor): Copy the `props' alist as well
21562         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
21563         Rename from cl--copy-slot-descriptor.
21564         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
21566 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
21568         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
21569         (xterm-query-timeout): New var.
21570         (xterm--query): Use it.  Fallback on async method if we timeout before
21571         getting the first byte of the reply (bug#12354).
21573 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
21575         Spelling fixes
21576         * lisp/character-fold.el (character-fold-search):
21577         * lisp/emacs-lisp/package.el (package-hidden-regexps):
21578         Fix typos.
21580 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
21582         * doc/emacs/frames.texi (Frame Commands): Typo fix.  (Bug#20946)
21584 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
21586         In strings, prefer plain ` and ' to \` and \'
21587         * lisp/allout.el (allout-insert-listified):
21588         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
21589         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
21590         (ls-lisp-string-lessp):
21591         * lisp/menu-bar.el (menu-bar-open):
21592         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
21593         * lisp/progmodes/compile.el (compile):
21594         * lisp/progmodes/etags.el (tags-loop-scan):
21595         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
21596         * lisp/subr.el (posn-actual-col-row):
21597         * lisp/term/pc-win.el (x-list-fonts):
21598         * lisp/textmodes/texinfmt.el (texinfmt-version):
21599         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
21600         * lisp/time.el (display-time-world-list):
21601         * lisp/tmm.el (tmm-menubar):
21602         * src/buffer.c (syms_of_buffer):
21603         * src/fileio.c (syms_of_fileio):
21604         Omit unnecessary and confusing backslash before quote.
21605         * lisp/erc/erc.el (erc-cmd-LASTLOG):
21606         * lisp/progmodes/flymake.el (flymake-fix-file-name):
21607         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
21608         Fix string that was intended to escape a backslash and not a quote.
21610 2015-06-30  Glenn Morris  <rgm@gnu.org>
21612         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
21614         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
21615         Replace hard-coded lists with wildcard + filter-out.
21617         * configure.ac (system-configuration-features): Add X11, NS.
21619         Improve reproducibility of generated loaddefs file
21620         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
21621         Make the return value the modtime of the input file (if no autoloads).
21622         (update-directory-autoloads): In the "no autoloads" section,
21623         use "most recent modtime" rather than "current time".
21625 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
21627         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic.
21628         (Bug#20930)
21630 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
21632         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
21634         Add seq-min and seq-max
21635         Bump version number.
21636         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
21637         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
21639 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
21641         Make sure sleep-for always delays for as long as it's told
21642         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
21643         a loop, to ensure we always wait exactly the required amount of
21644         time.  (Bug#15990)
21646 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
21648         Fix pointer signedness glitch
21649         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
21651 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
21653         Don't block changes in mouse pointer inside 'track-mouse'
21654         * etc/NEWS:
21655         * doc/lispref/frames.texi (Mouse Tracking): Document the special
21656         effect of setting 'track-mouse' to 'dragging'.
21657         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
21658         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
21659         * lisp/mouse-drag.el (mouse-drag-throw):
21660         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
21661         to avoid changes in the shape of the mouse pointer.
21662         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
21663         pointer shape when do_mouse_tracking has the value of 'dragging',
21664         not just any non-nil value.  (Bug#20934)
21665         (syms_of_xdisp): DEFSYM 'dragging'.
21667 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
21669         * lisp/isearch.el (isearch-toggle-word): Fix toggle.
21671         * lisp/emacs-lisp/package.el (package-compute-transaction):
21672         Don't assume version sorting.
21674         * lisp/emacs-lisp/package.el (package--save-selected-packages):
21675         Don't save before init time, to avoid overwriting configurations.
21676         (Bug#20855)
21678 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
21680         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
21681         references.
21683 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
21685         Update for the upcoming CFEngine 3.7 release: support macros and
21686         quoted context strings; reformat JSON; indent promise attributes 2
21687         units by default; give function parameter descriptions in the eldoc
21688         glue.
21689         * lisp/progmodes/cfengine.el: Update version and docs and fix name.
21690         Autoload `json-pretty-print'.  Support new features in 3.7.
21691         (cfengine-parameters-indent): Set default promise attribute indent to
21692         2 more than the promise itself.
21693         (cfengine3-macro-regex): New variable to match the new macro syntax.
21694         (cfengine3-font-lock-keywords): Use it to highlight macros.
21695         (cfengine3-indent-line): Use it to indent macros to column 0.
21696         (cfengine3-class-selector-regex): Update for the new quoted strings
21697         format.
21698         (cfengine3-reformat-json-string): New function to reformat a JSON
21699         string using `json-pretty-print'.
21700         (cfengine3-format-function-docstring): Use function parameter
21701         description if it's provided by the cf-promises syntax dump.
21703 2015-06-29  Michael R. Mauger  <michael@mauger.com>
21705         Cygwin emacsclient handles w32 file names
21706         * lisp/server.el (server-process-filter): Allow Cygwin's
21707         emacsclient to be used as a file handler on MS-Windows.
21709 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
21711         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice
21712         (bug#20925).
21714 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
21716         * doc/lispref/text.texi (Sticky Properties): Improve wording.
21717         (Bug#20924)
21719         Allow font names that end in "-NN", where NN is a number
21720         * src/font.c (font_load_for_lface): If the font-spec didn't match
21721         any available fonts, try again without interpreting trailing "-NN"
21722         as the font size.  For the description of the original problem, see
21723         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
21725         .gdbinit followup to changes in !USE_LSB_TAG
21726         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
21727         !USE_LSB_TAG, as Emacs no longer does.
21729 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
21731         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
21732         Otherwise `s p' of f and F will stomp on each other's value.
21733         (Bug#20916)
21735 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
21737         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
21738         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
21740 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
21742         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point
21743         as additional guess.
21745         * lisp/emacs-lisp/package.el (describe-package): Convert the guess
21746         to a string.
21748 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
21750         apropos-library quoting fix
21751         * lisp/apropos.el (apropos-library): Quote library consistently
21752         with the rest of the quoting used by apropos.
21754         Clarify interpreter-mode-alist doc
21755         * lisp/files.el (interpreter-mode-alist):
21756         Reword to avoid confusing quoting that wasn't working anyway.
21758 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
21760         Sync with Tramp 2.2.12
21761         * doc/misc/trampver.texi:
21762         * lisp/net/trampver.el: Update release number.
21763         * test/automated/tramp-tests.el (tramp-test13-make-directory):
21764         Fix cleanup.
21766 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
21768         * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913).
21770 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
21772         Bind grep-highlight-matches around the rgrep call
21773         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
21774         around the rgrep call (bug#20728).
21776         Put "--color" before the other options in grep-command
21777         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
21778         before the other options in grep-command (bug#20912).
21780         Add --color Grep option to the command dynamically
21781         * lisp/progmodes/grep.el (grep-template, grep-find-template):
21782         Update the description for <C>.  (Bug#20728)
21783         (grep-compute-defaults): Don't add the --color option to
21784         grep-options.  Only add it to grep-command.
21785         (grep-expand-keywords): Expand the env value opts into <C>.
21786         (grep-expand-template): Replace cf in the env with the opts list,
21787         that can include -i and --color.
21788         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
21789         "--color=always" from the template, because we don't have to.
21791 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
21793         cl-extra fixes for most-negative-fixnum
21794         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
21795         Don't mishandle an argument equal to most-negative-fixnum,
21796         whose absolute value equals itself.
21797         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
21799         Initialize cl--gensym-counter to 0
21800         Previously it was initialized to a random value, which made it
21801         harder to reproduce earlier Emacs runs.  The need for a random
21802         value went away when Emacs introduced and used the #: syntax for
21803         uninterned symbols (Bug#20862).
21804         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
21805         Document that cl--gensym-counter now starts with 0.
21806         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
21807         (cl--random-time): Move to near only remaining use.
21808         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
21810         Improve docstring for macroexp-let2
21811         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
21812         Improve as per suggestion by RMS in:
21813         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
21814         Also, rename args to match new doc string.
21816 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
21818         Fix VC test suite on MS-Windows
21819         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
21820         always starts with 3 slashes after the colon.
21821         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
21822         'w32-application-type' to invoke CVS on MS-Windows with properly
21823         formatted CVSROOT directory name.
21825         Add a new function w32-application-type
21826         * src/w32proc.c (Fw32_application_type): New function.
21828         Avoid error in TLS connections due to incorrect format
21829         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
21830         the call to 'error', instead of the unsupported %u.  Reported by
21831         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
21833 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
21835         * lisp/replace.el (replace-search): Fix regexp case (bug#20901).
21837 2015-06-26  Leo Liu  <sdl.web@gmail.com>
21839         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
21840         `with-output-to-string' in elisp.
21842         Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of
21843         with-output-to-string".
21844         This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
21846 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
21848         Minor corrections in ELisp manual
21849         * doc/lispref/nonascii.texi (Character Properties): Correct
21850         inaccuracies in description of values of the Unicode properties.
21852         Fix invisible mouse pointers on Windows.
21853         * src/w32fns.c: Include windowsx.h.
21854         (w32_wnd_proc): If the mouse moved and the mouse pointer is
21855         invisible, make it visible again even when the main (Lisp)
21856         thread is busy.
21857         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
21858         garbaging the frame have the input thread call SetCursor.
21860 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
21862         Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922)
21863         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
21864         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
21865         * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible.
21866         (w32_toggle_invisible_pointer): New function.
21867         (w32_create_terminal): Add w32_toggle_invisible_pointer as
21868         toggle_invisible_pointer_hook for this terminal.
21870 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
21872         Doc fix for deletion commands
21873         'delete-char' does not respect the value of 'delete-active-region'.
21874         * doc/emacs/killing.texi (Deletion):
21875         Fix documentation for some single-char deletion commands.
21877         * doc/emacs/help.texi (Apropos):
21878         Improve documentation of 'apropos-do-all'.
21880         * doc/emacs/help.texi (Help Summary):
21881         Improve documentation of 'describe-mode'.
21883 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
21885         Fix submake dependency bug with .h files
21886         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
21887         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
21888         before the submake in $(libsrc) would spin off a subsubmake
21889         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
21891 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
21893         * lisp/character-fold.el (character-fold-table): Reuse `table'.
21895 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
21897         Translate undisplayable ‘ to `
21898         * doc/lispref/help.texi (Keys in Documentation):
21899         * lisp/international/mule-cmds.el (set-locale-environment):
21900         * lisp/term/w32console.el (terminal-init-w32console):
21901         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
21902         If ‘ is not displayable, transliterate it to `, not to '.  See:
21903         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
21905         Fix C99 incompatibilities in Cairo code
21906         * src/image.c (xpm_load) [USE_CAIRO]:
21907         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
21908         Fix pointer signedness problem.
21910 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
21912         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
21913         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
21914         `with-output-to-string' should have the same indent as `progn'.
21915         This is in line with the declaration of `with-output-to-string'.
21917 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
21919         Get ‘./configure; make -C src emacs’ to work
21920         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
21921         * lib-src/Makefile.in (../lib/libgnu.a):
21922         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
21924 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
21926         Fix GC bugs --with-wide-int and Qnil == 0
21927         Use the same alignment for the !USE_LSB_TAG case as for the
21928         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
21929         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
21930         once we changed the representation of symbols so that Qnil == 0.
21931         Problem reported by Eli Zaretskii (Bug#20862).
21932         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
21933         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
21934         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
21935         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
21936         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
21937         This optimization in the !USE_LSB_TAG case is no longer valid when
21938         symbols are represented via offsets.  Change the only use to
21939         assume that pointers might hide in objects.
21940         * src/lisp.h (alignas) [!USE_LSB_TAG]:
21941         Require support in this case, too.
21942         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
21943         This is OK, because the !USE_LSB_TAG case now applies only when
21944         Lisp_Object is wider than void *, so there's no longer any need
21945         to shift the offset.  Not shifting the offset means that
21946         symbol representations have the same alignment as pointers,
21947         which the GC assumes.
21949 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
21951         * doc/lispintro/emacs-lisp-intro.texi (Data types):
21952         Improve documentation of 'substring'.
21954 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
21956         * lisp/character-fold.el (character-fold-table): Fix table generation.
21958 2015-06-24  Glenn Morris  <rgm@gnu.org>
21960         * nextstep/Makefile.in (all): Make it the first target.
21961         (../src/emacs${EXEEXT}): Add rule for making it.
21963 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
21965         * etc/NEWS: Fix mention to old function name.
21967         * lisp/character-fold.el: New file (Bug#20887)
21968         (character-fold-to-regexp): New function.
21969         * lisp/replace.el (replace-search): Check value of
21970         `character-fold-search'.
21971         * lisp/isearch.el: Move character-folding code to
21972         character-fold.el
21973         (isearch-toggle-character-fold): New command.
21974         (isearch-mode-map): Bind it to "\M-sf".
21975         (isearch-mode): Check value of `character-fold-search'.
21977 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21979         lisp/subr.el (remove-from-invisibility-spec): Handle the t case
21980         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
21981         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
21983         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
21984         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
21986 2015-06-24  Glenn Morris  <rgm@gnu.org>
21988         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
21990 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21992         lisp/gnus/nnmaildir.el: Silence lexical warnings
21993         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
21994         functional style.
21995         (nnmaildir--update-nov): Remove unused var `numdir'.
21996         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
21997         (nnmaildir-request-group, nnmaildir-request-create-group)
21998         (nnmaildir-request-post, nnmaildir-request-move-article)
21999         (nnmaildir-request-accept-article, nnmaildir-active-number):
22000         Mark unused args.
22001         (nnmaildir-get-new-mail, nnmaildir-group-alist)
22002         (nnmaildir-active-file): Declare.
22003         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
22004         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
22005         `mark', `end', `new-mark', and `mark-sym'.
22006         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
22007         `nlist2'.
22008         (nnmaildir-request-expire-articles):
22009         Remove unused vars `article', `stop' and `nlist2'.
22010         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
22011         `end'.  Use nnmaildir--article when dyn-binding is needed.
22012         Give the value directly in the `let' for `del-mark', `del-action',
22013         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
22014         (nnmaildir-close-server): Declare those local vars that need to be
22015         dyn-bound.
22017 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
22019         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
22021         Port selection info fix to clang
22022         * src/keyboard.h (kbd_buffer_store_event_hold):
22023         Don't assume C11 semantics for alignof (Bug#20756).
22025         Fix bug that munged selection info
22026         On some optimizing C compilers, copying a structure did not
22027         copy the padding bytes between elements, and the type punning
22028         between struct input_data and struct selection_input_data did
22029         not work.  Change the C code to use a proper union type instead.
22030         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
22031         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
22032         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
22033         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
22034         (mark_kboards):
22035         Use union buffered_input_event, not struct input_event.
22036         (clear_event, deliver_input_available_signal, process_special_events):
22037         Remove unnecessary forward decls.
22038         (kbd_buffer_store_buffered_event): New function, mostly just the
22039         old kbd_buffer_store_event_hold, except its argument is of type
22040         union buffered_input_event, not struct input_event.
22041         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
22042         not needed otherwise.  Argument is now of type
22043         struct selection_input_event *, not struct input_event *.
22044         All callers changed.
22045         (clear_event): Arg is now of type union buffered_input_event *,
22046         not struct input_event *.  All callers changed.
22047         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
22048         (union buffered_input_event): New type.
22049         (kbd_buffer_store_event_hold): Now an inline function,
22050         defined here.
22051         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
22052         (struct input_event): Use it.
22053         * src/xselect.c (struct selection_event_queue):
22054         Make elements be of type struct selection_input_event,
22055         not struct input_event.
22056         (selection_input_event_equal): New static function.
22057         (x_queue_event): Use it.
22058         (x_queue_event, x_decline_selection_request)
22059         (x_selection_current_request, x_reply_selection_request)
22060         (x_handle_selection_request, x_handle_selection_clear)
22061         (x_handle_selection_event): Use struct selection_input_event,
22062         not struct input_event.  All callers changed.
22063         (x_convert_selection): Omit unused first arg.  All callers changed.
22064         (Fx_disown_selection_internal): Omit unnecessary union.
22065         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
22066         rather than rolling our own equivalent.  Prefer sie.kind when
22067         setting up that kind of structure.
22068         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
22069         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
22070         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
22071         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
22072         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
22073         (SELECTION_EVENT_TIME, x_handle_selection_event):
22074         Arg is now of type struct selection_input_event *)
22075         not struct input_event *.  All callers changed.
22077 2015-06-23  Glenn Morris  <rgm@gnu.org>
22079         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
22081 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
22083         * lisp/isearch.el: Fold many unicode characters to ASCII.
22084         (isearch-character-fold-search, isearch--character-fold-extras)
22085         (isearch--character-fold-table): New variable.
22086         (isearch--character-folded-regexp): New function.
22087         (isearch-search-fun-default): Use them.
22088         * lisp/replace.el (replace-character-fold): New variable.
22089         (replace-search): Use it.
22090         * etc/NEWS: Document it.
22092 2015-06-23  Glenn Morris  <rgm@gnu.org>
22094         Check for an input event before showing a dialog box.  (Bug#20813)
22095         * lisp/subr.el (y-or-n-p):
22096         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
22097         as last-nonmenu-event.
22099 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
22101         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
22102         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
22103         (switch-to-prev-buffer, switch-to-next-buffer): Respect
22104         switch-to-visible-buffer independent of the windows history.
22106 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
22108         * src/keyboard.c (last_timer_event): Remove unused var.
22110 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
22112         * test/automated/package-test.el (package-test-update-listing):
22113         Fix test.
22115 2015-06-23  Glenn Morris  <rgm@gnu.org>
22117         Revert 2014-06-25 nextstep/Makefile change.
22118         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
22119         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
22120         not as an order-only prerequisite.
22122         * configure.ac (--with-ns): Enable by default on OS X.
22124 2015-06-23  Leo Liu  <sdl.web@gmail.com>
22126         Fix shell-for/backward-command to exclude spaces
22127         * lisp/shell.el (shell-forward-command, shell-backward-command):
22128           Handle the 'move case from re-search-forward/backward.
22129           fixes debbugs:20873
22131 2015-06-22  Juri Linkov  <juri@linkov.net>
22133         * lisp/replace.el (query-replace-read-from): Add separator to
22134         the local binding of text-property-default-nonsticky.  (Bug#20690)
22136         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
22137         (Bug#20785)
22139 2015-06-22  Ken Brown  <kbrown@cornell.edu>
22141         Enable CPU profiling on Cygwin
22142         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
22143         change that undefined this.
22144         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
22145         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
22146           Cygwin.
22148         Improve diagnostics of profiler-cpu-start
22149         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
22150         return -1 if the sampling interval is invalid.
22151         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
22152         fails.  (Bug#20843)
22154 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
22156         * lisp/emacs-lisp/package.el: Exclude packages by name.
22157         (package-hidden-regexps): New variable.
22158         (package-menu--refresh): Use it.
22159         (package-menu-hide-package): New command.
22161         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding.
22163 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
22165         Fix debug-timer-check on systems without HAVE_TIMERFD
22166         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
22167         the expired timers, since wait_reading_process_output doesn't.
22168         (debug_timer_callback): Enlarge the tolerance to 20 msec.
22170         Fix RCS crashes in vc-test
22171         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
22172         ports of 'ci' on MS-Windows by always passing the -t- switch.
22174 2015-06-22  Glenn Morris  <rgm@gnu.org>
22176         * doc/emacs/package.texi (Packages):
22177         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
22179         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
22181 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22183         Port tests to help-quote-translation
22184         * test/automated/ert-x-tests.el (ert-test-describe-test):
22185         * test/automated/package-test.el (package-test-describe-package)
22186         (package-test-signed): Allow straight quotes, too.
22188 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
22190         Make find-function-on-key use the current window
22191         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
22192         Extract from `find-function-on-key', add a second argument.
22193         (find-function-on-key): Use it (bug#19679).
22194         (find-function-on-key-other-window)
22195         (find-function-on-key-other-frame): New commands.
22197 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
22199         Revert "Define `map-elt' as a generalized variable"
22200         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
22202 2015-06-21  Ken Brown  <kbrown@cornell.edu>
22204         Drop support for CPU profiling on Cygwin
22205         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
22206         (Bug#20843)
22208 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
22210         Fix some “nested” quoting confusion in doc strings
22211         * lisp/emacs-lisp/advice.el (ad-map-arglists):
22212         * lisp/kermit.el (kermit-clean-on):
22213         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
22214         * src/keyboard.c (Frecursive_edit):
22215         Use curved quotes when quoting text containing apostrophe,
22216         so that the apostrophe isn't curved in the output.
22218 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
22220         Define `map-elt' as a generalized variable
22221         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
22222         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
22223         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
22224         `setf' with `map-elt'.
22225         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
22227 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
22229         Improve error handling in tramp-adb.el
22230         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
22231         Improve error handling.
22233 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
22235         Reuse `alist-get' in map.el
22236         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
22237         elements.
22239 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
22241         Fix bytecomp-tests--warnings when $TMPDIR has a long name
22242         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
22243         Allow the warning to begin on the 3rd, not only 2nd line, which
22244         happens if temporary-file-directory has a very long name.
22246         Expect 2 icalendar tests to fail on MS-Windows
22247         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
22248         (icalendar-real-world): Make them expected failures on MS-Windows.
22250 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
22252         Improve port of settings UI to older displays
22253         * lisp/cus-start.el (standard): Don't assume curved quotes are
22254         easily distinguishable when users are tinkering with a setting
22255         that affects how curved quotes are generated.
22257         Fix quoting in electric-quote-mode doc string
22258         * lisp/electric.el (electric-quote-mode): Fix quoting.
22259         This is a fallout from the recent change introducing
22260         ‘help-quote-translation’.
22262         Spelling fix
22264         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
22266         * src/doc.c (syms_of_doc): Remove unused symbols.
22268 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
22270         * lisp/window.el (window-state-put): Undedicate target window
22271         before putting STATE into it.  (Bug#20848)
22273 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
22275         Merge from origin/emacs-24
22276         a5e6f33 Fixes: debbugs:20832
22277         b9f02cf Fixes: debbugs:20832
22279 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
22281         Fix file-in-directory-p when the directory is UNC
22282         * lisp/files.el (file-in-directory-p): Support files and
22283         directories that begin with "//".  (Bug#20844)
22285 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
22287         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
22288         in the minibuffer.  (Bug#20832)
22290 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
22292         * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer
22293         for adding new todo file is empty but modified.  (Bug#20832)
22295 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
22297         (filepos-to-bufferpos): Further tweaks to the utf-16 code
22298         * lisp/international/mule-util.el (filepos-to-bufferpos):
22299         Fix typo.  Move non-exact check to the utf-16 branch (the only one
22300         affected).  Don't use byte-to-position for the utf-16 case.
22302 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
22304         Minor fixes in filepos-to-bufferpos
22305         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
22306         test for utf-8-emacs.  Exempt single-byte encodings from the
22307         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
22308         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
22309         UTF-16 encoded files for CR-LF EOLs.
22311 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
22313         Improve the optional translation of quotes
22314         Fix several problems with the recently-added custom variable
22315         help-quote-translation where the code would quote inconsistently
22316         in help buffers.  Add support for quoting 'like this', which
22317         is common in other GNU programs in ASCII environments.  Change
22318         help-quote-translation to use more mnemonic values: values are now the
22319         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
22320         traditional Emacs help-buffer quoting style `like this'.  Change the
22321         default behavior of substitute-command-keys to match what's done in
22322         set-locale-environment, i.e., quote ‘like this’ if displayable,
22323         'like this' otherwise.
22324         * doc/lispref/help.texi (Keys in Documentation): Document
22325         new behavior of substitute-command-keys, and document
22326         help-quote-translation.
22327         * doc/lispref/tips.texi (Documentation Tips):
22328         Mention the effect of help-quote-translation.
22329         * etc/NEWS: Mention new behavior of substitute-command-keys,
22330         and merge help-quote-translation news into it.
22331         When talking about doc strings, mention new ways to type quotes.
22332         * lisp/cedet/mode-local.el (overload-docstring-extension):
22333         Revert my recent change to this function, which shouldn't be
22334         needed as the result is a doc string.
22335         * lisp/cedet/mode-local.el (mode-local-print-binding)
22336         (mode-local-describe-bindings-2):
22337         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
22338         * lisp/cus-theme.el (describe-theme-1):
22339         * lisp/descr-text.el (describe-text-properties-1, describe-char):
22340         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
22341         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
22342         (eieio-help-constructor):
22343         * lisp/emacs-lisp/package.el (describe-package-1):
22344         * lisp/faces.el (describe-face):
22345         * lisp/help-fns.el (help-fns--key-bindings)
22346         (help-fns--compiler-macro, help-fns--parent-mode)
22347         (help-fns--obsolete, help-fns--interactive-only)
22348         (describe-function-1, describe-variable):
22349         * lisp/help.el (describe-mode):
22350         Use substitute-command-keys to ensure a more-consistent quoting
22351         style in help buffers.
22352         * lisp/cus-start.el (standard):
22353         Document new help-quote-translation behavior.
22354         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
22355         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
22356         (help-xref-url-regexp):
22357         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
22358         * lisp/wid-edit.el (widget-documentation-link-regexp):
22359         Also match 'foo', in case we're in a help buffer generated when
22360         help-quote-translation is ?'.
22361         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
22362         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
22363         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
22364         (Fsubstitute_command_keys): Document and implement new behavior.
22365         (Vhelp_quote_translation): Document new behavior.
22367 2015-06-18  Glenn Morris  <rgm@gnu.org>
22369         * lisp/cus-start.el (help-quote-translation): Add :version.
22371         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
22373 2015-06-18  Alan Mackenzie  <acm@muc.de>
22375         Make translation of quotes to curly in doc strings optional.
22376         * src/doc.c (traditional, prefer-unicode): New symbols.
22377         (help-quote-translation): New variable.
22378         (Fsubstitute_command_keys): Make translation of quotes dependent on
22379         `help-quote-translation'; also translate curly quotes back to ASCII
22380         ones.
22381         * lisp/cus-start.el (top-level): Add a customization entry for
22382         `help-quote-translation'.
22384 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
22386         * lisp/emacs-lisp/package.el: Don't always propagate async errors
22387         (package--with-work-buffer-async): Only propagate the error if the
22388         callback returns non-nil.
22389         (package--download-one-archive): Return nil on the signature
22390         checking callback if we accept unsigned.
22391         (package--download-and-read-archives): Return non-nil on the
22392         archive download callback.
22394 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
22396         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
22397         * src/nsfns.m (Fx_create_frame):
22398         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
22399         image_cache_refcount before first x_default_parameter call.
22401 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
22403         Improve and extend filepos-to-bufferpos
22404         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
22405         Don't barf if F returns nil for some argument.
22406         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
22407         that every encoding of type 'charset' is single-byte.
22409 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
22411         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
22412         Properly delete packages.  (Bug#20836)
22414 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
22416         Update data files from just-released Unicode 8.0
22417         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
22418         status.
22419         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
22420         * admin/unidata/BidiMirroring.txt:
22421         * admin/unidata/BidiBrackets.txt:
22422         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
22424 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
22426         Document curved quotes a bit better
22427         * doc/emacs/basic.texi (Inserting Text):
22428         Mention C-x 8.  Change example to use curved quote rather
22429         than infinity, as this lets us give more ways to do it.
22430         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
22431         and quotation marks.
22432         * doc/emacs/text.texi (Quotation Marks):
22433         * doc/lispref/tips.texi (Documentation Tips):
22434         Add "curly quotes" and "curved quotes" to the index.
22435         * doc/emacs/text.texi (Quotation Marks):
22436         Give the C-x 8 shorthands for curved quotes.
22437         Cross-reference to "Quotation Marks".
22439 2015-06-17  Daiki Ueno  <ueno@gnu.org>
22441         Add pinentry.el for better GnuPG integration
22442         * lisp/pinentry.el: New file.
22443         * etc/NEWS: Add entry about pinentry.el.
22444         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
22445         (Bug#20550)
22447 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
22449         * lisp/emacs-lisp/package.el: Slightly better error reporting.
22451 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
22453         (define-minor-mode): Use setq-default for :global minor modes
22454         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
22455         Use setq-default for :global minor modes (bug#20712).
22457 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
22459         Avoid infloop in redisplay with tall images
22460         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
22461         down near ZV.  (Bug#20808)
22462         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
22463         instead of CHARPOS.
22465 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
22467         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
22468         Fix error reporting.
22470         * lisp/emacs-lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
22472         * lisp/emacs-lisp/package.el: Revert buffer after any operation
22473         Call `package-menu--post-refresh' after any operation that changes
22474         the package database (`package-install' and `package-delete').  To
22475         avoid performance issues in large transactions, these functions
22476         add `post-refresh' to `post-command-hook' instead of calling it
22477         immediately.
22478         (package-menu--mark-or-notify-upgrades): New function.
22479         (list-packages): Add it to `package--post-download-archives-hook'.
22480         (package-menu--post-refresh): Lose the upgrade-checking code, add
22481         code to remove itself from `post-command-hook'.
22482         (package-install, package-delete): Add it to `post-command-hook'.
22483         (package-menu-execute): Don't call `package-menu--post-refresh'.
22485 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
22487         Add missing function xref-location-group for elisp-mode.
22488         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
22490 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
22492         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
22493         The behavior now matches the description in the manual.  (Bug#20783)
22495 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
22497         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
22499 2015-06-17  Glenn Morris  <rgm@gnu.org>
22501         Generate char-script-table from Unicode source.  (Bug#20789)
22502         * admin/unidata/Makefile.in (AWK): New, set by configure.
22503         (all): Add charscript.el.
22504         (blocks): New variable.
22505         (charscript.el, ${unidir}/charscript.el): New targets.
22506         (extraclean): Also remove generated charscript.el.
22507         * admin/unidata/blocks.awk: New script.
22508         * admin/unidata/Blocks.txt: New data file, from unicode.org.
22509         * lisp/international/characters.el: Load charscript.
22510         * src/Makefile.in (charscript): New variable.
22511         (${charscript}): New target.
22512         (${lispintdir}/characters.elc): Depend on charscript.elc.
22513         (temacs$(EXEEXT)): Depend on charscript.
22515         * lisp/international/characters.el (char-script-table): Tweak
22516         some ranges to better match the source.  (Bug#20789#17)
22518         Remove "no-byte-compile: t" from a few files.
22519         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
22520         * lisp/obsolete/patcomp.el: No reason not to compile these.
22522 2015-06-16  Glenn Morris  <rgm@gnu.org>
22524         Fix some typos in copied Unicode data.  (Bug#20789)
22525         * lisp/international/characters.el (char-script-table):
22526         * lisp/international/fontset.el (script-representative-chars)
22527         (setup-default-fontset): Fix typos.
22529         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
22530         Don't print filename twice (it's in the prefix now).
22532         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
22533         No longer needed.
22535         Address a compilation warning.
22536         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
22537         Replace 't' with '_' in pcase.
22539         Address some check-declare warnings.
22540         * lisp/simple.el (tabulated-list-print):
22541         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
22542         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
22543         (ns-get-selection): Update declarations.
22545         Address some compilation warnings.
22546         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
22547         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
22548         Replace 't' with '_' in pcase.
22550         Address some compilation warnings.
22551         * lisp/face-remap.el (text-scale-adjust):
22552         * lisp/menu-bar.el (popup-menu-normalize-position):
22553         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
22554         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
22555         * lisp/emacs-lisp/generator.el (cps--transform-1):
22556         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
22557         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
22558         * lisp/progmodes/octave.el (octave-goto-function-definition)
22559         (octave-find-definition-default-filename):
22560         Replace 't' with '_' in pcase.
22562         * lisp/emacs-lisp/pcase.el (pcase--u1):
22563         Paper-over today's bootstrap failure.
22565 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
22567         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
22569         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
22571         Better confirmation message in `find-alternate-file' (Bug#20830)
22572         * lisp/files.el (find-alternate-file'): Improve the confirmation
22573         message to show the buffer name.
22575         Better docstring for null.  (Bug#20815)
22576         * src/data.c (null): Improves the docstring, saying what null returns
22577         when OBJECT is non-nil.
22579 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
22581         * lisp/net/newst-treeview.el: Use lexical-binding.
22583         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
22584         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
22585         New auxiliary function, extracted from filepos-to-bufferpos.
22586         Make sure it terminates.
22587         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
22588         Add support for the `exact' quality.
22590 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
22592         Identify feeds in newsticker treeview with :nt-feed property
22593         * lisp/net/newst-treeview.el:
22594         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
22596 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
22598         * lisp/emacs-lisp/pcase.el: Improve docs and error handling.
22599         (pcase--self-quoting-p): Floats aren't self-quoting.
22600         (pcase): Tweak docstring.
22601         (pcase--u1): Deprecate the t pattern.  Improve error detection for
22602         the nil pattern.
22603         (\`): Tweak docstring.  Signal an error for unrecognized cases.
22604         (bug#20784)
22606 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
22608         Fix infloop in filepos-to-bufferpos
22609         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
22610         offset calculation, and make it conditional on the eol-type of the
22611         file's encoding.  (Bug#20825)
22613 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
22615         Fix handling of image cache refcounts.  (Bug#20802)
22616         This backports Eli Zaretskii's solution of this problem for W32
22617         to X and NS.
22618         * src/nsfns.m (image_cache_refcount): Define unconditionally.
22619         (unwind_create_frame): If the image cache's reference count
22620         hasn't been updated yet, do that now.
22621         (Fx_create_frame): Set image_cache_refcount unconditionally.
22622         * src/xfns.c (image_cache_refcount): Define unconditionally.
22623         (unwind_create_frame): If the image cache's reference count
22624         hasn't been updated yet, do that now.
22625         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
22626         unconditionally.
22627         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
22628         X and NS.
22630 2015-06-16  Nils Ackermann  <nils@ackermath.info>
22632         Improve reftex-label-regexps default value
22633         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
22634         keyvals label regexp more strict to better cope with unbalanced
22635         brackets common in math documents.
22637 2015-06-16  Glenn Morris  <rgm@gnu.org>
22639         * doc/emacs/calendar.texi (Format of Diary File):
22640         Move "nonmarking" from here...
22641         (Displaying the Diary): ... to here.
22643         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
22644         Swap the order of these nodes.
22645         * doc/emacs/emacs.texi: Update detailed menu for the above change.
22647         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
22648         Update date of examples.
22649         (Diary, Format of Diary File): Move example from former to latter.
22650         Reduce duplication.
22652         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
22653         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
22654         Don't set no-byte-compile in the outputs.
22655         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
22657 2015-06-15  Glenn Morris  <rgm@gnu.org>
22659         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
22660         * doc/emacs/calendar.texi (Diary, Format of Diary File):
22661         Update for above diary-file change.
22663         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
22664         (apply-macro-to-region-lines): Use user-error.
22666         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
22667         (pages-directory-for-addresses): Doc fixes.
22669 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
22671         * lisp/info.el: Cleanup bytepos/charpos issues
22672         * lisp/international/mule-util.el: Use lexical-binding.
22673         (filepos-to-bufferpos): New function.
22674         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
22675         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
22676         (Info-read-subfile, Info-search): Use 0-based file positions.
22678         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
22679         (perl--syntax-exp-intro-keywords): New var.
22680         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
22681         (bug#20800).
22683 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
22685         Fix quoting when making derived mode docstring
22686         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
22687         Nest regexp-quote inside format, not the reverse.
22688         Problem reported by Artur Malabarba in:
22689         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
22691 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
22693         Fix current-iso639-language on MS-Windows
22694         * lisp/international/mule-cmds.el (set-locale-environment):
22695         Downcase the locale name before interning it.  This is so the
22696         'current-iso639-language' on MS-Windows matches the ':lang'
22697         property of font-spec objects.
22699         Limit Symbola usage some more
22700         * lisp/international/fontset.el (setup-default-fontset): Limit
22701         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
22702         (Bug#20727)
22704 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
22706         * lisp/emacs-lisp/map.el (map-let): Better docstring.
22708 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
22710         * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f):
22711         (help-fns-test-funny-names): Spelling fixes.
22713 2015-06-14  Glenn Morris  <rgm@gnu.org>
22715         * lisp/version.el (emacs-repository-version-git): Demote errors.
22716         Check result is a hash.
22718 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
22720         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
22721         Catch errors that happen before going async.  (Bug#20809)
22723 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
22725         Another improvement of documentation of set-fontset-font
22726         * doc/lispref/display.texi (Fontsets): Say explicitly that
22727         CHARACTER can be a single codepoint.
22728         * src/fontset.c (Fset_fontset_font): Doc fix.
22730         Another improvement for symbol and punctuation characters
22731         * lisp/international/fontset.el (setup-default-fontset): Exclude
22732         from Symbola character ranges for symbols and punctuation covered
22733         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
22734         installed and where its coverage of symbols and punctuation is
22735         known to be good.  (Bug#20727)
22737 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
22739         Some generic support for multi-mode indentation.
22740         * lisp/progmodes/prog-mode.el (prog-indentation-context):
22741         New variable.
22742         (prog-first-column, prog-widen): New convenience functions.
22744 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
22746         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
22747         Don't assume that `tabulated-list-printer' will leave point at the
22748         end of the buffer.  (Bug#20810)
22750 2015-06-13  Glenn Morris  <rgm@gnu.org>
22752         Tweaks for getting repository version; a bit more like it was for bzr
22753         * lisp/version.el (emacs-repository-version-git)
22754         (emacs-repository--version-git-1): New functions,
22755         split from emacs-repository-get-version.
22756         (emacs-repository-get-version): Make the second argument meaningful.
22758         * lisp/startup.el (command-line-1): Inform if skipping relative
22759         file names due to deleted PWD.
22761         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
22762         when starup directory is missing.  (Bug#18851)
22763         (errno.h): Include it.
22765 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
22767         Better fix for documenting `X as "`X"
22768         Fix suggested by Stefan Monnier.
22769         * lisp/help-fns.el (help-fns--signature):
22770         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
22771         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
22772         Don't treat `X specially, as help-fns--signature now handles this.
22774 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
22776         Improve the default fontset when Symbola is not installed
22777         * lisp/international/fontset.el (setup-default-fontset): Only
22778         prepend Symbola and FreeMono font specs for symbols and
22779         punctuation; do not replace the default spec for them.  This
22780         should have better results when Symbola/FreeMono are not
22781         installed.  (Bug#20727)
22783         Improve documentation of ':lang' in font specs
22784         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
22785         use of the ':lang' property of the font spec.
22786         * doc/emacs/frames.texi (Fonts): Document the language names that
22787         can be in the STYLE part of XLFD.
22788         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
22789         property.
22791         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
22793         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
22795         Revert last change in fontset.el
22796         * lisp/international/fontset.el (setup-default-fontset): Revert
22797         the change "Configure Symbola font only if installed", since font
22798         search is evidently not yet set up when this function is called.
22799         (Bug#20727)
22801 2015-06-12  Glenn Morris  <rgm@gnu.org>
22803         Ensure early startup warnings are visible at the end.  (Bug#20792)
22804         * lisp/emacs-lisp/warnings.el (display-warning):
22805         If startup isn't complete, delay the warning.
22806         * lisp/startup.el (normal-top-level, command-line):
22807         Let display-warning automatically handle the needed delays.
22808         Run delayed-warnings-hook.
22810         * lisp/version.el (emacs-repository-get-version):
22811         Avoid calling external executable if possible.  (Bug#20799)
22813 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
22815         Document `X as "`X", not as "(` X)"
22816         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
22817         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
22819         * src/print.c (print_object): Minor simplification.
22821 2015-06-12  Glenn Morris  <rgm@gnu.org>
22823         * src/buffer.c (init_buffer): Add final newline to message.
22825 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
22827         Configure Symbola font only if installed
22828         * lisp/international/fontset.el (setup-default-fontset):
22829         Don't specify the Symbola font if it's not installed.
22830         Likewise for FreeMono.  (Bug#20727)
22832 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
22834         Configure Symbola font only for symbols and punctuation
22835         * lisp/international/fontset.el (setup-default-fontset): Leave
22836         only symbols and punctuation in the fontset setup for Symbola
22837         font; remove "Greek and Coptic" and "Cyrillic Supplement".
22838         (Bug#20798)
22840 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
22842         Fix crash in fontset-info
22843         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
22844         non-nil.
22846 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
22848         Port to Solaris 10 sparc + Sun C 5.13
22849         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
22850         Adjust to process.c change.
22851         * src/process.c (create_process): Declare volatile variables at
22852         top level of this function, so that they're less likely to be
22853         reused later in the function in the code executed by the vforked
22854         child.  Do not declare locals used only in the vforked child, as
22855         they might share memory with locals still live in the parent.
22856         Instead, use the same variables in the child as in the parent.
22857         This works around a subtle bug that causes a garbage collector
22858         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
22860 2015-06-12  Glenn Morris  <rgm@gnu.org>
22862         * lisp/startup.el (normal-top-level): Don't let *Messages* get
22863         a nil default-directory.
22865 2015-06-11  Glenn Morris  <rgm@gnu.org>
22867         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
22869         Some progress towards starting with PWD deleted.  (Bug#18851)
22870         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
22871         * lisp/startup.el (normal-top-level, command-line-1):
22872         * lisp/minibuffer.el (read-file-name-default):
22873         Handle default-directory being nil.
22875 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
22877         Fix "not a tty" bug on Solaris 10
22878         * configure.ac (PTY_OPEN): Define to plain 'open'
22879         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
22880         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
22881         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
22882         hosts that call grantpt which does its work via a setuid subcommand
22883         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
22884         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
22885         seems relevant in that case too.
22887 2015-06-11  Juri Linkov  <juri@linkov.net>
22889         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
22890         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
22891         (Bug#20785)
22893 2015-06-11  Glenn Morris  <rgm@gnu.org>
22895         * lisp/international/characters.el (char-script-table): Fix typo.
22897 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
22899         Fix quoting of help for functions with odd names
22900         While investigating Bug#20759, I discovered other quoting problems:
22901         C-h f mishandled characters like backslash and quote in function names.
22902         This fix changes the behavior so that 'C-h f pcase RET' now
22903         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
22904         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
22905         in src/lread.c's read1 function says that the backslash will be
22906         needed starting in Emacs 25, which implies that 'format' is
22907         correct and the old pcase documention was wrong to omit the backslash.
22908         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
22909         * lisp/help-fns.el (help-fns--signature):
22910         * lisp/help.el (help-add-fundoc-usage):
22911         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
22912         Use help--make-usage-docstring rather than formatting
22913         help-make-usage.
22914         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
22915         Return raw docstring.
22916         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
22917         raw docstring.  Take more care to distinguish raw from cooked dstrings.
22918         (describe-function-1): Let help-fns--signature substitute
22919         command keys.
22920         * lisp/help.el (help--docstring-quote): New function.
22921         (help-split-fundoc): Use it, to quote funny characters more
22922         systematically.
22923         (help--make-usage): Rename from help-make-usage, since this
22924         should be private.  Leave an obsolete alias for the old name.
22925         (help--make-usage-docstring): New function.
22926         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
22928 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
22930         * lisp/thingatpt.el (in-string-p): Revert last change,
22931         since in-string-p is not used in thingatpt.el but only from outside.
22932         Also, use lexical binding.
22934 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
22936         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
22937         * test/automated/let-alist.el (let-alist-cons): Test it.
22939 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
22941         * src/syntax.c (Fbackward_prefix_chars): Reword docstring.
22943 2015-06-10  Glenn Morris  <rgm@gnu.org>
22945         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
22947         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
22948         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
22949         * admin/gitmerge.el (gitmerge-commit-message):
22950         Exclude "skipped" messages from ChangeLog once again.
22952         Slight namespace cleanup for thingatpt.el.
22953         * lisp/thingatpt.el (thing-at-point--in-string-p)
22954         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
22955         (thing-at-point--read-from-whole-string): Rename from
22956         old versions without "thing-at-point--" prefix.
22957         Keep old versions as obsolete aliases.  Update all uses.
22959         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
22960         Move requiring of finder from here...
22961         (checkdoc-package-keywords): ... to here.
22963         Use 'user-error' in a few calendar files.
22964         * lisp/calendar/appt.el (appt-add):
22965         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
22966         (calendar-generate):
22967         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
22968         Replace 'error' with 'user-error'.
22970         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
22972         * lisp/files-x.el (add-file-local-variable):
22973         Special-case 'lexical-binding'.  (Bug#20641)
22975         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
22976         No longer autoload.
22977         * doc/misc/autotype.texi (Executables):
22978         Undocument executable-self-display.
22980         * lisp/progmodes/executable.el (executable-self-display):
22981         Use non-obsolete tail syntax.  (Bug#20779)
22982         (executable-self-display): Doc update.
22984 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
22986         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
22987         (finder-known-keywords): Silence byte-compiler.
22989 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
22991         * lisp/simple.el (eval-expression): Macroexpand before evaluating
22992         (bug#20730).
22994         * lisp/progmodes/sh-script.el: Better handle nested quotes.
22995         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
22996         (sh-font-lock-quoted-subshell): Make sure double quotes within single
22997         quotes don't mistakenly end prematurely the surrounding string.
22999         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
23001 2015-06-09  Glenn Morris  <rgm@gnu.org>
23003         * test/automated/Makefile.in (ELFILES): Sort.
23005         * Makefile.in (SUBDIR_MAKEFILES):
23006         * lwlib/Makefile.in (WARN_CFLAGS):
23007         Use built-in Make functions rather than echo+sed.
23009 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
23011         Update char-script-table
23012         * lisp/international/characters.el (char-script-table): Update
23013         from Unicode 8.0 Draft.
23015         Improve font selection for punctuation and other symbols
23016         * src/fontset.c (face_for_char): If the character's script is
23017         'symbol', and the font used for ASCII face has a glyph for it, use
23018         the font for the ASCII face instead of searching the fontsets.
23019         This comes instead of NS-specific code that used the current
23020         face's font instead, which is now disabled due to undesirable
23021         consequences.  (Bug#20727)
23023 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
23025         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
23026         Skip past `#' to find BEG (bug#20771).
23027         * test/automated/elisp-mode-tests.el
23028         (elisp-completes-functions-after-hash-quote): New test.
23030 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
23032         Fix compilation warning/error in --without-x builds
23033         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
23034         code on HAVE_WINDOW_SYSTEM.
23036         Improve the default fontset wrt symbols
23037         * lisp/international/fontset.el (setup-default-fontset): Better
23038         setup of fontset-default for symbols: use Symbola and FreeMono.
23039         (Bug#20727)
23041 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
23043         Add new command checkdoc-package-keywords
23044         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
23045         New defcustom.
23046         (checkdoc-list-of-strings-p): Add doc.
23047         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
23048         non-nil, call `checkdoc-package-keywords'.
23049         (checkdoc-get-keywords): New defun.
23050         (checkdoc-package-keywords): New command.  Warns if the current file
23051         has package.el-style keywords that aren't in `finder-known-keywords'.
23052         * etc/NEWS: Add entry.
23054 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
23056         Avoid crashes when key-binding is called from a timer
23057         * src/keymap.c (Fkey_binding): Don't segfault if called with an
23058         empty vector as KEY.  (Bug#20705)
23060         Fix a thinko in arc-mode.el
23061         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
23062         non-Zip64 case.  (Bug#20769)
23064 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
23066         * lisp/emacs-lisp/package.el (package-delete): Make interactive.
23068 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
23070         * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function.
23071         (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to
23072         "*warn*", print the warning to the standard output.  (bug#20754)
23074 2015-06-07  Glenn Morris  <rgm@gnu.org>
23076         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
23078         * src/font.c (syms_of_font) <font-log>: Doc fix.
23080         Remove the obsolete leading "*" from some C doc strings.
23081         * src/coding.c (syms_of_coding):
23082         * src/font.c (syms_of_font): Remove leading "*" from docs.
23083         * lisp/cus-start.el (enable-character-translation): Add it.
23085 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
23087         Move gen_origin from program to data
23088         That way, 'make change-history' needs to change only ChangeLog.2,
23089         instead of having to change two files.
23090         * ChangeLog.2: Add commit info for range that this file covers.
23091         * Makefile.in (new_commit_regexp): New macro.
23092         (change-history-nocommit): Simplify, by putting what used to be
23093         the gen_origin value into the data (ChangeLog.2) rather than
23094         into the program (gitlog-to-emacslog).
23095         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
23096         the input file (e.g., ChangeLog.2) rather than by having a
23097         constant in the program.  Substitute it into the output.
23099 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
23101         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
23102         function name (bug#20759).
23104 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
23106         Adapt 'struct timespec' to next release of MinGW runtime
23107         * nt/inc/ms-w32.h (struct timespec): Don't declare if
23108         __struct_timespec_defined is defined.
23110 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
23112         Merge from gnulib
23113         This incorporates:
23114         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
23115         2015-06-05 stdio: Don't redefine gets when using C++
23116         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
23117         2015-06-02 file-has-acl: fix build on Mac OS X 10
23118         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
23119         2015-06-01 pthread_sigmask: discount system version if a simple macro
23120         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
23121         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
23122         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
23123         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
23124         * lib/gnulib.mk: Regenerate.
23126 2015-06-06  Juri Linkov  <juri@linkov.net>
23128         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
23129         before calling grep-compute-defaults because now it affects the
23130         command lines computed in grep-compute-defaults.  (Bug#20728)
23132 2015-06-06  Glenn Morris  <rgm@gnu.org>
23134         Address some compilation warnings.
23135         * lisp/international/mule-cmds.el (w32-get-console-codepage)
23136         (w32-get-console-output-codepage):
23137         * lisp/progmodes/elisp-mode.el (xref-collect-references):
23138         * lisp/version.el (cairo-version-string): Declare.
23139         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
23141 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
23143         Fix display when a font claims large values of ascent and descent
23144         This fixes bug#20628.
23145         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
23146         coordinate of a hollow cursor glyph when the original glyph's
23147         ascent is too small.
23148         (get_font_ascent_descent, normal_char_ascent_descent)
23149         (normal_char_height): New functions.
23150         (handle_single_display_spec, append_space_for_newline)
23151         (calc_pixel_width_or_height, produce_stretch_glyph)
23152         (calc_line_height_property): Use normal_char_ascent_descent and
23153         normal_char_height.
23154         (x_produce_glyphs): When font-global values of ascent and descent
23155         are too large, use per-character glyph metrics instead, if
23156         possible.  But don't allow the glyph row's ascent and descent
23157         values become smaller than the values from the metrics of the
23158         font's "normal" character.
23159         * src/xftfont.c (xftfont_draw):
23160         * src/w32font.c (w32font_draw): Correct the values of ascent and
23161         descent used to draw glyphless characters' hex code in a box.
23162         * src/xterm.c (x_draw_glyph_string_background):
23163         * src/xdisp.c (x_produce_glyphs):
23164         * src/w32term.c (x_draw_glyph_string_background):
23165         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
23166         to detect fonts whose global ascent and descent values are too
23167         large to be used in layout decision, and redraw the background
23168         when that happens.
23169         * src/dispextern.h (FONT_TOO_HIGH): New macro.
23170         (get_font_ascent_descent): Add prototype.
23171         * src/xterm.c (x_new_font):
23172         * src/w32term.c (x_new_font):
23173         * src/nsterm.m (x_new_font):
23174         * src/font.c (font_open_entity):
23175         * src/composite.c (composition_gstring_width):
23176         Use get_font_ascent_descent to obtain reasonable values for ascent
23177         and descent of a font.
23179 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
23181         Add assertion in adjust_point_for_property
23182         * src/keyboard.c (adjust_point_for_property): Add eassert for
23183         current buffer being shown in selected window.
23185 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
23187         Replace uses of in-string-p; make it obsolete
23188         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
23189         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
23191 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
23193         Fix Dired display of an explicit list of files by ls-lisp.el
23194         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
23195         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
23196         correct for when displaying individual files separately, not as
23197         part of listing a directory, in which case these values are not
23198         recomputed by 'ls-lisp-insert-directory', but used verbatim.
23200         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
23202 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
23204         Do not adjust point in a non-selected window
23205         * src/keyboard.c (command_loop_1): Do not adjust point when
23206         current buffer is not shown in selected window (Bug#20590).
23208         * etc/DEBUG: Mention 'maybe_call_debugger'
23210 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
23212         Fix a unit test for map.el
23213         * test/automated/map-tests.el (test-map-let): Fix the test to work
23214         with the new syntax of `map-let'.
23216         * lisp/emacs-lisp/map.el (map-let): Better docstring.
23218         Better syntax for the map pcase pattern
23219         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
23220         bindings of the form (KEY PAT) or SYMBOL.  KEY is not quoted.
23222         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
23224         Fix a byte-compiler error in map-put and map-delete
23225         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
23226         called with a symbol.
23228 2015-06-05  Glenn Morris  <rgm@gnu.org>
23230         * admin/gitmerge.el (gitmerge-commit-message):
23231         Revert to including "skipped" messages in ChangeLog once again.
23233 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
23235         Use string> instead of equiv lambda with string<
23236         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
23237         lambda with string<.
23239 2015-06-05  Glenn Morris  <rgm@gnu.org>
23241         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
23242         (map--delete-array): Fix typo.
23244         * test/automated/map-tests.el: Replace "assert" with "should".
23246         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
23247         (SUBDIRS_REL): Derive from SUBDIRS.
23249         Tweak some build messages.
23250         * lisp/Makefile.in ($(lisp)/loaddefs.el):
23251         * lisp/cus-dep.el (custom-make-dependencies):
23252         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
23253         * lisp/international/titdic-cnv.el (batch-titdic-convert):
23254         Don't say how to compile.
23256 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
23258         Omit U+0332 COMBINING LOW LINE in previous change
23259         It turns out that it does not work on Ubuntu 15.04.
23261         Fix transliteration of Bahá'í months
23262         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
23263         Improve quality of Latin transliteration of Bahá'í month names.
23265         Fix curved quotes in a few places
23266         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
23267         The strings in question are not doc strings, so this partially
23268         undoes the recent change that assumed they were doc strings.
23269         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
23270         * lisp/info.el (Info-finder-find-node):
23271         Use curved quotes.
23272         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
23273         Also allow curved quotes in doc strings.
23275 2015-06-04  Glenn Morris  <rgm@gnu.org>
23277         * lisp/Makefile.in (AM_V_at): Add missing definition.
23279         * lisp/Makefile.in: Quieten output a bit.
23280         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
23281         Don't echo directories, since the commands we invoke print them.
23283         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
23284         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
23285         (SUBDIRS_SUBDIRS): New variables.
23286         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
23287         Remove.
23288         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
23289         (update-subdirs, compile-main, compile-clean):
23290         Replace "setwins" usage with new "SUBDIRS" variables.
23292         * lisp/vc/compare-w.el (compare-windows-get-window-function):
23293         Fix :version tag.
23295 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
23297         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
23299         Undo removal of x_clear_area call on expose for GTK3 or cairo
23300         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]:
23301         Clear exposed area.  (Bug#20677)
23303 2015-06-04  Glenn Morris  <rgm@gnu.org>
23305         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
23307         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
23309         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
23310         Rename from quail-lao-update-translation, since lao.el defines that.
23312 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
23314         Handle new-style advice in find-funct
23315         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
23316         Handle new-style advice.  Return the symbol's function definition.
23317         (Bug#20718)
23318         (find-function-library): Update accordingly.
23320 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
23322         Merge branch 'map'
23324         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
23326         Add new function string-greaterp
23327         * lisp/subr.el (string-greaterp): New function.  Also aliased to
23328         `string>'.
23329         * test/automated/subr-tests.el (string-comparison-test): Add unit
23330         tests for `string>'and `string<'.
23331         * src/fns.c (string-lessp): Better docstring.
23333 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
23335         Fix timezone-related functions on MS-Windows
23336         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
23337         'xputenv', even if no reallocation of tzvalbuf was necessary.
23338         This fixes a bug in timezone-related functions on MS-Windows.
23339         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
23341 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
23343         Don't pass raw directory name to 'error'
23344         * lisp/files.el (basic-save-buffer-2): Avoid format error if
23345         a directory name contains a string like "%s".
23347 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
23349         Override 'grep --color=always'
23350         * lisp/progmodes/xref.el (xref-collect-matches):
23351         Override --color=always in grep-find-template.
23353 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
23355         Fix error introduced recently in file-notify-tests.el
23356         * test/automated/file-notify-tests.el
23357         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
23358         (file-notify--deftest-remote): Revert previous patch, not
23359         necessary anymore.
23361 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
23363         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
23364         Starting from a display string after a newline, point went to the
23365         previous line.  Also, fix an inadvertent use of a buffer position
23366         with FETCH_BYTE.  (Bug#20701)
23368 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
23370         Instrument file-notify-test.el in order to catch hydra error
23371         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
23372         Wrap body by `ignore-case', in order to trap non-local errors.
23374 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
23376         Undo previous changes in non-toolkit scroll bar drawing
23377         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
23378         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
23380 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
23382         * .gitignore: Also ignore doc/*/*/*.html and .ps.
23384         Support quotes 'like this' in info files
23385         This is possible when 'makeinfo --disable-encoding' is used
23386         in Texinfo 5.
23387         * lisp/calc/calc-help.el (calc-describe-thing):
23388         * lisp/gnus/gnus-art.el (gnus-button-alist):
23389         * lisp/info.el (Info-find-index-name):
23390         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
23391         Also support quotes 'like this'.
23392         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
23393         * lisp/finder.el (finder-font-lock-keywords): Remove var that
23394         hasn't been used in years, instead of bothering to fix its quoting.
23396 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
23398         * .gitignore: Remove !test/etags/html-src/*.html.
23399         It's no longer needed, since *.html was removed.  Sort.
23401 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
23403         Restore <D> instead of '.' in grep-find-template
23404         * lisp/cedet/semantic/symref/grep.el
23405         (semantic-symref-grep-use-template): Update a comment.
23406         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
23407         instead of '.' in grep-find-template (bug#20719).
23408         (rgrep): Pass nil as the directory to rgrep-default-command.
23409         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
23410         default value for DIR.
23411         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
23412         workaround.
23414 2015-06-02  Glenn Morris  <rgm@gnu.org>
23416         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
23418         * configure.ac (emacs_config_features): Add Cairo.
23420         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
23422 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
23424         Ensure that autorevert works for remote files in file-notify-tests.el
23425         * test/automated/file-notify-tests.el (file-notify--test-desc):
23426         New defvar.
23427         (file-notify--test-remote-enabled)
23428         (file-notify-test00-availability, file-notify-test01-add-watch)
23429         (file-notify-test02-events): Use it.
23430         (file-notify--test-event-test): Check proper descriptor.
23431         (file-notify-test03-autorevert): Ensure that
23432         `visited-file-modtime' has changed.  (Bug#20392)
23434 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
23436         Add a pcase pattern for maps and `map-let' based on it
23437         * lisp/emacs-lisp/map.el (map-let): New macro.
23438         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
23439         * test/automated/map-tests.el: New test for `map-let'.
23441 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
23443         Reuse rgrep mechanics in xref-find-regexp
23444         * lisp/progmodes/grep.el (rgrep-default-command):
23445         Extract from `rgrep'.
23446         * lisp/progmodes/xref.el (xref-collect-references): Split from
23447         `xref-collect-matches'.  Only handle the case of symbol search.
23448         (xref-collect-matches): Instead of Semantic Symref, use
23449         `rgrep-default-command', to take advantage of its directory and
23450         file ignore settings.
23451         (xref--collect-match): Remove the last argument, leaving the
23452         regexp construction up to the caller.
23453         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
23454         Change to take the xref-collect- function to use as an argument.
23455         (elisp-xref-find): Update accordingly.
23456         * lisp/progmodes/etags.el (etags--xref-find-matches)
23457         (etags-xref-find): Same.
23459         Move xref-elisp-location to elisp-mode.el
23460         * lisp/progmodes/xref.el (xref-elisp-location)
23461         (xref-make-elisp-location, xref-location-marker): Remove here.
23462         (xref--xref): Don't limit the type of the location slot.
23463         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
23464         Define as a cl-struct here.
23465         (xref-location-marker): Move here.
23467 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
23469         Minor tweaks for .gitignore
23470         * .gitignore: Don't ignore versioned *.html and *.ps files.
23471         Don't ignore admin/notes/tags that might be ignored as TAGS
23472         on case-insensitive filesystems.  (Bug#20710)
23474 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
23476         Generate curved quotes in ert doc
23477         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
23478         (ert-results-mode-menu)
23479         (ert-results-pop-to-backtrace-for-test-at-point)
23480         (ert-results-pop-to-messages-for-test-at-point)
23481         (ert-results-pop-to-should-forms-for-test-at-point)
23482         (ert-describe-test):
23483         Quote ‘like this’, not `like this', when generating doc strings
23484         and the like.
23485         * test/automated/ert-x-tests.el (ert-test-describe-test):
23486         Allow quoting ‘like this’.
23488 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
23490         Add test for previous commit
23491         * test/automated/replace-tests.el: New file.
23492         (query-replace--split-string-tests): Add test for previous commit.
23494         Avoid confusion in query-replace history when replacing NUL chars
23495         * lisp/replace.el (query-replace--split-string): New function.
23496         (query-replace-read-from): Rely on the 'separator' property
23497         instead of searching for the NUL character (Bug#20690).
23499 2015-06-02  Glenn Morris  <rgm@gnu.org>
23501         Merge from origin/emacs-24
23502         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
23504         * admin/gitmerge.el (gitmerge-commit-message):
23505         Exclude "skipped" messages from ChangeLog.
23507 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
23509         Sync with Tramp repository
23510         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
23511         messages.
23512         (tramp-handle-make-auto-save-file-name): When calling
23513         `make-auto-save-file-name' internally, make sure it uses Unix-like
23514         behavior, not Windows-like behavior.
23515         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
23516         the local case, because "chown" might fail on w32.
23517         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
23518         for XEmacs.
23520 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
23522         MS-Windows followup for batch stdout/stderr output changes
23523         * lisp/international/mule-cmds.el (set-locale-environment):
23524         In batch mode, use console codepages for keyboard and terminal
23525         encoding.  (Bug#20545)
23527         Update .gitattributes for DOS EOL files
23528         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
23529         CRLF end-of-line format.
23531         NS equivalents of xterm.c and w32term.c changes
23532         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
23533         glyph string background also when the font in use claims
23534         preposterously large global height value.  Helps to remove
23535         artifacts left from previous displays when glyphless characters
23536         are displayed as hex code in a box.
23537         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
23538         value for FRAME_LINE_HEIGHT, even when a font claims very large
23539         value for its height.
23541 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
23543         Avoid grave accent quoting in stderr diagnostics
23544         A few Emacs diagnostics go directly to stderr, and so can't easily
23545         contain curved quotes (as non-UTF-8 locales might mishandle them).
23546         Instead of bothering to add support for this rarity, reword the
23547         diagnostics so that they don't use grave accent to quote.
23548         * src/alloc.c (mark_memory): Fix comment.
23549         * src/buffer.c (init_buffer):
23550         * src/dispnew.c (init_display):
23551         * src/emacs.c (main, sort_args):
23552         * src/lread.c (dir_warning):
23553         * src/term.c (init_tty):
23554         * src/unexmacosx.c (unexec):
23555         * src/xfns.c (select_visual):
23556         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
23557         Reword stderr diagnostics to avoid quoting `like this'.
23558         * src/unexmacosx.c: Include errno.h.
23559         * src/xfns.c (select_visual): Encode value for locale.
23561 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
23563         Treat batch stdout/stderr like standard display
23564         Calls like (print FOO) could generate improperly encoded or
23565         hard-to-read output if FOO contains characters outside the system
23566         locale.  Fix this by treating batch stdout and stderr like
23567         interactive standard display, when it comes to transliterating and
23568         encoding characters (Bug#20545).
23569         * doc/emacs/mule.texi (Communication Coding):
23570         * doc/lispref/display.texi (Active Display Table):
23571         * doc/lispref/nonascii.texi (Locales):
23572         * etc/NEWS:
23573         * src/coding.c (syms_of_coding):
23574         * src/dispnew.c (syms_of_display):
23575         Document this.
23576         * src/print.c: Include disptab.h.
23577         (printchar_to_stream): New function, with much of the guts of the
23578         old Fexternal_debugging_output, except this one also uses the
23579         standard display table.
23580         (printchar, strout, Fexternal_debugging_output): Use it.
23582 2015-05-31  Glenn Morris  <rgm@gnu.org>
23584         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
23586 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
23588         Remove DEFSYMs that aren't used at the C level.  Also:
23589         * src/decompress.c (Qzlib_dll):
23590         * src/font.c (Qunicode_sip):
23591         * src/frame.c (Qtip_frame):
23592         * src/ftfont.c (Qserif):
23593         * src/gnutls.c (Qgnutls_dll):
23594         * src/xml.c (Qlibxml2_dll):
23595         Move from here ...
23596         * src/w32fns.c (syms_of_w32fns): ... to here,
23597         as these are used only on MS-Windows.
23599 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
23601         Use another default value for tramp-histfile-override
23602         * lisp/net/tramp-sh.el (tramp-histfile-override):
23603         Use ".tramp_history" as default.
23604         Fixes bug#20446
23606 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
23608         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
23610 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
23612         * etc/NEWS: Add an entry about map.el.
23614         Improve the docstring of functions in map.el
23615         Since a map is not a data structure but a concept, adding information
23616         about the possible types of maps can be useful information.
23617         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
23618         each public function.
23620 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
23622         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
23623         specific tests depending on the type of the map.
23625         * lisp/emacs-lisp/map.el: Better docstrings.
23627 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
23629         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda.
23631 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
23633         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
23635         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
23637         Fix a false negative in `map-elt' with alists and values being nil
23638         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
23639         found but its associated value is nil, do not return the default
23640         value.
23641         * test/automated/map-tests.el: Add a regression test.
23643 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
23645         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
23647         Do not signal an error when trying to delete a key from an array
23648         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
23649         the key is present to avoid signaling an error.
23650         * test/automated/map-tests.el: Add a test for deleting non-existing
23651         keys from maps.
23653         * lisp/emacs-lisp/map.el: Better docstring.
23655         Minor improvement in map-elt
23656         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
23657         doing a lookup in arrays, but check the boundaries of the array
23658         instead.
23659         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
23660         and a negative integer as key.
23662 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
23664         * test/automated/map-tests.el: Refactoring of test methods.
23666         * test/automated/map-tests.el: Renamed from map-test.el.
23668 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
23670         * lisp/emacs-lisp/map.el (map-into): Better error message.
23672         * lisp/emacs-lisp/map.el: Remove byte-compilation warnings.
23674         Throw an error when converting a map into an unknown map type
23675         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
23676         not valid.
23677         * test/automated/map-tests.el: Add a regression test.
23679         New library map.el similar to seq.el but for mapping data structures.
23680         * test/automated/map-tests.el: New file.
23681         * lisp/emacs-lisp/map.el: New file.
23683 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
23685         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
23686         there's no explicit tag name (bug#20629).
23688 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
23690         Remove format2
23691         * src/editfns.c, src/lisp.h (format2): Remove.
23692         It is more trouble than it's worth, now that we have CALLN.
23693         This is just a minor refactoring.
23694         * src/buffer.c (Fkill_buffer):
23695         * src/dbusbind.c (XD_OBJECT_TO_STRING):
23696         * src/fileio.c (barf_or_query_if_file_exists):
23697         Adjust to format2 going away.
23699         Don't misencode C-generated messages
23700         Also, be more consistent about calls to 'Fmessage' vs 'message'.
23701         * src/alloc.c (Fgc_status):
23702         Prefer AUTO_STRING to build_string for Fmessage call.
23703         * src/data.c (Fmake_variable_buffer_local)
23704         (Fmake_local_variable, Fmake_variable_frame_local):
23705         * src/doc.c (store_function_docstring):
23706         Use Fmessage, not message, since the argument can contain
23707         non-ASCII characters, and this can cause the resulting message
23708         to be incorrectly encoded for the current environment.
23709         * src/fns.c (maybe_resize_hash_table):
23710         * src/xselect.c (x_clipboard_manager_save_all):
23711         Use message, not Fmessage, since Fmessage's power isn't needed here.
23712         * src/process.c (Fmake_network_process): Reword message to avoid %s.
23713         * src/xdisp.c (vmessage): Document restrictions on message contents.
23714         (message_nolog) [false]: Remove unused code.
23716         Use \r rather than ^M in string literals
23717         This is less likely to cause problems on platforms that
23718         use CRLF (or CR!) termination for lines.
23720         Update .gitattributes to match current sources
23721         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
23722         * .gitattributes: Accommodate tests that insist on DOS format.
23723         Remove test/automated/data/decompress/foo-gzipped.
23724         Add etc/e/eterm-color.
23726 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
23728         * doc/emacs/mule.texi (Modifying Fontsets):
23729         Document face-ignored-fonts.  (Bug#20628)
23731         Add etags test for the new -Q option
23732         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
23733         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
23734         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
23735         test-case changes below.
23736         * test/etags/ETAGS.good_6: New file.
23737         * test/etags/cp-src/x.cc: New file.
23738         * test/etags/Makefile (CPSRC): Add x.cc.
23739         (check): Add one more test, for -Q.
23741 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
23743         Use list for the tags completion table, not obarray
23744         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
23745         list instead of an obarray
23746         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
23747         (tags-completion-table): Combine those lists.
23748         (tags-completion-table): Update the docstring.
23750 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
23752         Restore EOL format testing in etags
23753         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
23754         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
23755         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
23756         test-case changes below.
23757         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
23758         * test/etags/cp-src/c.C (B): Add back stray CR character.
23759         * test/etags/c-src/dostorture.c: Add back.
23760         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
23762 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
23764         Declare Emacs on MS-Windows to be DPI-aware
23765         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
23766         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
23767         This avoids Windows entering compatibility mode for Emacs,
23768         which causes fonts to look less nice.
23770 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
23772         Improve Tramp traces
23773         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
23774         * lisp/net/tramp.el (tramp-debug-message): Use it.
23776 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
23778         backup-buffer minor reworking of internals
23779         * lisp/files.el (backup-buffer): Rework to avoid a couple of
23780         unused locals inadvertently introduced in the previous change.
23782         backup-buffer now reports .emacs.d/%backup% ills
23783         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
23784         fails due to disk space exhaustion or whatever, do not pretend
23785         that it succeeded.  More generally, do a better job of checking
23786         for I/O failures, and limit the scope of the condition-case to
23787         just the operations where file errors should be caught and ignored
23788         (Bug#20595).  Also, don't bother trying to delete later backups if
23789         an earlier deletion fails, as this is a sign of trouble and it's
23790         better to stop when there's trouble.
23792         copy-file now truncates output after writing
23793         * src/fileio.c (Fcopy_file): Truncate output after writing rather
23794         than before.  This is more likely to work than truncation before
23795         writing, if the file system is out of space or the user is over
23796         disk quota (Bug#20595).  Also, check for read errors.
23798 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
23800         * lisp/emacs-lisp/package.el (package-load-all-descriptors):
23801         Don't load descriptors from directories above the package directories.
23803 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
23805         Merge from gnulib
23806         This incorporates the following (Bug#20681):
23807         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
23808         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
23809         * lib/set-permissions.c: Copy from gnulib.
23811 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
23813         Improve Tramp traces
23814         * lisp/net/tramp.el (tramp-call-process-region): New defun.
23815         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
23817 2015-05-29  Glenn Morris  <rgm@gnu.org>
23819         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
23821 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
23823         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
23824         The signature was changed in the cairo branch, merged on 2015-05-23.
23825         This oversight broke compiling only the non-toolkit X version.
23827 2015-05-29  Samer Masterson  <samer@samertm.com>
23829         * doc/lispref/os.texi: Update initial-buffer-choice docs.
23831 2015-05-29  Glenn Morris  <rgm@gnu.org>
23833         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
23834         Mark as an expected failure.
23836 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
23838         Change package test to look for curved quotes
23839         * test/automated/package-test.el (package-test-describe-package)
23840         (package-test-signed): Search for curved single quotes as well as
23841         for grave accent and apostrophe.
23843 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
23845         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
23846         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
23848 2015-05-28  Samer Masterson  <samer@samertm.com>
23850         Show files when `initial-buffer-choice' is non-nil
23851         * lisp/startup.el (command-line-1): When Emacs is given a file as an
23852         argument and `initial-buffer-choice' is non-nil, display both the file
23853         and `initial-buffer-choice'.  For more than one file, show
23854         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
23855         commands out of the command line arg parser.
23856         (initial-buffer-choice): Clarify docstring.
23858 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
23860         Fix last commit
23861         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
23862         (gnulib module qcopy-acl): Add back, as it is harmless.  This
23863         minimizes differences wrt lib/gnulib.mk.
23865         Fix the MS-Windows build as followup to gnulib update
23866         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
23867         set-permissions.c, as they don't compile on MinGW.
23868         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
23870 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
23872         Revert my change to gnus-art.el
23873         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
23874         It wasn't that important, and it caused a Gnus build to fail.  See:
23875         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
23877         New minor mode Electric Quote
23878         This lets you easily insert quotes ‘like this’ by typing
23879         quotes `like this', and similarly you can easily insert
23880         quotes “like this” by typing quotes ``like this'' (Bug#20545).
23881         * doc/emacs/basic.texi (Inserting Text):
23882         * doc/emacs/modes.texi (Minor Modes):
23883         * etc/NEWS: Document it.
23884         * doc/emacs/text.texi (Quotation Marks): New section.
23885         * lisp/electric.el (electric-quote-comment)
23886         (electric-quote-string, electric-quote-paragraph):
23887         New custom vars.
23888         (electric--insertable-p)
23889         (electric-quote-post-self-insert-function): New functions.
23890         (electric-quote-mode, electric-quote-local-mode): New minor modes.
23891         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
23892         Add curved single quotes to electric-pair-text-pairs.
23893         Set electric-quote-string in this buffer.
23895         A few more doc string fixes (Bug#20385)
23897         Accept curved quotes in doc strings
23898         * lisp/info-look.el (info-lookup-guess-custom-symbol):
23899         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
23901         Generate curved quotes in pseudo-info nodes
23902         * lisp/info.el (Info-virtual-index-find-node)
23903         (Info-virtual-index, Info-apropos-find-node, info-apropos):
23904         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
23906         Fix minor quoting problems in doc strings
23907         Most of these fixes involve escaping grave accents that are
23908         actually intended to be grave accents, not left quotes.
23909         (Bug#20385)
23911         Support curved quotes in doc strings
23912         Emacs's traditional doc string style has been to quote symbols
23913         `like this'.  This worked well on now-obsolete terminals where
23914         ` and ' were symmetric quotes, but nowadays curved quotes
23915         ‘like this’ look better.  Support quoting the new way too.
23916         (Bug#20385)
23917         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
23918         ‘like-this’ as well as `like-this'.
23919         * etc/NEWS: Mention this.
23920         * lisp/cedet/mode-local.el (overload-docstring-extension)
23921         (mode-local-print-binding, mode-local-describe-bindings-2):
23922         * lisp/cus-theme.el (describe-theme-1):
23923         * lisp/descr-text.el (describe-text-properties-1, describe-char):
23924         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
23925         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
23926         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
23927         (eieio-help-constructor):
23928         * lisp/emacs-lisp/package.el (describe-package-1):
23929         * lisp/faces.el (describe-face):
23930         * lisp/help-fns.el (help-fns--key-bindings)
23931         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
23932         (help-fns--interactive-only, describe-function-1):
23933         (describe-variable):
23934         * lisp/help.el (describe-mode):
23935         * lisp/international/mule-cmds.el (describe-input-method)
23936         (describe-language-environment):
23937         * lisp/international/mule-diag.el (describe-character-set)
23938         (print-coding-system-briefly, list-input-methods)
23939         (list-input-methods-1):
23940         Insert curved quotes rather than grave accent and apostrophe.
23941         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
23942         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
23943         (checkdoc-proper-noun-region-engine):
23944         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
23945         (lisp-cl-font-lock-keywords-2):
23946         * lisp/finder.el (finder-font-lock-keywords):
23947         * lisp/gnus/gnus-art.el (gnus-button-alist):
23948         * lisp/help-fns.el (help-do-arg-highlight)
23949         (describe-function-1, describe-variable):
23950         * lisp/help-mode.el (help-xref-symbol-regexp)
23951         (help-xref-info-regexp, help-xref-url-regexp):
23952         * lisp/help.el (describe-mode):
23953         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
23954         * lisp/wid-edit.el (widget-documentation-link-regexp):
23955         Parse symbols quoted ‘like-this’ as well as `like-this'.
23956         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
23957         Add "‘" and "’" to electric-pair-text-pairs.
23958         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
23959         (elisp-completion-at-point, elisp--preceding-sexp):
23960         Also treat "‘" and "’" as quoting chars.
23962         substitute-command-keys now curves quotes
23963         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
23964         * doc/lispref/help.texi (Keys in Documentation):
23965         * etc/NEWS: Document this.
23966         * src/doc.c (Fsubstitute_command_keys): Implement it.
23968 2015-05-28  Glenn Morris  <rgm@gnu.org>
23970         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
23971         (rmail-summary-by-topic, rmail-summary-by-senders):
23972         No longer strip leading/trailing whitespace.
23974         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
23975         (f90-no-block-limit): Add "enum".  (Bug#20680)
23976         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
23977         New tests.
23979 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
23981         * lisp/isearch.el (isearch--current-buffer): Give a default value.
23982         Un-revert changes mistakenly dropped by f9fabb2b.
23984 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
23986         Merge from gnulib
23987         This incorporates:
23988         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
23989         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
23990         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
23991         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
23992         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
23993         2015-05-26 stdio: fix probe on mingw under gcc 5.1
23994         * admin/merge-gnulib (GNULIB_MODULES):
23995         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
23996         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
23997         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
23998         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
23999         Get latest versions from gnulib.
24000         * lib/get-permissions.c, lib/set-permissions.c: New files.
24001         * lib/gnulib.mk, m4/gnulib-comp.m4:
24002         Regenerate.
24003         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
24005 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
24007         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
24008         process here.
24009         (vc-do-command): Rather than here (bug#20608).
24011 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
24013         Avoid gratuitous delete-dups in face-at-point
24014         * lisp/faces.el (face-at-point): Do not compute the properly
24015         ordered, duplicate-free list if only a single value is
24016         requested anyway.  (Bug#20519)
24018         Show the exact C-x 8 RET invocation in describe-char
24019         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
24020         invocation instead of a template.  (Bug#20522)
24022 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
24024         * lisp/emacs-lisp/package.el: Don't erase tags on refresh.
24025         (package-menu--post-refresh): Call `tabulated-list-print' with the
24026         UPDATE argument.  This only affects the refresh action, the revert
24027         action still erases tags.
24028         (package-menu-get-status): Change `assq' to `assoc'.
24029         (package-menu--mark-upgrades-1): New function.
24030         (package-menu--mark-upgrades-pending): New variable.
24031         (package-menu-mark-upgrades): Use them to delay marking until
24032         after refresh is done.
24033         (package-menu--post-refresh): Call mark-upgrades-1 if
24034         mark-upgrades-pending is non-nil.
24036 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
24038         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
24039         Fix typo in "Improve tramp-handle-make-auto-save-file-name"
24040         (commit 3953c4be2816537be95520605d45b866dc731f4b).
24042 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24044         * lisp/isearch.el (isearch--current-buffer): New var.
24045         (isearch-update): Set cursor-sensor-inhibit here.
24046         (isearch-done): Unset cursor-sensor-inhibit in the right buffer
24047         (bug#20532).
24049         Change inhibit-point-motion-hooks to t
24050         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
24051         to t and document it as obsolete.
24053 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
24055         Support ZIP files that use Zip64 extensions
24056         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
24057         format of central directory offsets used by Zip64 extensions.
24058         (Bug#20665)
24060 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
24062         New test tramp-test30-make-auto-save-file-name
24063         * test/automated/tramp-tests.el
24064         (tramp-test30-make-auto-save-file-name): New test.
24065         (tramp-test31-special-characters)
24066         (tramp-test31-special-characters-with-stat)
24067         (tramp-test31-special-characters-with-perl)
24068         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
24069         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
24070         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
24071         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
24073         Improve tramp-handle-make-auto-save-file-name
24074         * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags.
24075         (tramp-handle-make-auto-save-file-name): Let native
24076         `make-auto-save-file-name' use `auto-save-file-name-transforms',
24077         if `tramp-auto-save-directory' is not set.
24079 2015-05-27  Glenn Morris  <rgm@gnu.org>
24081         No longer set dired-directory in eshell.  (Bug#16477)
24082         * lisp/eshell/esh-mode.el (eshell-mode):
24083         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
24085         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
24087         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
24088         * lisp/progmodes/cc-mode.el (c-mode-help-address):
24089         Change to submit@debbugs.
24090         (c-mode-bug-package): New constant.
24091         (mail-position-on-field): Declare.
24092         (c-submit-bug-report): Insert X-Debbugs-Package header.
24093         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
24094         Mention debbugs.gnu.org.
24096 2015-05-26  Glenn Morris  <rgm@gnu.org>
24098         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
24099         (rmail-summary-by-recipients, rmail-summary-by-topic)
24100         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
24101         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
24103 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
24105         Handle curved quotes in info files
24106         * lisp/calc/calc-help.el (calc-describe-thing):
24107         * lisp/info.el (Info-find-index-name)
24108         (Info-try-follow-nearest-node, Info-fontify-node):
24109         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
24110         In info files, process quotes ‘like this’ the same way we process
24111         quotes `like this'.  This catches a few places we missed earlier.
24113 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
24115         xref-prompt-for-identifier: Use a list value
24116         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
24117         value, to be interpreted as a list of commands.
24118         (xref--prompt-p): New function.
24119         (xref--read-identifier): Use it.
24121 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
24123         Teach MS-Windows font back-end return per-glyph ascent/descent
24124         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
24125         values.
24126         * src/w32font.c (w32font_text_extents): Compute, cache, and
24127         accumulate per-glyph ascent and descent values, instead of copying
24128         global values from the font.  If the values are not available from
24129         the font data, i.e., non-TTF fonts, fall back on font-global values.
24130         (compute_metrics): Compute and return per-glyph ascent and descent
24131         values, if returned by GetGlyphOutlineW, falling back on
24132         font-global values.  (Bug#20628)
24133         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
24134         height of rectangle to be drawn, to be compatible with
24135         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
24136         box, when per-glyph ascent/descent values are used.
24138 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
24140         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
24141         Don't sort if sorter is nil.
24143 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
24145         Fix Bug#20621
24146         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
24147         are major modes which set `auto-save-mode' on their own rules;
24148         Tramp shall not overwrite such settings.
24150 2015-05-26  Glenn Morris  <rgm@gnu.org>
24152         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
24153         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
24154         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
24155         Doc updates.
24156         (vc-dir-mode): Remove unnecessary autoload.
24158 2015-05-25  Philipp Stephani  <phst@google.com>
24160         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52.
24161         (xterm--extra-capabilities-type): Add `getSelection'.
24162         (xterm--query): Add `no-async' argument.
24163         (xterm--init-activate-get-selection): New function.
24164         (terminal-init-xterm): Use it.
24165         (xterm--init-modify-other-keys): Rename from
24166         terminal-init-xterm-modify-other-keys.
24167         (xterm--init-bracketed-paste-mode): Rename from
24168         terminal-init-xterm-bracketed-paste-mode.
24169         (xterm--init-activate-set-selection): Rename from
24170         terminal-init-xterm-activate-set-selection.
24171         (xterm--selection-char): New function.
24172         (gui-backend-set-selection): Use it.  Use the &context to only apply
24173         this method in terminals where we enabled the feature.
24174         (gui-backend-get-selection): New method.
24176 2015-05-25  Daniel Colascione  <dancol@dancol.org>
24178         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
24179         keyword constants to C++.
24181 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
24183         Make TAGS files more portable to MS-Windows
24184         * etc/NEWS: Document this.
24185         * lib-src/etags.c (readline_internal) [DOS_NT]:
24186         Don't treat CRs differently from GNUish hosts.
24187         * lisp/progmodes/etags.el (etags-goto-tag-location):
24188         Adjust STARTPOS to account for the skipped CRs in dos-style files.
24190 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
24192         Improve fix of bug#20634 in tramp-sh.el
24194 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
24196         Fix a typo in last commit
24197         * lib-src/etags.c (C_entries): Fix a typo.
24198         * test/etags/ETAGS.good_1:
24199         * test/etags/ETAGS.good_2:
24200         * test/etags/ETAGS.good_3:
24201         * test/etags/ETAGS.good_4:
24202         * test/etags/ETAGS.good_5:
24203         * test/etags/CTAGS.good: Update due to the change in etags.c.
24205         Fix tagging of class members in C-like OO languages
24206         * lib-src/etags.c (longopts): Add new option --class-qualify and
24207         its shorthand -Q.
24208         (print_help): Add help text for --class-qualify.
24209         (main): Add handling of -Q.
24210         (consider_token, C_entries) <omethodparm>: Append argument types
24211         to Objective C methods only if --class-qualify was specified.
24212         Qualify C++, Objective C, and Java class members with their class
24213         names only if --class-qualify was specified.
24214         (C_entries): If --class-qualify was not specified, remove the
24215         namespace and class qualifiers from tag names of C++ methods.
24216         This allows to use etags.el as xref back-end without the
24217         tag-symbol-match-p method, which greatly increases the number of
24218         potentially false positives.  (Bug#20629)
24219         * doc/man/etags.1: Update to document the new --class-qualify
24220         option.
24221         * test/etags/ETAGS.good_1:
24222         * test/etags/ETAGS.good_2:
24223         * test/etags/ETAGS.good_3:
24224         * test/etags/ETAGS.good_4:
24225         * test/etags/ETAGS.good_5:
24226         * test/etags/CTAGS.good: Update due to changes in etags.c.
24228 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
24230         (cl-generic-define-method): Side effects are evil (bug#20644)
24231         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
24232         cons-cells that might be used as keys in an `equal' hash-table.
24234 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
24236         Make erc timestamps visible again
24237         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec):
24238         Make timestamps visible again (if requested).
24240 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
24242         Fix last change in etags.c that broke tagging compresed files
24243         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
24244         quoting of decompression shell command for MS-Windows/MS-DOS.
24246 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
24248         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist.
24249         (Bug#20639)
24251 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
24253         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
24254         Fix typo in "Inhibit `epa-file-handler' in Tramp"
24255         (commit 89035e247591c8d688fce922b7079881aa110f33).
24257 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
24259         Fix IPv6 addresses in Tramp
24260         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
24261         Add square brackets around host name.
24263 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
24265         Inhibit `epa-file-handler' in Tramp (Bug#20634)
24266         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
24267         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
24268         `epa-file-handler'.
24270 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
24272         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring.
24273         (pcase-let): Document the behavior in case the pattern doesn't match.
24275 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
24277         * lisp/emacs-lisp/tabulated-list.el: New optional print method.
24278         (tabulated-list-print): New optional argument, UPDATE.  If
24279         non-nil, the list is printed by only adding and deleting the
24280         changed entries, instead of erasing the whole buffer.  This method
24281         is much faster when few or no entries have changed.
24282         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
24283         * etc/NEWS: Document it.
24285         * lisp/emacs-lisp/tabulated-list.el: Improve printing.
24286         (tabulated-list--get-sorter): New function.
24287         (tabulated-list-print): Restore window-line when remember-pos is
24288         passed and optimize away the `nreverse'.
24290 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
24292         Simpilify etags TEX mode scanning
24293         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
24294         Remove static vars.
24295         (TeX_commands): Deduce escapes here instead.
24296         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
24297         This removes the need for a reset_input call.
24299         Improve etags I/O error reporting
24300         * lib-src/etags.c:
24301         Don't include sys/types.h and sys/stat.h; no longer needed.
24302         (infilename): New static var.
24303         (process_file_name): Don't call 'stat'.  Instead, just open the
24304         file for reading and report any errors.  Don't bother making
24305         a copy of the file argument; it's not needed.  Be more careful to
24306         use the failing errno when reporting an error.
24307         Quote the real name better (though no perfectly)
24308         when passing it to the shell.
24309         (reset_input): New function, which reports I/O errors.
24310         All uses of 'rewind' changed to use this function.
24311         (perhaps_more_input): New function, which also checks for
24312         I/O errors.  All uses of 'feof' changed to use this function.
24313         (analyze_regex): Report an error if fclose fails.
24314         (readline_internal): Report an error if getc fails.
24315         (etags_mktmp): Return an error if close fails.
24317         etags.c: avoid side effects in 'if'
24318         * lib-src/etags.c (process_file_name, Perl_functions)
24319         (TEX_decode_env): Hoist side effects into previous statement.
24321         .gitignore tweaks
24322         * .gitignore: Ignore all *.stamp files.  Sort.
24323         Ignore [0-9]*.txt (commonly used name for git patches)
24324         and /vc-dwim-log-* (vc-dwim temporary).
24326 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
24328         Fix last change in etags.c, which failed the test suite
24329         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
24330         before the last change.
24332 2015-05-23  Glenn Morris  <rgm@gnu.org>
24334         Remove charset map files from repository, generate in first bootstrap
24335         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
24336         (all): Create the stamp file.
24337         (extraclean): Delete the stamp file.
24338         * src/Makefile.in (lispintdir, charsets): New variables.
24339         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
24340         New rules.
24341         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
24342         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
24343         * etc/charsets/*.map: Remove from repository.
24345 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
24347         Cleanup etags.c to use locale-independent code
24348         Although this doesn't alter behavior (as etags doesn't use
24349         setlocale), the new version is more clearly locale-independent and
24350         the executable is a bit smaller on my platform.
24351         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
24352         Include <c-ctype.h> instead of <ctype.h>.
24353         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
24354         (begtk, midtk):
24355         Remove; no longer needed.
24356         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
24357         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
24358         c_islower, c_tolower, respectively.
24359         (notinname, begtoken, intoken, endtoken): Rewrite as functions
24360         instead of macros, and initialize the tables at compile-time
24361         rather than at run-time.
24363         Put default action first in src/Makefile
24364         * src/Makefile.in (all): Put this rule before lisp.mk.
24365         That way, plain 'make' works in the src directory again.
24367 2015-05-23  Glenn Morris  <rgm@gnu.org>
24369         * Makefile.in: Fix extraclean rule.
24370         (extraclean_dirs): New.
24371         (extraclean): Use it.
24373 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
24375         Avoid compiler warning in image.c on MS-Windows
24376         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
24377         warning in image.c.
24379 2015-05-23  Glenn Morris  <rgm@gnu.org>
24381         Fix --without-toolkit-scroll-bars builds.
24382         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
24383         Add new argument to x_clear_area1.
24384         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
24385         Update x_clear_area arguments.
24387         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
24388         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
24389         Change to included version.
24390         (LOCAL, local, totalclean): Remove.
24391         (extraclean): Delete all generated files.
24393 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
24395         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume
24396         CVS/Entries exists.
24398         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
24400         * lisp/progmodes/etags.el (tags-completion-at-point-function):
24401         Don't trust the find-tag function.
24403 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
24405         Pacify --enable-gcc-warnings
24406         * src/frame.h (x_query_color): Remove redundant extern decl.
24407         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
24408         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
24409         (ftcrfont_text_extents, ftcrfont_draw):
24410         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
24411         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
24412         (x_ins_del_lines, frame_highlight, frame_unhighlight)
24413         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
24414         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
24415         (x_update_window_begin, x_connection_closed)
24416         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
24417         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
24418         (*x_gc_get_ext_data, x_extension_initialize)
24419         (x_cr_accumulate_data):
24420         Remove redundant static decl.  Many of these GCC doesn't complain
24421         about, but we might as well clean out the duplication while we're
24422         in the neighborhood.
24423         * src/xterm.c (x_fill_trapezoid_for_relief):
24424         Remove decl of nonexistent function.
24426 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
24428         Replace gui-method macros with cl-generic with &context
24429         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
24430         (gui-method-declare, gui-call): Remove.
24431         (frame-creation-function): Use cl-defgeneric.
24432         (make-frame): Adjust callers.
24433         * lisp/menu-bar.el (menu-bar-edit-menu):
24434         Use gui-backend-selection-exists-p.
24435         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
24436         (gui-backend-get-selection): New cl-generic to replace
24437         gui-get-selection method.
24438         (gui-backend-set-selection): New cl-generic to replace
24439         gui-set-selection method.
24440         (gui-selection-owner-p): New cl-generic to replace
24441         gui-selection-owner-p method.
24442         (gui-backend-selection-exists-p): New cl-generic to replace
24443         gui-selection-exists-p method.  Adjust all callers.
24444         * lisp/server.el (server-create-window-system-frame): Don't ignore
24445         window-system spec even when unsupported.
24446         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
24447         * lisp/startup.el (handle-args-function, window-system-initialization):
24448         Use cl-defgeneric.
24449         (command-line): Adjust calls accordingly.
24450         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
24451         a window-system-initialization method.
24452         (handle-args-function, frame-creation-function): Use cl-defmethod.
24453         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
24454         (gui-get-selection): Use cl-defmethod on the new functions instead.
24455         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
24456         a gui-backend-get-selection method.
24457         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
24458         Use cl-defmethod on the new functions instead.
24459         (msdos-window-system-initialization): Turn into
24460         a window-system-initialization method.
24461         (frame-creation-function, handle-args-function): Use cl-defmethod.
24462         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
24463         a window-system-initialization method.
24464         (handle-args-function, frame-creation-function): Use cl-defmethod.
24465         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
24466         (gui-get-selection): Use cl-defmethod on the new functions instead.
24467         * lisp/term/x-win.el (x-window-system-initialization): Turn into
24468         a window-system-initialization method.
24469         (handle-args-function, frame-creation-function): Use cl-defmethod.
24470         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
24471         (gui-get-selection): Use cl-defmethod on the new functions instead.
24472         * lisp/term/xterm.el (xterm--set-selection): Turn into
24473         a gui-backend-set-selection method.
24474         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
24475         (Fns_selection_owner_p): Remove unused arg `terminal'.
24476         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
24478 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
24480         Revert "Fix etags Bug#20629 that broke C++ support"
24481         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
24483 2015-05-23  Jan D  <jan.h.d@swipnet.se>
24485         Fix etags Bug#20629 that broke C++ support
24486         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
24487         Revert commit from Sun May 10 (Bug#20629).
24489         Merge branch 'cairo'.
24490         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
24491         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
24493         Merge branch 'master' into cairo
24495         Fixes to compile cairo branch without cairo
24496         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
24497         first argument.
24498         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
24499         USE_CAIRO.
24501 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
24503         * lisp/emacs-lisp/package.el: Always update selected-packages.
24504         (package--update-selected-packages): New function.
24505         (package-menu-execute): Use it before starting the transaction,
24506         this way the list of selected packages is updated even when the
24507         transaction fails.
24508         (package-menu--perform-transaction): Don't edit selected-packages.
24510 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
24512         Fix etags reading of compressed files
24513         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
24514         Include fcntl.h, for O_CLOEXEC.
24515         (process_file_name): Don't use 'popen', whose streams cannot be
24516         rewound.  Instead, uncompress the file to a temporary file,
24517         created by 'etags_mktmp', and read from that as usual.
24518         (etags_mktmp): New function.
24519         * test/etags/ETAGS.good_1:
24520         * test/etags/ETAGS.good_2:
24521         * test/etags/ETAGS.good_3:
24522         * test/etags/ETAGS.good_4:
24523         * test/etags/ETAGS.good_5: Update to be consistent with latest
24524         changes in etags.c regarding reading compressed files.
24526         Improve documentation of 'set-fontset-font'
24527         * doc/lispref/display.texi (Fontsets): Document the value of nil
24528         for the 3rd argument of 'set-fontset-font'.
24530         Fix documentation of forward-line
24531         * src/cmds.c (Fforward_line): Clarify the return value if the line
24532         at end of accessible portion of the buffer has no newline.
24533         * doc/lispref/positions.texi (Text Lines): Document what happens
24534         if the line at end of accessible portion of buffer has no newline.
24535         (Bug#20587)
24537 2015-05-22  Glenn Morris  <rgm@gnu.org>
24539         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
24541         * admin/charsets/mapconv (LC_ALL): Set to C.
24543         * Makefile.in: Add admin/charsets into top-level clean rules.
24544         (clean): Add admin/charsets.
24545         (maybeclean_dirs): New variable.
24546         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
24548         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
24550 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
24552         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc.
24554 2015-05-22  Glenn Morris  <rgm@gnu.org>
24556         Generate admin/charsets Makefile via configure, and make more portable
24557         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
24558         (admin/charsets/Makefile): Generate it.
24559         * admin/charsets/Makefile.in: Rename from Makefile.
24560         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
24561         New variables, set by configure.
24562         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
24563         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
24564         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
24565         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
24566         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
24567         (all): Declare PHONY.
24568         (local): New PHONY target.
24569         (map_template): New template.  Use to define short PHONY aliases.
24570         (*.map): Add directory prefixes to targets and prerequisites.
24571         Respect make verbosity.
24572         (JISC6226.map): Replace non-portable sed append without newline.
24573         (install): Remove rule.
24574         (clean): Only delete temporary sedscript.
24575         (bootstrap-clean, distclean, maintainer-clean, extraclean)
24576         (totalclean): New PHONY rules.
24577         * admin/charsets/mapconv (BASE): Replace basename with expr.
24578         (FILE): Add "mapfiles" subdirectory.
24579         (AWK): New variable.  Use throughout in place of "awk".
24580         (main): Use "gunzip -c" in place of "zcat".
24581         Don't leave whitespace before "p", for older sed.
24582         * admin/charsets/mapfiles/PTCP154: Add final newline,
24583         to make older sed versions happy.
24585 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
24587         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
24588         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
24589         (auto-revert-notify-watch-descriptor): Use defvar-local.
24590         (find-file-hook, auto-revert-tail-mode)
24591         (auto-revert-notify-add-watch): Use setq-local.
24592         (auto-revert-notify-add-watch): Don't call make-local-variable on
24593         kill-buffer-hook (bug#20601).
24595 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
24597         Change defgeneric so it doesn't completely redefine the function
24598         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
24599         previously defined methods.
24600         (cl-generic-define-method): Let-bind purify-flag instead of
24601         using `fset'.
24602         (cl--generic-prefill-dispatchers): Only define during compilation.
24603         (cl-method-qualifiers): Remove redundant alias.
24604         (help-fns-short-filename): Silence byte-compiler.
24605         * test/automated/cl-generic-tests.el:
24606         Adjust to new defgeneric semantics.
24608 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
24610         * lisp/emacs-lisp/package.el (package-menu-execute):
24611         Remove reference to remove-dups.
24613 2015-05-21  kwhite  <kwhite@gnu.org>
24615         * lisp/erc/erc.el: Hide network/channel messages.
24616         (erc-network-hide-list, erc-channel-hide-list): New lists to define
24617         message types per network/channel.
24618         (erc-add-targets): New function to parse list of targets.
24619         (erc-hide-current-message-p): Modify to check for new targets.
24621 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
24623         Don't quote nil and t in doc strings
24624         This is as per "Tips for Documentation Strings" in the elisp manual.
24625         For consistency, do the same in diagnostics and comments.
24627 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
24629         Fix a minor problem with mouse-face on mode line
24630         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
24631         mouse face also if the mouse pointer hovers above mode-line glyphs
24632         that don't come from any Lisp string.  (Bug#20620)
24634 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
24636         * lisp/emacs-lisp/package.el: Fix selected-package logic.
24637         (package-menu-execute): Mark as selected all non-upgrade packages
24638         being installed.
24639         (package-menu--perform-transaction): Don't mark anything.
24641         * lisp/emacs-lisp/package.el: Mode-line progress report.
24642         (package-menu--transaction-status): New variable.
24643         (package-menu-mode, package-menu--perform-transaction): Use it.
24645         * lisp/emacs-lisp/package.el: Better transaction messages.
24646         (package-menu--partition-transaction): New function.
24647         (package-menu--prompt-transaction-p, package-menu-execute):
24648         Use it.
24649         (package-menu--perform-transaction): Don't do any messaging.
24651         * lisp/emacs-lisp/package.el: Revert async package transactions.
24652         (package-menu-async): Update doc.
24653         (package-install-from-archive, package-download-transaction)
24654         (package-install, package-menu--perform-transaction)
24655         (package-menu-execute): Remove asynchronous functionality.
24657 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
24659         Revert doc string changes to f90.el
24660         Problem reported by Glenn Morris in:
24661         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
24662         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
24663         Revert recent changes to doc strings, as it's intended that they
24664         use grave accent, not quote.
24666 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
24668         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p):
24669         Improve parameter name.
24671         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function.
24673 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
24675         Don't require help-fns when not needed
24676         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
24677         * lisp/emacs-lisp/elint.el:
24678         Don't require help-fns at the top level
24679         * lisp/emacs-lisp/advice.el (ad-arglist):
24680         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
24681         Don't require help-fns.  (Bug#17001)
24683 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
24685         Fix slash collapsing in etags on MS-Windows
24686         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
24687         MS-Windows code from the Posix code, and support collapsing both
24688         forward- and back-slashes on MS-Windows.  Fixes a regression found
24689         by the test suite.
24691         Improve documentation of glyphless-char-display
24692         * doc/lispref/display.texi (Glyphless Chars): Improve
24693         documentation of glyphless character display.
24695         Fix "acronym" display of glyphless characters on w32
24696         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
24697         ignore "acronym" substitutes of 1 character for glyphless characters.
24699 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
24701         Add an automated test for let-when-compile
24702         * test/automated/subr-tests.el (let-when-compile): New test.
24704         Add let-when-compile macro instead of using pcase-let
24705         * lisp/subr.el (let-when-compile): New let-like macro that makes its
24706         bindings known to macros like `eval-when-compile' in the body.
24707         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to
24708         a `let-when-compile'.  Also comment out the unused lexical var
24709         `el-kws-re'.
24710         The change greatly improves readability, while providing almost the
24711         same (even shorter) byte code: instead of pre-evaluating 10 variables,
24712         tossing them into a list, and destructuring that list a full screen
24713         page later, the variables are simply bound as they are evaluated,
24714         wrapped individually in `eval-when-compile'.
24716 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
24718         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer.
24719         (package-delete-button-action): New function.
24720         (describe-package-1): Add Delete button.
24722         * lisp/emacs-lisp/package.el: Better dependency description.
24723         (package--used-elsewhere-p): New optional arg, ALL, and return
24724         package-desc objects instead of names.
24725         (package-delete): Update accordingly.
24726         (describe-package-1): Describe which packages require the package.
24728 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
24730         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
24731         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
24732         Fix doc-string.
24734         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
24735         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
24736         (switch-to-buffer): If the selected window is strongly dedicated
24737         to its buffer, signal error before prompting for buffer name.
24738         Handle `switch-to-buffer-in-dedicated-window'.
24739         * doc/lispref/windows.texi (Switching Buffers):
24740         Document `switch-to-buffer-in-dedicated-window'.
24742 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24744         Prefer "this" to “this” in doc strings
24745         This mostly just straightens quotes introduced in my previous patch.
24746         Suggested by Dmitry Gutov in:
24747         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
24748         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
24749         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
24750         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
24751         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
24752         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
24753         Prefer straight double quotes to curved double quotes in doc strings.
24755         Fix minor quoting problems in doc strings
24756         These were glitches regardless of how or whether we tackle the
24757         problem of grave accent in doc strings.
24758         * lisp/calc/calc-aent.el (math-restore-placeholders):
24759         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
24760         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
24761         * lisp/leim/quail/hebrew.el ("hebrew-new")
24762         ("hebrew-biblical-sil"):
24763         * lisp/leim/quail/thai.el ("thai-kesmanee"):
24764         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
24765         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
24766         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
24767         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
24768         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
24769         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
24770         (semantic-tag-components):
24771         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
24772         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
24773         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
24774         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
24775         * lisp/emacs-lisp/generator.el (iter-next):
24776         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
24777         (gnus-article-mode-syntax-table):
24778         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
24779         * lisp/net/soap-client.el (soap-wsdl-get):
24780         * lisp/net/telnet.el (telnet-mode):
24781         * lisp/org/org-compat.el (org-number-sequence):
24782         * lisp/org/org.el (org-remove-highlights-with-change)
24783         (org-structure-template-alist):
24784         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
24785         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
24786         (handwrite-12pt, handwrite-13pt):
24787         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
24788         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
24789         * lisp/progmodes/verilog-mode.el (verilog-tool)
24790         (verilog-string-replace-matches, verilog-preprocess)
24791         (verilog-auto-insert-lisp, verilog-auto-insert-last):
24792         * lisp/textmodes/makeinfo.el (makeinfo-options):
24793         * src/font.c (Ffont_spec):
24794         Fix minor quoting problems in doc strings, e.g., missing quote,
24795         ``x'' where `x' was meant, etc.
24796         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
24797         Fix minor quoting problem in other string.
24798         * lisp/leim/quail/ethiopic.el ("ethiopic"):
24799         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
24800         Omit unnecessary quotes.
24801         * lisp/faces.el (set-face-attribute, set-face-underline)
24802         (set-face-inverse-video, x-create-frame-with-faces):
24803         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
24804         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
24805         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
24806         * lisp/net/tramp.el (tramp-methods):
24807         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
24808         * lisp/textmodes/artist.el (artist-ellipse-right-char)
24809         (artist-ellipse-left-char, artist-vaporize-fuzziness)
24810         (artist-spray-chars, artist-mode, artist-replace-string)
24811         (artist-put-pixel, artist-text-see-thru):
24812         * lisp/vc/ediff-util.el (ediff-submit-report):
24813         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
24814         Use double-quotes rather than TeX markup in doc strings.
24815         * lisp/skeleton.el (skeleton-pair-insert-maybe):
24816         Reword to avoid the need for grave accent and apostrophe.
24817         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
24818         Don't use grave and acute accents to quote.
24820 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
24822         * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1):
24823         Silence compiler.
24825 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
24827         Try to port new etags tests to MS-Windows
24828         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
24829         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
24830         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
24831         Adjust to test-case changes below.
24832         * test/etags/Makefile (CSRC): Remove dostorture.c.
24833         Whatever it was trying to test, wasn't working portably.
24834         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
24835         just a line-ending problem.
24836         * test/etags/c-src/dostorture.c: Remove.
24837         * test/etags/cp-src/c.C: Remove stray CR.
24838         * test/etags/html-src/algrthms.html: Remove trailing CRs.
24839         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
24840         but if someone edits it later it should stay UTF-8-compatible.
24842 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
24844         Fix display of overlapping window-specific overlays
24845         * src/keyboard.c (adjust_point_for_property): When adjusting point
24846         due to display strings, ignore overlays that are specific to
24847         windows other than the currently selected one.
24848         * src/xdisp.c (handle_single_display_spec): If the display
24849         property comes from an overlay, arrange for buffer iteration to
24850         resume only after the end of that overlay.  (Bug#20607)
24852 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
24854         New command icomplete-force-complete-and-exit
24855         * lisp/icomplete.el (icomplete-force-complete-and-exit):
24856         New command
24857         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
24858         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
24859         (icomplete-minibuffer-map): Bind C-j to it.
24860         (icomplete-forward-completions, icomplete-backward-completions):
24861         Mention the new command in the docstring.
24862         * lisp/minibuffer.el (minibuffer-force-complete-and-exit):
24863         Revert the previous fix for bug#17545.
24865 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
24867         Fix last commit
24869         In Elisp manual explain how to override window manager positioning
24870         (Bug#20552)
24871         * doc/lispref/frames.texi (Position Parameters): Give example of
24872         how to override a window manager positioning decision.
24874         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
24875         * src/frame.c (Fdelete_frame): In doc-string mention that frame
24876         can't be deleted if it has a surrogate minibuffer.
24877         * doc/lispref/frames.texi (Minibuffers and Frames)
24878         (Deleting Frames): Explain "surrogate minibuffer frames".
24880         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
24882 2015-05-18  Glenn Morris  <rgm@gnu.org>
24884         Add option to ignore commit lines matching a pattern in ChangeLog
24885         * build-aux/gitlog-to-changelog: Add --ignore-line option.
24886         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
24888 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
24890         Don't skip new etags tests on non-UTF-8 hosts
24891         Problem reported by Eli Zaretskii for MS-Windows.
24892         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
24893         (LC_ALL): Set to C if the current locale isn't UTF-8.
24894         (.PHONY): Remove ediff_1 thru ediff_5.
24895         (check): Always run.
24897 2015-05-18  Glenn Morris  <rgm@gnu.org>
24899         * lisp/calculator.el (calculator-funcall):
24900         * lisp/textmodes/artist.el (artist-spray-random-points):
24901         Use standard degree/radian conversion utilities.
24903         Further lisp-complete-symbol related cleanup.
24904         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
24905         Unadvertise non-functional argument.  Replace obsolete alias.
24907 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
24909         Add a test case for Maven warning ouput
24910         * test/automated/compile-tests.el
24911         (compile-tests--test-regexps-data): Add a case for Maven warning
24912         ouput.
24913         (compile--test-error-line): Check the compilation message type, if
24914         it's specified in the test data.
24916 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
24918         Update Maven compilation-mode entry to distinguish warnings
24919         * lisp/progmodes/compile.el
24920         (compilation-error-regexp-alist-alist): Update Maven entry to
24921         distinguish warnings (bug#20556).
24923 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
24925         * test/automated/sgml-mode-tests.el: New file.
24927 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
24929         Improve handling of the first Git revision
24930         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
24931         there's no next entry, delete until the end of the buffer.
24932         (log-view-end-of-defun-1): Stop at eob.
24933         * lisp/vc/vc-annotate.el
24934         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
24935         when previous-revision is nil.
24936         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
24937         with `--' to avoid ambiguity.
24938         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
24939         returned revision string.
24940         (vc-git-annotate-time): Expect `^' before the first revision.
24941         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
24942         REV1 is nil, and REV2 is not.
24943         * lisp/vc/vc.el: Update the description of the `diff' function.
24945 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
24947         Allow checkdoc to be called in batch
24948         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
24949         is non-nil, echo the error with `warn'.
24950         How it can be used in -batch:
24951         (with-current-buffer (find-file "checkdoc.el")
24952           (checkdoc-current-buffer t))
24954 2015-05-18  Glenn Morris  <rgm@gnu.org>
24956         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
24958 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
24960         * admin/notes/unicode: New section "binary files".
24962         Change new etags test to use UTF-8 encoding
24963         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
24964         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
24965         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
24966         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
24967         * test/etags/html-src/softwarelibero.html:
24968         Switch to UTF-8 encoding.
24969         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
24970         Remove Makefile, as it's too incestuous to have the test input
24971         include the build procedure.
24972         (UTF8_LOCALE, UTF_ENCODING): New macros.
24973         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
24974         (check): Skip if not UTF-8.
24975         (.PHONY): New rule.
24976         (FRC): Remove, as superseded by .PHONY.  All uses removed.
24977         (regexfile): Prefer printf to echo when outputting oddball chars.
24978         (.PRECIOUS): Remove, as these files are not built.
24980         Rename 'foo-gzipped' to 'foo.gz'
24981         * test/automated/data/decompress/foo.gz:
24982         Rename from test/automated/data/decompress/foo-gzipped,
24983         to make it easier for other tools to tell that it's compressed.
24984         * test/automated/zlib-tests.el (zlib--decompress):
24985         Adjust to renamed file.
24987 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
24989         Set up default-directory
24990         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
24991         binding for `v'.
24992         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
24993         appropriate value for default-directory.
24995 2015-05-17  Samer Masterson  <samer@samertm.com>
24997         * lisp/eshell/em-term.el (eshell-term-sentinel):
24998         No-op by default, only kills term buffer if
24999         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
25000         (eshell-destroy-buffer-when-process-dies): New custom to preserve
25001         previous behavior.
25003         eshell: Introduce new buffer syntax
25004         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
25005         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
25006         needed (Bug#19319).
25007         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
25008         (eshell-get-target): Remove shorthand-specific code.
25009         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
25010         '#<buffer-name>'.
25012 2015-05-17  Jan D  <jan.h.d@swipnet.se>
25014         Merge branch 'master' into cairo
25016 2015-04-26  Jan D  <jan.h.d@swipnet.se>
25018         Merge branch 'master' into cairo
25020         Add PBM support for cairo
25021         * src/image.c (xcolor_to_argb32): New function.
25022         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
25023         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
25024         XImagePtr if ! USE_CAIRO.
25025         (pbm_load): Add cairo support.
25027 2015-04-12  Jan D  <jan.h.d@swipnet.se>
25029         * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw.
25030         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
25031         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
25032         x_free_cr_resources.
25034         Handle specified bg in images.  Use generic libpng code for PNGs.
25035         * src/image.c (get_spec_bg_or_alpha_as_argb)
25036         (create_cairo_image_surface): New functions when USE_CAIRO.
25037         (xpm_load): Call the above functions.  Handle XPM without mask
25038         when USE_CAIRO.
25039         (png_load_body): Handle USE_CAIRO case.
25040         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
25041         instead.
25042         (jpeg_load_body): Call create_cairo_image_surface.
25043         (gif_load, svg_load_image): Handle specified background, call
25044         create_cairo_image_surface.
25045         * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO.
25047 2015-04-11  Jan D  <jan.h.d@swipnet.se>
25049         Support GIF and TIFF with cairo
25050         * configure.ac: Allow jpeg with cairo.
25051         Allow tiff and gif with cairo.
25052         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
25053         (tiff_load): Create cairo image surface if USE_CAIRO.
25054         (gif_load): Ditto.
25056         Support JPEG with USE_CAIRO
25057         * configure.ac: Allow jpeg with cairo.
25058         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
25060 2015-04-05  Jan D  <jan.h.d@swipnet.se>
25062         Support RSVG and cairo
25063         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
25064         * src/dispextern.h (struct image): Add cr_data2 if cairo.
25065         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
25066         (x_clear_image): Free cr_data and cr_data2 if set.
25067         (xpm_load): Assign data to cr_data2.
25068         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
25070 2015-04-03  Jan D  <jan.h.d@swipnet.se>
25072         Introduce limited Xpm support (32 bit ZPixmap) for Cairo
25073         * configure.ac (HAVE_RSVG): Move after cairo.
25074         (USE_CAIRO): Disable rsvg, don't disable Xpm.
25075         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
25076         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
25077         don't return early.
25078         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
25079         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
25080         and create a surface.
25082         Tool tips for menus did not show any text.
25083         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
25084         tip frames, the geometry may be wrong.
25086         Merge branch 'master' into cairo, fixes tooltips not shown.
25088         Merge branch 'master' into cairo
25090         Add CAIRO_CFLAGS to lwlib/Makefile.in
25091         * Makefile.in (CAIRO_CFLAGS): Add.
25093 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
25095         * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
25097 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
25099         Draw outermost line using black relief and erase corners also for cairo.
25100         * src/xterm.c [USE_CAIRO]: Include math.h.
25101         (enum corners) [USE_CAIRO]: New enum.
25102         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
25103         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
25104         than 1, draw the outermost line using the black relief.
25106         * src/xterm.c (x_fill_trapezoid_for_relief):
25107         Remove unnecessary cairo_close_path.
25109 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
25111         * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
25113         * src/xterm.c (x_draw_stretch_glyph_string):
25114         Call x_reset_clip_rectangles instead of XSetClipMask.
25116         Use int instead of unsigned int for width and height args.
25117         * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
25118         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
25119         width and height args.
25121         Modernize k&r cairo-related function declarations.
25122         * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
25123         (xg_print_frames_dialog): Modernize k&r declarations.
25124         * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
25125         (Fx_print_frames_dialog): Modernize k&r declarations.
25126         * src/xterm.c (x_gc_get_ext_data, x_extension_initialize)
25127         (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground)
25128         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
25129         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
25130         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
25131         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
25132         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
25133         (x_clear_area): Modernize k&r declarations.
25135         Implement wave-style variant of underlining for cairo.
25136         * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
25137         (x_draw_underwave) [USE_CAIRO]: Use it.
25139         * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle
25140         instead of XFillRectangle.
25142 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
25144         Fix fringe bitmap initialization for cairo
25145         * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap
25146         data for cairo image surface.
25147         * src/xterm.c (x_cr_define_fringe_bitmap):
25148         Call cairo_surface_mark_dirty.
25150 2015-02-11  Jan D  <jan.h.d@swipnet.se>
25152         Add cairo drawing
25153         * configure.ac (with-cairo): New option.
25154         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
25155         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
25156         Output "Does Emacs use cairo?".
25157         * lisp/version.el (emacs-version): Add cairo version.
25158         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
25159         (FONT_OBJ): Add comment about ftcrfont.
25160         (ALL_CFLAGS): Add CAIRO_CFLAGS.
25161         (LIBES): Add CAIRO_LIBS.
25162         * src/dispextern.h (struct image): Add cr_data for cairo.
25163         (x_cr_init_fringe): Declare.
25164         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
25165         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
25166         * src/fringe.c (x_cr_init_fringe): New function name that shares code
25167         with w32_init_fringe.
25168         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
25169         * src/ftfont.c (ftfont_info_size); New global variable.
25170         (ftfont_open2): New extern function almost the same as old ftfont_open,
25171         but takes the font_object as argument.
25172         (ftfont_open): Build font object and call ftfont_open2.
25173         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
25174         * src/gtkutil.c (xg_clear_under_internal_border)
25175         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
25176         Only queue_draw if not cairo.  Change args to x_clear_area.
25177         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
25178         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
25179         (xg_print_frames_dialog): New functions for printing.
25180         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
25181         (xg_print_frames_dialog): Declare.
25182         * src/image.c: Add defined (USE_CAIRO) for PNG.
25183         Add !defined USE_CAIRO for W32 PNG code.
25184         (x_clear_image): If cairo, destroy the surface in cr_data.
25185         (png_load): Add new cairo compatible implementation.
25186         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
25187         * src/xfns.c: New section Printing.
25188         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
25189         (x-print-frames-dialog): New printing functions.
25190         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo.
25191         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
25192         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
25193         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
25194         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
25195         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
25196         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
25197         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
25198         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
25199         Declare.
25200         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
25201         (max_fringe_bmp, fringe_bmp): New variables.
25202         (x_gc_get_ext_data, x_extension_initialize)
25203         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
25204         (x_set_cr_source_with_gc_foreground)
25205         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
25206         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
25207         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
25208         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
25209         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
25210         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
25211         (x_update_begin): Create cairo surface if needed.
25212         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
25213         (x_update_end): Paint cairo drawing surface to xlib surface.
25214         (x_clear_under_internal_border, x_after_update_window_line): Adjust
25215         arguments to x_clear_area.
25216         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
25217         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
25218         of XSetClipMask.
25219         (x_set_glyph_string_clipping)
25220         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
25221         instead of XSetClipRectangles.
25222         (x_clear_glyph_string_rect, x_draw_glyph_string_background):
25223         Use x_fill_rectangle instead of XFillRectangle.
25224         (x_draw_glyph_string_foreground)
25225         (x_draw_composite_glyph_string_foreground)
25226         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle
25227         instead of XDrawRectangle.
25228         (x_draw_relief_rect): Add code for USE_CAIRO.
25229         Call x_reset_clip_rectangles instead of XSetClipMask.
25230         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
25231         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
25232         instead of XSetClipMask.
25233         (x_draw_image_foreground, x_draw_image_foreground_1):
25234         x_draw_rectangle instead of XDrawRectangle.
25235         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
25236         XFillRectangle.
25237         (x_draw_image_glyph_string): If img has cr_data, use it as
25238         a cairo surface.
25239         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
25240         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
25241         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
25242         x_reset_clip_rectangles instead of XSetClipMask.
25243         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
25244         (x_clear_area1): New function that calls XClearArea.
25245         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
25246         non-cairo.
25247         (x_clear_frame): x_clear_window instead of XClearWindow.
25248         (x_scroll_run): Set frame garbaged if cairo.
25249         (XTmouse_position): Initialize *part to 0.
25250         (x_scroll_bar_create): Adjust arguments to x_clear_area.
25251         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
25252         x_fill_rectangle instead of XFillRectangle.
25253         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
25254         arguments to x_clear_area.
25255         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
25256         (handle_one_xevent): Adjust arguments to x_clear_area.
25257         Destroy cairo surface for frame if ConfigureNotify.
25258         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
25259         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
25260         x_reset_clip_rectangles instead of XSetClipMask.
25261         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
25262         x_reset_clip_rectangles instead of XSetClipMask.
25263         (x_clear_frame_area): Adjust arguments to x_clear_area.
25264         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
25265         (x_term_init): Call x_extension_initialize if cairo.
25266         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
25267         x_cr_destroy_fringe_bitmap for cairo.
25268         (x_initialize): Call x_cr_init_fringe for cairo.
25269         * src/xterm.h: Add include of cairo header files.
25270         (x_bitmap_record): Add img if cairo.
25271         (x_gc_ext_data): New struct for cairo.
25272         (x_display_info): Add ext_codes for cairo.
25273         (x_output): Add cr_context and cr_surface for cairo.
25274         (x_clear_area): Change arguments from Display*/Window to frame pointer.
25275         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
25276         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
25277         (x_cr_draw_frame, x_cr_export_frames): Declare.
25279 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
25281         Fix integer-valued `mouse-highlight' (Bug#20590)
25282         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
25284 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
25286         MS-Windows followup for ASCIIfication of curved quotes
25287         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
25288         test for curved quotes being displayable, after switching the
25289         terminal encoding.  (Bug#20545)
25291 2015-05-17  Jan D  <jan.h.d@swipnet.se>
25293         Add comment that x_shift_glyphs_for_insert is never called
25294         * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface):
25295         Add comment that this function is never called.
25297 2015-05-16  Glenn Morris  <rgm@gnu.org>
25299         * src/lisp.mk: Remove from repository and generate at build-time.
25300         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
25301         (shortlisp_filter): New variable.
25302         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
25303         (distclean): Remove lisp.mk.
25304         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
25305         * lisp/loadup.el: Tweak layout to make it easier to parse.
25306         * make-dist: Do not distribute src/lisp.mk.
25308 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
25310         Display shorter dates in Git annotate output
25311         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
25312         format (when not overridden with vc-git-annotate-switches).
25313         (vc-git-annotate-time): Support the short format, as well as ISO
25314         8601 that has been used until now (bug#5428).
25316 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
25318         ASCIIfy curved quotes on displays lacking them
25319         * lisp/international/mule-cmds.el (set-locale-environment):
25320         If curved quotes don't work, display straight ASCII approximations
25321         (Bug#20545).
25323 2015-05-16  Glenn Morris  <rgm@gnu.org>
25325         Small src/Makefile simplification
25326         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
25327         * src/Makefile.in (lisp): Derive from shortlisp.
25328         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
25330 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
25332         * lisp/help-mode.el (help-go-forward): Doc fix.
25333         (Bug#20577)
25335         * doc/lispref/debugging.texi (Profiling): Improve indexing.
25336         (Bug#20576)
25338 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
25340         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
25341         have one fewer `not'.
25343         * lisp/vc/vc-git.el (vc-git-diff-switches)
25344         (vc-git-annotate-switches, vc-git-resolve-conflicts)
25345         (vc-git-program, vc-git-root-log-format): Remove the redundant
25346         :group declarations.
25348 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
25350         Removes the predicate from lisp-complete-symbol (Bug#20456)
25351         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
25352         and remove it from the docstring.
25354 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
25356         Add new option vc-git-resolve-conflicts
25357         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
25358         (vc-git-find-file-hook): Add to after-save-hook only when the
25359         above is non-nil.
25360         (vc-git-resolve-when-done): Update to honor the new variable.
25361         (Bug#20292)
25363 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
25365         * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string.
25366         (tabulated-list-init-header): Document new behavior.
25367         (tabulated-list-print-fake-header): Do nothing if
25368         `tabulated-list--header-string' is nil.
25369         (tabulated-list--header-string): Add a docstring.
25370         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
25371         * etc/NEWS: Document it.
25373 2015-05-15  Leo Liu  <sdl.web@gmail.com>
25375         Revert "Fix cps--gensym"
25376         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
25377         fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
25379 2015-05-15  Glenn Morris  <rgm@gnu.org>
25381         Replace AC_SUBST_FILE in configure with include in Makefiles
25382         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
25383         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
25384         (AUTO_DEPEND): New output variable.
25385         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
25386         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
25387         (lwlib_deps_frag): Replace by conditional include.
25388         * lwlib/autodeps.mk: Remove file.
25389         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
25390         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
25391         (oldxmenu_deps_frag): Replace by conditional include.
25392         * oldXMenu/autodeps.mk: Remove file.
25393         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
25394         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
25395         (lisp_frag): Replace by an include.
25396         (deps_frag): Replace by conditional include.
25397         * src/autodeps.mk: Remove file.
25399         Tweak japanese.el's loading of dependencies
25400         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
25401         * lisp/language/japanese.el: Use require rather than load.
25402         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
25403         Provide a feature.
25404         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
25405         Provide a feature in the generated file.
25407 2015-05-15  Jan D  <jan.h.d@swipnet.se>
25409         Fix NS warnings
25410         * src/nsmenu.m (ns_popup_dialog)
25411         * src/nsimage.m (initFromXBM:width:height:fg:bg:)
25412         * src/nsfns.m (Fx_create_frame): Remove unused variables.
25413         (Fns_read_file_name): Initialize fname, remove ret.
25414         * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
25415         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown):
25416         Remove unused variable.
25417         (init): Add parantesis in if.
25418         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
25420 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
25422         Fix a enum conversion warning in macfont.m
25423         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
25424         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
25426 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
25428         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
25429         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
25431 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
25433         * lisp/cus-start.el: Add ns-confirm-quit.
25435         Fix warnings on OSX 10.10
25436         * src/nsfns.m (MODAL_OK_RESPONSE): New define for different
25437         OSX versions.
25438         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
25439         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
25440         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:)
25441         * src/nsimage.m (allocInitFromFile, setPixmapData): Only call
25442         setScalesWhenResized for OSX < 10.6.
25443         * src/nsterm.h (EmacsScroller): Declare scrollerWidth.
25444         * src/nsterm.m (ns_copy_bits): New function that does not use
25445         deprecated NSCopyBits.
25446         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
25447         (runAlertPanel): New function.
25448         (applicationShouldTerminate:): Call runAlertPanel.
25449         (initFrameFromEmacs, toggleFullScreen:): Only call
25450         useOptimizedDrawing for OSX < 10.10.
25451         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
25452         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
25453         (draggingEntered:): Returns NSDragOperation.
25454         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
25456 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
25458         * lisp/emacs-lisp/package.el: Don't ensure-init during startup.
25459         (package--init-file-ensured): New variable.
25460         (package-initialize, package--ensure-init-file): Use it.
25462 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
25464         Honor :fore/background for XBM on NS (Bug#14969)
25465         * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
25466         initFromXBM takes bg, fg args, remove flip arg.
25467         (ns_image_from_XBM): Add bg, fg args.
25468         * src/image.c (x_create_bitmap_from_data)
25469         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
25470         * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to
25471         initFromXBM.  Remove flip arg.
25472         (initFromSkipXBM): Move code to initFromXBM.
25473         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
25474         Use fg, bg from args (Bug#14969).  Remove if (length) section, was
25475         always false.
25476         Remove bit flipping (bitPat, swt), generated incorrect images when
25477         width/height wasn't a multiple of 8.
25478         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
25479         * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args,
25480         remove flip arg.
25482 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
25484         * lisp/emacs-lisp/package.el: Be more careful with the init file.
25485         (package--ensure-init-file): Check that user-init-file is set,
25486         exists, is readable, and is writable.  (Bug#20584)
25487         Also expand the docstring.
25489 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
25491         Sync with upstream verilog-mode revision 6232468
25492         * lisp/progmodes/verilog-mode.el
25493         (verilog-font-lock-grouping-keywords-face)
25494         (verilog-highlight-grouping-keywords): Fix use of face when
25495         `verilog-highlight-grouping-keywords' set.  Reported by Jeff Pompa.
25496         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
25497         parent is reset, bug906.  Reported by Ken Schmidt.
25498         (verilog-auto-inout-module): Add fourth regexp argument to
25499         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856.
25500         Reported by John Tillema.
25501         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
25502         modport if signal attachment is itself a modport.  Reported by
25503         Matthew Lovell.
25504         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
25505         always_comb and always_latch, bug844.  Reported by Greg Hilton.
25506         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
25507         with many curly-bracket pairs, bug663.
25508         (verilog-set-auto-endcomments): Fix end comments for functions of
25509         type void, etc.  Reported by Alex Reed.
25510         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
25511         caused by indent-line-to deleting tabls pre 24.5.
25512         (verilog-nameable-item-re): Fix nameable items that can have an
25513         end-identifier to include endchecker, endgroup, endprogram,
25514         endproperty, and endsequence.  Reported by Alex Reed.
25515         (verilog-label-be): When auto-commenting a buffer, consider
25516         auto-comments on all known keywords (not just a subset thereof).
25517         Reported by Alex Reed.
25518         (verilog-auto-end-comment-lines-re)
25519         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
25520         Automatically comment property/endproperty blocks to match other
25521         similar blocks like sequence/endsequence, function/endfunction, etc.
25522         Reported by Alex Reed.
25523         (verilog-set-auto-endcomments): Detect the function- or task-name
25524         when auto-commenting blocks that lack an explicit portlist.
25525         Reported by Alex Reed.
25526         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
25527         allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
25528         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
25529         is nil, fix indenting initial/final to match always statements,
25530         bug825.  Reported by Tim Clapp.
25531         (verilog-extended-complete-re): Fix indentation of DPI-C imports
25532         with c_identifiers, and DPI-C imports, bug557.  Reported by ZeDong
25533         Mao and Jason Forkey.
25534         (verilog-read-decls): Fix parsing typed interfaces.  Fix
25535         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
25536         Fix localparam not being ignored in AUTOINSTPARAM,
25537         bug889.  Reported by Shannon Hill.
25538         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
25539         bug793.  Reported by Pierre-David Pfister.
25540         (verilog-auto-arg-format, verilog-auto-arg-ports):
25541         Add verilog-auto-arg-format to support newlines in AUTOARG.
25542         Reported by Jie Xiao.
25543         (verilog-batch-execute-func): Do not batch re-auto files loaded by
25544         Local Variables.  Fix printing "no changes to be saved" with
25545         verilog-batch.  Reported by Dan Dever.
25546         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
25547         interface-only modules, bug721.  Reported by Dean Hoyt.
25548         Author: Alex Reed <acreed4@gmail.com>
25549         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement):
25550         Don't treat '<keyword>:<identifier>' as the start of a labeled
25551         statement, bug905.  Reported by Enzo Chi.
25552         (verilog-directive-re, verilog-compiler-directives)
25553         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
25554         directives (plus some extras) when determining indentation, bug
25555         901.  Reported by Bernd Beuster.
25556         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
25557         iff expression doesn't start with word-character, bug900.
25558         (verilog-optional-signed-range-re, verilog-optional-signed-re):
25559         Fix incorrect indentation/alignment of unsigned declarations,
25560         bug897.
25561         (verilog-looking-back, verilog-in-attribute-p): Fix labeling of
25562         always constructs, bug895.
25563         (verilog-calc-1): Fix verilog-mode constraint indentation, bug324.
25564         Reported by Eric Mastromarchi.
25565         (verilog-beg-of-statement): Fix indenting for some forms of
25566         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
25567         continued assignment incorrect if first line ends with ']', bug437.
25568         Reported by Dan Dever.  Fix indention of cover inside an
25569         ifdef, bug 862.  Reported by Bernd Beuster.  Fix labeling do-while
25570         blocks, bug842.
25571         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859.
25572         Reported by Kaushal Modi.
25573         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
25574         (verilog-backward-token): Fix indenting sensitivity lists with
25575         named events, bug840.  Reed.
25576         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
25577         nil not honoring 'forever', 'foreach', and 'do' keywords.
25579 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
25581         Check for invalid GTK+ monitor scales
25582         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
25583         INT_MAX for too-large scales.  All callers changed to assume the
25584         result is valid (Bug#20432).
25585         (xg_frame_set_char_size, xg_update_scrollbar_pos):
25586         Calculate scale only if needed.
25587         Show ASCII approximations instead.
25589 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
25591         Fix daemon crashes when linum-mode is turned on early on
25592         * src/window.c (Fwindow_end): Don't try calling display engine
25593         functions on initial-frame frame.  (Bug#20565)
25595         Fix selective diff browsing in Ediff
25596         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches):
25597         Go to the beginning of the region before searching for the
25598         ediff-regexp-focus-* regexps.  (Bug#20568)
25600 2015-05-14  Jan D  <jan.h.d@swipnet.se>
25602         Fixes bug#20142
25603         * src/gtkutil.c (delete_cb): Don't send delete event here, it does
25604         arrive in the main loop, even for Gtk 3 (Bug#20142).
25606         Don't access display after i/o error (Bug#19147).
25607         * src/xterm.c (x_connection_closed): Add third arg ioerror.
25608         If ioerror, set display to 0 (Bug#19147).
25609         (x_error_quitter): Call x_connection_closed with third arg false.
25610         (x_io_error_quitter): Call x_connection_closed with third arg true.
25612         Handle GTK_SCALE, fixes Bug#20432.
25613         * src/gtkutil.c (xg_get_gdk_scale): New function.
25614         (xg_frame_set_char_size)
25615         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
25616         (xg_get_default_scrollbar_height)
25617         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
25618         when setting sizes (Bug#20432).
25620 2015-05-13  Leo Liu  <sdl.web@gmail.com>
25622         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
25624 2015-05-13  Glenn Morris  <rgm@gnu.org>
25626         Fix bootstrap (void function cl-member).
25627         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
25628         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
25630 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
25632         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
25633         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
25634         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
25635         Avoid defalias for closures which are not immutable.
25636         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill
25637         the dispatchers table with various entries.
25638         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
25639         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
25641 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
25643         Improve tagging of C bindings in DEFVAR_*
25644         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
25645         from DEFVAR_*.
25647 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
25649         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
25651 2015-05-12  Glenn Morris  <rgm@gnu.org>
25653         * lisp/progmodes/tcl.el (tcl-filter):
25654         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
25656         Add basic VC push support
25657         * lisp/vc/vc.el (vc-push): New autoloaded command.
25658         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
25659         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
25660         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
25661         (vc-bzr-push): New.
25662         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
25663         (vc-git-pull): Reimplement using vc-git--pushpull.
25664         (vc-git-push): New.
25665         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
25666         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
25667         * doc/emacs/maintaining.texi (Pulling / Pushing):
25668         Rename from "VC Pull".  Mention pushing.
25669         (VC With A Merging VCS, VC Change Log): Update xrefs.
25670         (Branches): Update menu.
25671         * doc/emacs/emacs.texi: Update menu.
25672         * etc/NEWS: Mention this.
25674 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
25676         Improve the seq pcase pattern and the `seq-let' macro
25677         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
25678         object is a sequence, and binds each element of ARGS to the
25679         corresponding element of the sequence.
25681 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
25683         Fix tags created from DEFVAR_* declarations in C
25684         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
25685         to make tags extracted from DEFVAR_* declarations more accurate.
25687         Add a test suite for etags
25688         * test/etags/: New test suite, adapted from
25689         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
25690         whose original author is Francesco Potortì <pot@gnu.org>.
25692         Fix tagging of symbols in C enumerations
25693         * lib-src/etags.c (consider_token): Don't tag symbols in
25694         expressions that assign values to enum constants.  See
25695         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
25696         for details.
25697         (C_entries): Reset fvdef to fvnone after processing a preprocessor
25698         conditional and after a comma outside of parentheses.
25700 2015-05-12  Glenn Morris  <rgm@gnu.org>
25702         * lisp/url/url-handlers.el (url-file-name-completion)
25703         (url-file-name-all-completions): Silence compiler.
25705         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
25707         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
25709 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
25711         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
25712         (cl--generic-mandatory-args): Remove.
25713         (cl--generic-split-args): New function.
25714         (cl-generic-define, cl--generic-lambda): Use it.
25715         (cl-generic-define-method): Use it as well, and add support for
25716         context args.
25717         (cl--generic-get-dispatcher): Handle &context dispatch.
25718         (cl--generic-cache-miss): `dispatch-arg' can now be a
25719         context expression.
25720         (cl--generic-dispatchers): Pre-fill.
25721         * test/automated/cl-generic-tests.el (sm-generic-test-12-context):
25722         New test.
25724 2015-05-11  Glenn Morris  <rgm@gnu.org>
25726         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
25728 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
25730         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
25731         * lisp/term/rxvt.el: Require term/xterm.
25732         (rxvt-function-map): Use xterm-rxvt-function-map.
25733         (rxvt-standard-colors): Move before first use.
25734         (terminal-init-rxvt): Use xterm--push-map and
25735         xterm-register-default-colors.
25736         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
25737         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
25738         Move shared bindings between rxvt and xterm to it.
25739         (xterm-function-map): Use it.  Move the xterm-paste binding to
25740         xterm-rxvt-function-map (bug#20444).
25741         (xterm-standard-colors): Move before first use.
25742         (xterm--push-map): New function.
25743         (xterm-register-default-colors): Take standard colors as argument.
25744         (terminal-init-xterm): Use it.  Adjust call to
25745         xterm-register-default-colors.
25747 2015-05-11  Glenn Morris  <rgm@gnu.org>
25749         * lisp/term/x-win.el: Quieten --without-x compilation.
25750         (x-own-selection-internal, x-disown-selection-internal)
25751         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
25752         Declare.
25754         * Makefile.in (emacslog): Remove srcdir.
25755         (ChangeLog): Update for the above.
25757 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
25759         python.el: better limit for looking-back calls
25760         * lisp/progmodes/python.el (python-shell-accept-process-output):
25761         Use last comint prompt start as limit for looking-back.
25763 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
25765         CEDET (srecode-insert-fcn): Fix use of oref on a class
25766         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref
25767         on a class.  Reported by Pierre Lorenzon.
25768         (srecode-template-inserter-point): Remove declaration.
25770         CEDET (srecode-create-dictionary): Avoid obsolete object name
25771         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
25772         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
25774 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
25776         C-x 8 shorthands for curved quotes, Euro, etc.
25777         Although C-x 8 lets you insert arbitrary Unicode characters,
25778         it's awkward to use this to insert commonly used symbols such as curved
25779         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
25780         characters commonly found in English text and in basic math.
25781         For example, assuming the Alt key works on your keyboard and iso-transl
25782         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
25783         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
25784         (Bug#20499)
25785         * doc/emacs/mule.texi (Unibyte Mode):
25786         A few other printing characters now work too.
25787         * etc/NEWS: Document this.
25788         * lisp/international/iso-transl.el (iso-transl-char-map):
25789         Also support the following characters:
25790         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
25792 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
25794         Add xref-find-regexp
25795         * lisp/progmodes/xref.el (xref-find-function): Describe the
25796         `matches' action.
25797         (xref-find-regexp): New command, using it.
25798         (xref-collect-references): Rename to xref-collect-matches.
25799         (xref--collect-reference): Rename to xref--collect-match.
25800         (xref-collect-matches, xref--collect-match): Accept new argument,
25801         KIND.  Update accordingly.
25802         (xref--regexp-to-extended): New function.
25803         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
25804         `matches' action.
25805         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
25806         * lisp/progmodes/etags.el (etags-xref-find):
25807         Support the `matches' action.
25808         (etags--xref-find-matches): New function.
25810 2015-05-10  Glenn Morris  <rgm@gnu.org>
25812         * Makefile.in: Fixes for recent change-history changes.
25813         (change-history-nocommit): Update footer regexp.
25814         Ensure output script stays executable.
25816 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
25818         New version of `seq-let' based on a pcase pattern
25819         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
25820         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
25822 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
25824         Add basic HTML5 tags and a template
25825         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
25826         (html-tag-alist): Add HTML5 tags.
25827         (html-tag-help): Add new tags descriptions.
25828         (html-navigational-links): Template for nav links.
25829         (html-html5-template): Template for a HTML5 page.
25831 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
25833         semantic/symref/grep: Don't use word boundaries
25834         * lisp/cedet/semantic/symref/grep.el
25835         (semantic-symref-perform-search): Instead of wrapping input in
25836         word boundaries, check that the characters before and after are
25837         not word constituents.
25839         semantic/symref/grep: Support regexp search
25840         * lisp/cedet/semantic/symref.el
25841         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
25842         the search type is regexp.
25843         * lisp/cedet/semantic/symref/grep.el
25844         (semantic-symref-perform-search): Support the regexp search type.
25845         Pass -E to Grep when it's used.
25847         semantic-symref-regexp: Allow to input an arbitrary string
25848         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
25849         Allow to input an arbitrary string interactively.
25851         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
25852         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
25853         Remove tag-symbol-match-p from the default value
25854         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
25856         Declare find-tag obsolete
25857         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
25858         xref-find-definitions.
25860 2015-05-10  Jan D  <jan.h.d@swipnet.se>
25862         Draw composite string correctly (Bug#20537)
25863         * src/nsterm.m (ns_draw_composite_glyph_string_foreground):
25864         New function.
25865         (ns_draw_glyph_string): Call it.
25867 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
25869         Avoid infloop in ERC
25870         * lisp/simple.el (line-move-to-column): Ignore field boundaries
25871         while computing line beginning position.  (Bug#20498)
25873 2015-05-08  Glenn Morris  <rgm@gnu.org>
25875         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
25876         * build-aux/gitlog-to-emacslog: Check called from right directory.
25877         (srcprefix): Remove.
25879         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
25880         * Makefile.in (ChangeLog): No longer pass "distprefix".
25881         * make-dist: Update "make ChangeLog" syntax for the above change.
25883         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
25884         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
25886         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
25888         Add command-line option-parsing to gitlog-to-emacslog
25889         * build-aux/gitlog-to-emacslog: Add command-line options.
25890         By default, refuse to remove an existing output file.
25891         * Makefile.in (CHANGELOG): Update default.
25892         (ChangeLog): Do not test for existing file.
25893         (change-history-nocommit): Ensure temp file does not exist.
25895         Quieten --without-x compilation
25896         * lisp/term/common-win.el: Provide a feature.
25897         * lisp/term/x-win.el (term/common-win): Require it.
25899         * lisp/dired-aux.el (dired-do-print): Require lpr.
25901         Quieten compilation, eg in --without-x builds
25902         * lisp/dired-aux.el (lpr-printer-switch):
25903         * lisp/frame.el (tool-bar-height):
25904         * lisp/linum.el (font-info):
25905         * lisp/window.el (font-info, overflow-newline-into-fringe)
25906         (tool-bar-height):
25907         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
25908         * lisp/gnus/gnus-util.el (iswitchb-mode):
25909         * lisp/mail/rmailmm.el (libxml-parse-html-region):
25910         * lisp/net/nsm.el (gnutls-peer-status)
25911         (gnutls-peer-status-warning-describe):
25912         * lisp/net/shr.el (libxml-parse-xml-region):
25913         * lisp/url/url-http.el (gnutls-peer-status): Declare.
25915 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
25917         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
25918         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
25919         `subclass' since they're never called with a class.
25920         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
25921         srecode-dictionary-child-p.
25923 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
25925         * lisp/help.el (help--binding-locus): Document argument POSITION.
25926         (Bug#20530)
25928 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
25930         Merge from gnulib
25931         * doc/misc/texinfo.tex: Get latest version.
25933 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
25935         ffap.el (ffap-read-file-or-url): Fix completing-read call
25936         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
25937         `completing-read' should be a symbol.
25939 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
25941         Verify file modifications by other programs
25942         * src/filelock.c (lock_file): Check whether the file was modified
25943         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
25945         Fix keyboard macros that include function keys
25946         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
25947         keys in the macro before returning.  (Bug#20454)
25949 2015-05-08  Glenn Morris  <rgm@gnu.org>
25951         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
25952         "Copyright-paperwork-exempt".  (Bug#20324)
25954         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
25955         (log-edit-rewrite-tiny-change): New variable.
25956         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
25957         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
25958         * etc/NEWS: Mention this.
25960         * lisp/calc/calc.el (math-zerop): Declare.
25962         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
25964 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
25966         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec.
25967         Support the case when BINDINGS is a single tuple.  (Bug#20525)
25969         * etc/NEWS: Fix typo in previous commit
25970         (14bb519f1034ddb38ce375cbad7095d9b07f8b26).
25972 2015-05-07  Jan D  <jan.h.d@swipnet.se>
25974         * configure.ac: Warn for multiple display crash for all Gtk+ versions.
25975         Output URL to Gtk+ bug (Bug#20452).
25977         * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection.
25979 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
25981         * lisp/emacs-lisp/package.el: New "external" package status.
25982         An external package is any installed package that's not built-in
25983         and not from `package-user-dir', which usually means it's from an
25984         entry in `package-directory-list'.  They are treated much like
25985         built-in packages, in that they cannot be through the Package Menu
25986         deleted and are not considered for upgrades.
25987         (package-desc-status): Identify if a package is installed outside
25988         `package-user-dir'.
25989         (package-menu--print-info-simple)
25990         (package-menu--status-predicate): Add support for it.
25991         * etc/NEWS: Document it.
25993 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
25995         * lisp/mail/rmail.el: Use lexical-binding.
25996         (rmail-bury): Remove unused var `buffer-to-bury'.
25997         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
25998         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
25999         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
26000         (rmail-insert-inbox-text): Remove unused var `movemail'.
26001         (rmail-add-mbox-headers): Remove unused var `limit'.
26002         (rmail-undelete-previous-message): Remove unused var `value'.
26003         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
26004         `resent-reply-to'.
26005         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
26006         (rmail-restore-desktop-buffer): Rename arguments.
26008 2015-05-06  Glenn Morris  <rgm@gnu.org>
26010         * Makefile.in (change-history-commit): Add missing piece of previous.
26012         Avoid unnecessary bumping of Makefile.in's timestamp
26013         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
26014         (emacslog): New variable.
26015         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
26016         (unchanged-history-files): Use $emacslog rather than Makefile.in.
26017         (change-history-nocommit): Store hash in $emacslog.
26018         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
26019         * admin/update_autogen (changelog_files): Update for the above.
26021         * Makefile.in: Don't always insist on removing existing "ChangeLog".
26022         (CHANGELOG): New variable.
26023         (no-ChangeLog): Remove.
26024         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
26025         (change-history-nocommit): Use a temp file rather than insisting
26026         on deletion of any existing "ChangeLog".
26028         * build-aux/gitlog-to-emacslog: Allow specification of output.
26030         * admin/update_autogen: Add option to update ChangeLog.
26031         (usage): Mention -H.
26032         (changelog_flag, changelog_n, changelog_files): New variables.
26033         (main): Check for -H, and maybe run change-history-nocommit.
26035 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
26037         * lisp/subr.el (delete-dups): Pre-size the hashtable.
26039         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
26040         cl--arglist-args is defined (bug#20517).
26042 2015-05-06  Glenn Morris  <rgm@gnu.org>
26044         * Makefile.in (change-history-nocommit): New.
26046 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
26048         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
26049         timer when it is non-nil
26050         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
26052 2015-05-06  Glenn Morris  <rgm@gnu.org>
26054         Quieten CEDET compilation
26055         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
26056         Invert fboundp test to quieten on current Emacs.
26057         * lisp/cedet/ede/config.el (ede-shell-run-something)
26058         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
26059         (semanticdb-refresh-table): Declare.
26060         (ede-preprocessor-map): Require semantic/db.
26062         Quieten cc-mode compilation
26063         * lisp/progmodes/cc-awk.el (c-forward-sws):
26064         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
26065         Declare.
26067 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
26069         * lisp/subr.el (delete-dups): Avoid nreverse.
26071 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
26073         * lisp/subr.el (delete-dups): Make it destructive again.
26075 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
26077         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
26079 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
26081         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487).
26082         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
26083         (testcover--read): Rename from testcover-read.  Change calling
26084         convention.  Use edebug-read-and-maybe-wrap-form now that edebug-read
26085         is gone.
26086         (testcover-start): Use add-function.  Move edebug-all-defs binding to
26087         testcover--read.
26088         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
26089         (testcover-mark): Remove unused var `item'.
26090         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
26092 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
26094         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
26095           use a hash table.  This can result in ~500 times speed-up for typical
26096           collections of size 5000, like that of `load-library'.
26098 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
26100         CEDET: Avoid `oref' on classes in a few more cases
26101         * lisp/cedet/ede/generic.el (ede-find-target):
26102         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
26103         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
26104         var `prefix'.
26106         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings.
26107         (grepflags, greppattern): Declare.
26108         (semantic-symref-perform-search): Remove unused var `pat'.
26110         CEDET (srecode-compile-inserter): Avoid `oref' on classes
26111         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
26112         Avoid `oref' on classes (bug#20491).
26113         (srecode-compile-split-code): Remove unused var `key'.
26115 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
26117         Clean up pulse.el a little
26118         * lisp/cedet/pulse.el (pulse): Remove.
26119         (pulse-momentary-timer): Save instead of the stop time.
26120         (pulse-momentary-highlight-overlay):
26121         Call pulse-momentary-unhighlight first thing.
26122         Treat pulse-momentary-overlay as a single value, not a list.
26123         Save the created timer.  Only pass the stop time to the timer.
26124         (pulse-tick): Update accordingly.
26125         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
26126         single value.  Cancel the timer.
26128 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
26130         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
26131         Support the biblatex journaltitle field.
26133 2015-05-05  Glenn Morris  <rgm@gnu.org>
26135         Minor declare-function improvement
26136         * lisp/emacs-lisp/bytecomp.el
26137         (byte-compile-macroexpand-declare-function):
26138         Handle declarations after calls.  (Bug#20509)
26140         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
26142         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
26144 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
26146         Pulse using a timer
26147         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
26148         (pulse-momentary-highlight-overlay): Set up the timer instead of
26149         calling `pulse'
26150         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
26151         (pulse-tick): New function.
26152         (pulse-momentary-unhighlight): Cut off the stop time.
26153         (pulse-delay): Update the docstring WRT to not using sit-for.
26155         Add semantic/symref/grep file patterns for ruby-mode
26156         * lisp/cedet/semantic/symref/grep.el
26157         (semantic-symref-filepattern-alist): Add patterns for ruby-mode.
26158         Clarify the docstring.
26160         Don't require match
26161         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
26162         match.  That doesn't work for every command, and some identifier
26163         completion tables are bound to be imperfect anyway.
26165 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
26167         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505).
26168         (semantic-grammar--template-expand): New function.
26169         (semantic-grammar-header, semantic-grammar-footer): Use it.
26170         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
26171         (semantic-grammar-file-regexp): Refine regexp.
26172         (semantic-grammar-eldoc-get-macro-docstring):
26173         Use elisp-get-fnsym-args-string when available.
26174         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
26175         instead of the old eldoc-* names.
26176         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
26177         from elisp-mode.el.  Tweak calling convention.
26178         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
26179         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
26180         elisp--get-fnsym-args-string.
26181         (elisp--highlight-function-argument): Add `prefix' arg.
26182         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
26183         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
26185 2015-05-05  Glenn Morris  <rgm@gnu.org>
26187         * lisp/help-fns.el (describe-function-1):
26188         Handle builtins with advertised calling conventions.  (Bug#20479)
26190 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
26192         Merge branch 'seq-let'
26194         Update `seq-let' documentation
26195         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
26196         with the support of  `&rest'.
26198         Add support for &rest in `seq-let'
26199         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
26200         in the argument list.
26201         * test/automated/seq-tests.el: Add a test for parsing and binding
26202         `&rest' in `seq-let'.
26204 2015-05-05  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
26206         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get):
26207         Add missing increment (Bug#20467).
26208         (eieio-object-value-create): Adjust to new slots representation
26209         (Bug#20467).
26210         (eieio-object-value-create): Fix missed adjustment to new
26211         representation of slots metadata.
26213 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
26215         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
26217 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
26219         Work around "Attempt to modify read-only object"
26220         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
26221         elisp--xref-find-definitions, to work around "Attempt to modify
26222         read-only object" error.
26224         Only skip some variables that have function counterparts
26225         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
26226         Only skip minor-mode-named variable if it's defined in a Lisp
26227         file, and it's in minor-mode-list (bug#20506).
26228         * test/automated/elisp-mode-tests.el
26229         (elisp-xref-finds-both-function-and-variable)
26230         (elisp-xref-finds-only-function-for-minor-mode): New tests.
26232 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
26234         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
26235         previous change.
26236         (xref--insert-xrefs): Buttonize the whole line, including the
26237         number at the beginning.
26239         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
26240         Make sure we're inside the let bindings.
26241         * test/automated/elisp-mode-tests.el
26242         (elisp-completes-functions-after-let-bindings): New test.
26244 2015-05-04  Glenn Morris  <rgm@gnu.org>
26246         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
26247         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
26248         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
26249         Remove outdated declarations.
26251         Replace instances of "(eval-when-compile (autoload ...))"
26252         * lisp/gnus/gnus-art.el (nneething-get-file-name):
26253         Declare rather than autoload.
26254         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
26255         Remove pointless autoload.
26256         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
26257         (gnus-topic-create-topic, gnus-topic-enter-dribble):
26258         Declare rather than autoload.
26259         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
26260         (mailcap-extension-to-mime): Autoload at run-time.
26261         * lisp/gnus/mm-util.el (latin-unity-massage-name)
26262         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
26263         (latin-unity-representations-present-region):
26264         Declare rather than autoload.
26265         * lisp/gnus/mml-smime.el (epg-make-context)
26266         (epg-passphrase-callback-function): Autoload at run-time.
26267         (epg-context-set-signers, epg-context-result-for)
26268         (epg-new-signature-digest-algorithm)
26269         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
26270         (epg-sign-string, epg-encrypt-string)
26271         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
26272         (epg-configuration, epg-expand-group, epa-select-keys):
26273         Declare rather than autoload.
26274         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
26275         Autoload at run-time.
26276         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
26277         (gnus-registry-get-id-key, gnus-registry-action):
26278         Declare rather than autoload.
26279         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
26280         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
26281         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
26282         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
26283         (spam-stat-split-fancy): Remove pointless autoloads.
26284         * lisp/net/mairix.el: Load gnus-util when compiling.
26285         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
26286         (message-field-value): Declare rather than autoload.
26287         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
26288         Check gnus-alive-p is fbound.
26289         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
26290         (vm-check-for-killed-summary, vm-error-if-folder-empty)
26291         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
26292         Declare rather than autoload.
26294         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
26296         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
26297         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
26299         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
26301         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
26303         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
26304         * lisp/emacs-lisp/package.el (epg-signature-status):
26305         Fix declarations.
26307         * lisp/play/gametree.el (gametree-show-children-and-entry)
26308         (gametree-apply-layout, gametree-mouse-show-subtree)
26309         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
26311         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
26312         Handle cl-defgeneric, cl-defmethod.
26314 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
26316         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
26317         Highlight both type and symbol name.
26319         Insert, highlight and align line numbers in xref output
26320         * lisp/progmodes/etags.el (xref-location-line): Specialize for
26321         xref-etags-location.
26322         * lisp/progmodes/xref.el (xref-location-line): New generic method.
26323         (xref-file-location): Add reader for the line slot.
26324         (xref--location-at-point): Skip to the `xref-location' property.
26325         (xref--collect-reference): Drop the line number from description.
26326         (xref--insert-xrefs): Insert, highlight and align line numbers.
26328 2015-05-04  Daniel Colascione  <dancol@dancol.org>
26330         * lisp/simple.el (save-mark-and-excursion--save)
26331         (save-mark-and-excursion--restore): Fix previous commit
26332         (255a011f0ecf004b31c59945b10154b10fac3af1).
26334 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
26336         Don't pulse the indentation, or the newline
26337         * lisp/cedet/pulse.el (pulse-lighten-highlight)
26338         (pulse-reset-face): Fall back to the inherited background
26339         attribute in FACE.
26340         (pulse-momentary-highlight-region): Add autoload cookie.
26341         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
26342         indentation, or the newline, if the line's non-empty
26343         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
26345 2015-05-04  Daniel Colascione  <dancol@dancol.org>
26347         Add `save-mark-and-excursion', which has the old
26348         `save-excursion' behavior
26349         * doc/lispref/positions.texi (Excursions):
26350         Document `save-mark-and-excursion'.
26351         * lisp/font-lock.el (font-lock-fontify-block):
26352         Use `save-mark-and-excursion' instead of `save-excursion',
26353         restoring Emacs 24 behavior.
26354         * lisp/simple.el (save-mark-and-excursion--save)
26355         (save-mark-and-excursion--restore): New functions.
26356         (save-mark-and-excursion): New user macro.
26357         * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion'
26358         in `save-excursion' documentation.
26360 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
26362         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
26363         Classify lone symbol inside let varlist as variable.
26364         * test/automated/elisp-mode-tests.el
26365         (completest-variables-in-let-bindings): New test.
26367         Add xref-pulse-on-jump
26368         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
26369         Add autoload cookie.
26370         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
26371         (xref--maybe-pulse): New function.
26372         (xref-pop-marker-stack, xref--pop-to-location)
26373         (xref--display-position): Use it.
26374         (xref--location-at-point): Use back-to-indentation.
26376 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
26378         lisp/org/org-{macs,list}.el: Fix lexical warnings
26379         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
26380         (org-list-get-next-item, org-list-get-prev-item)
26381         (org-list-get-children): Mark unused arg `struct'.
26382         (org-list-use-alpha-bul-p): Remove unused var `bul'.
26383         (org-toggle-checkbox): Mark unused var.
26384         (org-update-checkbox-count): Remove unused var `box-num'.
26385         (org-adapt-indentation): Declare.
26386         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
26387         (org-list-send-list): Remove unused var `txt'.
26388         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
26389         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
26390         * lisp/org/org-macs.el: Use `declare'.
26391         (org-with-limited-levels): Declare dyn-bound vars.
26393 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
26395         Fix minor issues with CEDET on MS-Windows
26396         * lisp/cedet/semantic/symref/idutils.el
26397         (semantic-symref-parse-tool-output-one-line): Fix the search
26398         regexp to match MS-Windows file names with drive letters.
26399         (Bug#19468)
26400         * lisp/cedet/semantic/symref/grep.el
26401         (semantic-symref-grep-use-template): Remove "--color=always" from
26402         Grep switches on MS-Windows.
26403         (semantic-symref-grep-shell): Use shell-file-name as the default
26404         value, so this works not only on Posix platforms.
26405         (semantic-symref-perform-search): Use shell-quote-argument instead
26406         of literal '..' for portable quoting of Grep command-line
26407         argument.  Use shell-command-switch instead of a literal "-c".
26408         * lisp/cedet/semantic/bovine/gcc.el
26409         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
26410         for an absolute file name in a portable way.
26412 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
26414         * lisp/emacs-lisp/package.el: Remove `package--silence' variable.
26415         (package-import-keyring, package-refresh-contents)
26416         (package-compute-transaction, package--save-selected-packages)
26417         (package-install-from-archive, package-delete)
26418         (package-menu--perform-transaction): Use `inhibit-message' instead.
26419         (package--compile): Set `warning-minimum-level' to :error.
26421 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
26423         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom.
26424         (terminal-init-screen): Use it (bug#20356).
26425         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
26426         (xterm--extra-capabilities-type): New const.
26427         (xterm-extra-capabilities): Use it.
26428         (xterm--version-handler): Lower the pseudo-version for `screen'.
26430 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
26432         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
26433         Always insert a newline at the end (to avoid mouse-face background
26434         tail at the last line).
26436         elisp-completion-at-point: Prioritize being quoted over funpos
26437         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
26438         Only consider function position when not inside quoted form
26439         (bug#20425).
26440         * test/automated/elisp-mode-tests.el: New file.
26442         Stop vc-print-log from jumping to the top
26443         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
26444         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
26445         is not specified.
26446         (vc-incoming-outgoing-internal): Always pass nil.
26447         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
26448         call it, and don't set vc-sentinel-movepoint (bug#15322).
26449         (vc-print-root-log): Don't fetch the root working revision, nor
26450         pass it to vc-print-log-internal.
26452 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
26454         Fix display of keyboard layouts for right-to-left scripts
26455         * lisp/international/quail.el (quail-insert-kbd-layout):
26456         Force left-to-right paragraph direction.
26458 2015-05-02  K. Handa  <handa@gnu.org>
26460         * src/cmds.c (internal_self_insert): When we insert spaces for
26461         padding, set point before the padding spaces, not after them.
26463 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
26465         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
26467 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
26469         Fix etags-xref-find for references
26470         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
26471         Use `cl-mapcan'.
26472         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
26473         directory if no tags tables are loaded (bug#19468).
26475 2015-05-02  Philipp Stephani  <phst@google.com>
26477         Update the options in whitespace-style defcustom
26478         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
26479         `repeat' because the option is really set-like.  Add missing
26480         options.  Reorder options to match the order in the
26481         documentation.  (Bug#20346)
26483 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
26485         Fix error diagnostics of c-macro-expand
26486         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
26487         too early if no start-marker string was found -- that generally
26488         means cpp exited abnormally, and we still want to show its error
26489         messages to the user.
26491         Don't require Texinfo 5.0 for Emacs documentation
26492         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
26493         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
26494         "@codequoteundirected on", respectively, to avoid requiring
26495         Texinfo 5.x for Emacs documentation.
26497 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
26499         * lisp/files.el (pwd):
26500         When called with a prefix argument, insert the current default
26501         directory at point.
26503 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
26505         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
26506         * lisp/isearch.el (isearch-mode-map): Don't inhibit
26507         function-key-map remapping for backspace (bug#20466).
26509 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
26511         Implement xref-find-references in etags and elisp-mode
26512         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
26513         (elisp-xref-find): Use it.
26514         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
26515         * lisp/progmodes/xref.el (xref-collect-references):
26516         (xref--collect-reference): New functions.
26518 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
26520         Prefer plain characters to Texinfo circumlocutions
26521         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
26522         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
26524         Fix single-quoting style in PDF manuals
26525         The PDF versions of the GNU manuals used curved single quotes to
26526         represent grave accent and apostrophe, which made it a pain to cut
26527         and paste code examples from them.  Fix the PDF versions to use
26528         grave accent and apostrophe for Lisp source code, keystrokes, etc.
26529         This change does not affect the info files, nor does it affect
26530         ordinary uses of curved single quotes in PDF.
26531         * doc/emacs/docstyle.texi: New file, which specifies treatment for
26532         grave accent and apostrophe, as well as the document encoding.
26533         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
26534         * doc/lispintro/emacs-lisp-intro.texi:
26535         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
26536         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
26537         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
26538         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
26539         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
26540         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
26541         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
26542         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
26543         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
26544         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
26545         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
26546         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
26547         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
26548         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
26549         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
26550         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
26551         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
26552         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
26553         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
26554         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
26555         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
26556         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
26557         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
26558         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
26559         * doc/misc/woman.texi:
26560         Use it instead of '@documentencoding UTF-8', to lessen the need for
26561         global changes like this in the future.
26562         * doc/emacs/Makefile.in (EMACS_XTRA):
26563         * doc/lispintro/Makefile.in (srcs):
26564         * doc/lispref/Makefile.in (srcs):
26565         Add dependency on docstyle.texi.
26566         * doc/misc/Makefile.in (style): New macro.
26567         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
26568         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
26569         Use it.
26571 2015-05-01  Glenn Morris  <rgm@gnu.org>
26573         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
26575         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
26576         (help-fns--signature): Declare.
26578         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
26580 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
26582         New macro seq-let, providing destructuring support to seq.el
26583         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
26584         to `cl-destructuring-bind' but works on all sequence types supported
26585         by `seq.el'.  Bump version number to 1.6.
26586         * test/automated/seq-tests.el: Add tests for seq-let.
26587         * doc/lispref/sequences.texi: Add documentation for seq-let.
26589 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
26591         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer.
26593 2015-05-01  Glenn Morris  <rgm@gnu.org>
26595         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
26597 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
26599         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
26600         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
26601         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
26602         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
26603         (Bug#20445).
26605 2015-05-01  K. Handa  <handa@gnu.org>
26607         * lisp/international/mule-cmds.el (input-method-use-echo-area):
26608         Change :type to 'boolean.
26610 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
26612         Start using proportional fonts in eww by default
26613         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
26614         it seems to work well.
26616         Fix links in tables in shr
26617         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
26618         makes (some) links in tables not work.
26620 2015-05-01  Jan D  <jan.h.d@swipnet.se>
26622         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
26624 2015-04-30  Glenn Morris  <rgm@gnu.org>
26626         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
26627         Update for 2015-02-08 change to indirect-function.
26629         * lisp/term/ns-win.el (ns-get-selection-internal):
26630         Remove declaration for function deleted 2014-10-21.
26632         * lisp/dom.el: Load subr-x when compiling, for when-let.
26634         Silence some compilation warnings
26635         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
26636         * lisp/emulation/cua-base.el (delete-active-region):
26637         * lisp/net/net-utils.el (w32-get-console-output-codepage):
26638         * lisp/term/ns-win.el (ns-own-selection-internal)
26639         (ns-disown-selection-internal, ns-selection-owner-p)
26640         (ns-selection-exists-p, ns-get-selection):
26641         Declare for compiler.
26643         Function declaration updates prompted by 'make check-declare'
26644         * lisp/emacs-lisp/package.el (lm-homepage):
26645         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
26646         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
26647         * lisp/gnus/mml.el (libxml-parse-html-region):
26648         * lisp/gnus/nnrss.el (libxml-parse-html-region):
26649         * lisp/net/eww.el (libxml-parse-html-region):
26650         * lisp/net/shr.el (libxml-parse-html-region):
26651         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
26652         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
26653         * lisp/vc/vc-git.el (vc-annotate-convert-time):
26654         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
26655         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
26656         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
26657         Update declaration.
26659         Remove compatibility code for 20-year old function renaming
26660         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
26661         Make it an obsolete alias.
26662         (idlwave-shell-filter): Change all uses to comint-output-filter.
26664 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
26666         Add ace-window face config
26667         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
26668         configuration.
26670 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
26672         Unclutter 'make doc' output a bit
26673         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
26674         Use make subst rather than sh IFS to split target string apart.
26675         This makes 'make' output easier to follow.
26677         Merge from gnulib
26678         * doc/misc/texinfo.tex: Update from gnulib.
26680 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
26682         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh.
26683         (package-menu--print-info): Obsolete.
26684         (package-menu--print-info-simple): New function.
26685         (package-menu--refresh): Use it, simplify code, and improve
26686         performance.
26687         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
26688         Tiny performance improvement.
26690         * lisp/emacs-lisp/package.el (package--message): inhibit-message.
26692 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
26694         Omit -Wstrict-overflow workaround in GCC 5
26695         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
26696         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
26698         Merge from gnulib
26699         This incorporates:
26700         2015-04-29 extern-inline: no need for workaround in GCC 5.1
26701         2015-04-26 file-has-acl: port to CentOS 6
26702         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
26704 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
26706         Set next-error-* in xref--xref-buffer-mode
26707         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
26708         Set `next-error-function' and `next-error-last-buffer'.
26709         (xref--next-error-function): New function.
26710         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
26712 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
26714         python.el: Fix warnings on looking-back calls missing LIMIT
26715         * lisp/progmodes/python.el (python-shell-accept-process-output):
26716         Pass LIMIT arg to looking-back.
26718 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
26720         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress.
26721         (package--download-and-read-archives): Use pushnew instead of
26722         append.  If something terrible happened during a previous
26723         download, simply refreshing should now make things work again.
26725 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
26727         Introduce etags-xref-find-definitions-tag-order
26728         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
26729         New variable.
26730         (etags--xref-find-definitions): Use it (bug#19468).
26732 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
26734         PATH- and completion-related fixes in Eshell on MS-Windows
26735         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
26736         MS-Windows, prepend "." to list of directories produced from PATH,
26737         as Windows always implicitly searches the current directory first.
26738         (eshell-force-execution): Make it have a non-nil default value on
26739         MS-Windows and MS-DOS.
26740         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
26741         eshell-force-execution is non-nil, complete on readable files and
26742         directories, not only executables.  When running on MS-Windows,
26743         prepend "." to list of directories produced from PATH, as Windows
26744         always implicitly searches the current directory first.
26746 2015-04-29  Sam Steingold  <sds@gnu.org>
26748         Bury RCIRC buffers when there is no activity
26749         * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove.
26750         (rcirc-bury-buffers): New function.
26751         (rcirc-next-active-buffer): When there is no new activity, use
26752         `rcirc-bury-buffers' to hide all RCIRC buffers.
26754 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
26756         Fix DBUS query result parsing for secrets-search-items
26757         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
26758         parsing.  The function assumed that return value of the
26759         SearchItems method called on a collection is a list of two lists,
26760         however this is true only when no collection is specified.  GNOME
26761         had used to incorrectly return a list of two lists in both cases,
26762         but this was already fixed:
26763         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
26764         incorrect information in the secrets-search-items’ docstring.
26765         (Bug#20449)
26767 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
26769         * lisp/emacs-lisp/bytecomp.el (byte-compile--message):
26770         Use `inhibit-message' instead of hiding the previous message
26771         with (message nil).
26773 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
26775         Remove the deprecated INTERNAL_FIELD macro by expanding it
26776         * src/lisp.h (INTERNAL_FIELD): Remove.
26777         (DEFVAR_KBOARD): Modify accordingly.
26778         * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c:
26779         * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users.
26780         * src/buffer.c (compact_buffer): Use BVAR.
26782 2015-04-29  Glenn Morris  <rgm@gnu.org>
26784         Replace an obsolete function alias
26785         * lisp/isearch.el (isearch-yank-x-selection):
26786         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
26787         (mouse-drag-secondary-moving):
26788         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
26789         Replace obsolete alias x-get-selection with gui-get-selection.
26791 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
26793         * lisp/mail/rmailsum.el: Use lexical-binding.
26795 2015-04-29  Glenn Morris  <rgm@gnu.org>
26797         * test/automated/package-test.el (package-test-update-archives-async):
26798         Skip test on hydra.nixos.org.
26800 2015-04-28  Glenn Morris  <rgm@gnu.org>
26802         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
26803         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
26804         (foldout-mouse-hide-or-exit): Use new names for outline functions.
26806         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
26807         Update for 2014-06-26 hideif.el change.
26809         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
26810         (rmail--decode-and-apply): New function.
26811         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
26813         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
26815 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
26817         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
26818         (package-menu--refresh): Delegate obsolete-hiding to
26819         `package--remove-hidden'.
26820         (package--remove-hidden): Disregard high-priority package if it is
26821         older than the installed one.
26823 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
26825         Update source file encoding list
26826         Update admin/notes/unicode, along with coding system cookies in
26827         other files, so that the two match each other better.
26828         * admin/notes/unicode: lisp/language/ethio-util.el and
26829         lisp/language/ethiopic.el also use utf-8-emacs.
26830         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
26831         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
26832         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
26833         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
26834         * etc/refcards/sk-survival.tex:
26835         Add "coding: utf-8" so that this file is not mishandled in a
26836         Latin-1 or Big-5 locale.
26837         * lisp/international/robin.el, lisp/org/ox-ascii.el:
26838         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
26839         * lisp/language/ethio-util.el: Fix trailer.
26841 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
26843         Fix synchronous invocation of Ispell
26844         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
26845         value to ispell-process-directory before calling ispell-init-process.
26846         Don't call set-process-coding-system if ispell-async-processp is nil.
26847         (Bug#20448)
26849 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
26851         * lisp/emacs-lisp/package.el: Skip space and comments in init file
26852         (package--ensure-init-file): Insert snippet at first
26853         non-whitespace non-comments line.  Respects local-vars at the top
26854         of the file.
26856 2015-04-28  Glenn Morris  <rgm@gnu.org>
26858         * lisp/mail/rmail.el (rmail-copy-headers):
26859         Handle rmail-nonignored-headers being nil.  (Bug#18878)
26861         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
26863         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
26864         Don't get confused by a bzrlib version mismatch warning.
26866 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
26868         Change default location of EUDC options file
26869         * etc/NEWS: Document change to EUDC options file's default location.
26870         * lisp/net/eudc-vars.el (eudc-options-file): Use
26871         `locate-user-emacs-file' to change default options file location.
26873 2015-04-27  Glenn Morris  <rgm@gnu.org>
26875         * test/automated/package-test.el (package-test-update-archives-async):
26876         Try to handle the test server script dying.
26878 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
26880         * lisp/saveplace.el (save-place-mode): New minor mode.
26881         (save-place): Redefine as an obsolete alias.
26883         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
26884         * lisp/midnight.el: Use lexical-binding.
26885         (midnight-mode): Make it a proper minor mode.
26886         (midnight-buffer-display-time): Make arg non-optional.
26887         (midnight-find): Remove.
26888         (clean-buffer-list-kill-never-regexps)
26889         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
26890         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
26891         contain functions.
26892         (clean-buffer-list): Use cl-find.
26893         Allow clean-buffer-list-kill-never-regexps to contain functions.
26895 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
26897         Bump version of seq.el to 1.5
26898         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
26899         from seq-doseq.  Bump version number of seq.el.
26901 2015-04-27  Glenn Morris  <rgm@gnu.org>
26903         * lisp/mail/rmail.el (rmail-reply):
26904         Decode subject before matching "Re:" prefix.  (Bug#20396)
26906 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
26908         * lisp/emacs-lisp/package.el: Small improvements
26909         (package--with-work-buffer-async): More informative error.
26910         (package-install-user-selected-packages): Rename to
26911         `package-install-selected-packages'.
26913 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
26915         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
26916         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
26917         (eieio--class-make): Remove leftover `tag'.
26919 2015-04-27  Glenn Morris  <rgm@gnu.org>
26921         * lisp/gnus/message.el (gnus-extract-address-components):
26922         Remove bogus declaration that was masking previous problem.
26924 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
26926         * lisp/gnus/message.el (message-insert-formatted-citation-line):
26927         Fix typo.  (Bug#20318)
26929 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
26931         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
26933         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
26934         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
26935         the buffer in yet another frame.
26936         (reftex-toc-visit-location): Make sure toc-window has focus at the end
26937         when `final' is nil.
26938         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
26939         silence warnings.  Use `--' to clarify that it's internal.
26940         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
26941         (reftex-toc-promote): Clarify unused argument.
26942         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
26943         Add `reftex--' prefix.  Fix all users.
26944         (reftex-toc-promote-prepare): Use _ for dummy variable.
26945         (reftex-toc-restore-region): Rename `m.
26947 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
26949         Fix a typo in bibtex.el
26950         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
26951         last change.  (Bug#20429)
26953         Fix redisplay of frame after loading new fonts
26954         * src/xdisp.c (redisplay_internal): When retrying redisplay of
26955         a frame because new fonts were loaded, disable all redisplay
26956         optimizations on that frame by calling SET_FRAME_GARBAGED.
26957         (Bug#20410)
26959 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
26961         * lisp/info.el (Info-menu): Properly provide the `default'
26962         (Bug#20391)
26964         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
26965         Catch errors from documentation (bug#20418).
26966         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
26968 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
26970         * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler.
26971         Remove redundant ":group 'package".
26973 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
26975         Fix a typo in rmail.el
26976         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
26977         last commit.  (Bug#20429)
26979 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
26981         Introduce xref-prompt-for-identifier
26982         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
26983         (xref--read-identifier): Use it
26984         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
26986 2015-04-26  João Távora  <joaotavora@gmail.com>
26988         `tex-insert-quote' after single `'' opens quotes instead of closing
26989         Without this, it's very hard to precede double quotes with the
26990         apostrophe character, i.e. insert the sequence '``
26991         (quote-backquote-backquote), commonly useful in portuguese, for
26992         instance.
26993         * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of
26994         preceding chars making `tex-insert-quote' be in the "opening" context.
26996 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
26998         Pass `id' to `completing-read' as def instead of initial input
26999         * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to
27000         `completing-read' as the default value instead of initial input
27001         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
27003 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
27005         Don't freeze with unreadable processes
27006         Don't freeze if an exiting process can't be read from.  (Bug#19860).
27007         This fixes a bug I introduced in
27008         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
27009         "* process.c: Add sanity checks for file descriptors."
27010         Dmitry Gutov did most of the legwork in finding the problem.
27011         * src/process.c (wait_reading_process_output):
27012         Treat non-running processes that can't be read from
27013         the same as other non-running processes.
27015 2015-04-25  Alan Mackenzie  <acm@muc.de>
27017         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
27018         * lisp/subr.el (remove-yank-excluded-properties): Put
27019         `with-silent-modifications' around only the last three lines of code.
27021 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
27023         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
27024         (package--all-keywords): Deleted variable.
27026         * etc/NEWS: Document package-hiding functionality.
27028 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
27030         * lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
27032         Clarify the doc string of 'replace-regexp-in-string'
27033         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
27035         Improve doc string of 'insert-buffer-substring'
27036         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
27038         MS-Windows followup for the recent gnulib update
27039         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
27040         acl-internal.c.
27042 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
27044         Spelling fixes
27046         Merge from gnulib
27047         This incorporates:
27048         2015-04-24 file-has-acl: new module, split from acl
27049         2015-04-24 manywarnings: add GCC 5.1 warnings
27050         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
27051         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
27052         2015-04-15 acl: On Linux, check for acls without libacl
27053         2015-04-14 tempname: avoid unused parameter warnings (trivial)
27054         * lib/acl-internal.c: New file, from gnulib.
27055         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
27056         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
27057         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
27058         Update from gnulib.
27060         Port --enable-gcc-warnings to GCC 5.1 x86-64
27061         * lib-src/ebrowse.c (dump_sym):
27062         * lib-src/hexl.c (main):
27063         * src/ccl.c (ccl_driver):
27064         * src/character.c (string_escape_byte8):
27065         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
27066         * src/gnutls.c (Fgnutls_boot):
27067         * src/gtkutil.c (xg_check_special_colors):
27068         * src/image.c (x_build_heuristic_mask):
27069         * src/print.c (safe_debug_print, print_object):
27070         * src/term.c (produce_glyphless_glyph):
27071         * src/xdisp.c (get_next_display_element)
27072         (produce_glyphless_glyph):
27073         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
27074         Don't use a signed format to print an unsigned integer, or vice
27075         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
27076         * src/image.c (png_load_body, jpeg_load_body):
27077         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
27079 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
27081         Add new faces to tsdh-light-theme
27082         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
27083         definitions for Info-quoted, ace-jump-face-foreground,
27084         hl-paren-face, show-paren-match, and show-paren-mismatch.
27086 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
27088         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
27090 2015-04-24  Glenn Morris  <rgm@gnu.org>
27092         * build-aux/gitlog-to-emacslog:
27093         Use raw log format rather than wrapped one.
27095 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
27097         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code.
27098         (seq-doseq): Fix out-of-scope binding.
27099         Don't call `seq-length at every iteration.
27100         Reduce `if's from 3 to 2 per iteration.
27101         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
27103 2015-04-24  Glenn Morris  <rgm@gnu.org>
27105         * lisp/textmodes/text-mode.el (text-mode-hook):
27106         Move text-mode-hook-identify to default.
27108         * lisp/mouse.el (minor-mode-menu-from-indicator):
27109         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
27111         * lisp/help-fns.el (describe-function): More type checking.
27112         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
27114         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
27115         (Bug#20325)
27117 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
27119         shr: strip leading whitespace when expanding URLs
27120         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
27122 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
27124         Clarify "co-authored" some more
27126         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
27128         Clarify doc strings of functions that search for properties
27129         * src/textprop.c (Fnext_char_property_change)
27130         (Fprevious_char_property_change)
27131         (Fnext_single_char_property_change)
27132         (Fprevious_single_char_property_change, Fnext_property_change)
27133         (Fnext_single_property_change, Fprevious_property_change)
27134         (Fprevious_single_property_change): Clarify doc strings wrt return
27135         value and the optional LIMIT argument.  (Bug#20411)
27137 2015-04-24  Glenn Morris  <rgm@gnu.org>
27139         * test/automated/message-mode-tests.el (message-mode-propertize):
27140         Handle non-writable HOME; eg on hydra.nixos.org.
27142 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
27144         Avoid starting threads by w32-shell-execute
27145         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
27146         local file names, before invoking ShellExecute.  (Bug#20220)
27148 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
27150         Fix following doc-links in `widget-documentation-link-action'
27151         * lisp/wid-edit.el (widget-documentation-link-action): Make
27152         following doc-links less simplistic (Bug#20398).
27154 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27156         Improve EUDC manual
27157         * doc/misc/eudc.texi (Troubleshooting):
27158         New LDAP troubleshooting subsection.
27160 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
27162         Omit needless "\ " after multibyte then newline
27163         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
27164         (print_object): When print-escape-multibyte is non-nil and a
27165         multibyte character is followed by a newline or formfeed, followed
27166         by a hex digit, don't output a needless "\ " before the hex digit.
27167         * test/automated/print-tests.el (print-hex-backslash): New test.
27169 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
27171         Add a new `inhibit-message' variable
27172         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
27173         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
27174         `inhibit_message' is non-zero.
27175         * etc/NEWS: Add an entry.
27176         * doc/lispref/display.texi: Add an entry for `inhibit-message',
27177         mention it in `message'.
27179 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
27181         Fix last fix in `display-buffer-record-window'.
27182         * lisp/window.el (display-buffer-record-window): Fix last fix.
27184 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
27186         Minor edits in CONTRIBUTE
27187         * CONTRIBUTE: Rearrange instructions about log messages.
27188         Use "Git" capitalized all over.
27189         Use 2 spaces between sentences.
27191 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
27193         * lisp/files.el (basic-save-buffer): Fix argument.
27195         * lisp/cus-edit.el (custom-file): Consider init-file-had-error.
27196         In case `(and (null custom-file) init-file-had-error)' do the same
27197         thing we'd do if `(null user-init-file)', which is to either error out
27198         or return nil.  This is in line with `custom-save-all' which would
27199         throw an error in that situation.  (Bug#20355)
27201         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu.
27202         (package-menu-hide-low-priority): New variable, see its doc.
27203         (package-archive-priorities): Update doc.
27204         (package-desc-priority): New function.
27205         (package-desc-priority-version): Use it.
27206         (package--remove-hidden): New function.
27207         (package-menu--refresh): Use it.
27209         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages.
27210         (package-menu--hide-obsolete): New variable.
27211         (package--remove-hidden): Use it.
27212         (package-menu-hide-obsolete): New interactive function to toggle
27213         the variable.
27214         (package--quick-help-keys): Document it.
27215         (package-menu-async): Add :version tag.
27216         (package-menu-mode-map): Bind package-menu-hide-obsolete.
27217         (package-desc-status): Indicate non-installed obsolete packages as
27218         avail-obso.
27219         (package-menu-mark-install): Allow installation of avail-obso.
27220         (package-menu--status-predicate): Sort avail-obso with available.
27222 2015-04-22  Alan Mackenzie  <acm@muc.de>
27224         On C-y, stop some text property entries being written into buffer-undo-list
27225         * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in
27226         `with-silent-modifications'.
27228 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
27230         In display-buffer-record-window record selected window if necessary
27231         * lisp/window.el (display-buffer-record-window): Store selected window
27232         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
27234 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
27236         Fix reftex-citation bug
27237         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
27238         Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX
27239         integration is enabled and there are no citations in the document
27240         so far.
27242 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
27244         Add or reset based on the presence of MERGE_HEAD
27245         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
27246         `vc-git-resolve-when-done' to `after-save-hook' in either case.
27247         (vc-git-conflicted-files): Add a TODO.
27248         (vc-git-resolve-when-done): Depending on the presence of
27249         MERGE_HEAD, either update the resolved file in the index, or
27250         remove it from there.  (Bug#20292)
27252 2015-04-21  Glenn Morris  <rgm@gnu.org>
27254         * lisp/custom.el (custom-declare-group): No need to purecopy
27255         custom-current-group-alist members following recent change to set
27256         it to nil before dumping.
27258         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
27259         (Bug#20399)
27261 2015-04-21  Daniel Colascione  <dancol@dancol.org>
27263         Unbreak no-op buffer save message
27264         * lisp/files.el (basic-save-buffer): Accept called-interactively as
27265         an argument instead of directly invoking called-interactively-p,
27266         which will always yield nil in that context.
27268 2015-04-21  Alan Mackenzie  <acm@muc.de>
27270         CC Mode: Do nothing in before/after-change-functions for text
27271         property changes
27272         Fixes bug#20266.
27273         * lisp/progmodes/cc-mode.el (c-basic-common-init): Make
27274         yank-handled-properties buffer local, and remove 'category from it.
27275         (c-called-from-text-property-change-p): New function.
27276         (c-before-change): Don't do anything if a call of the new function
27277         returns non-nil.
27278         (c-after-change): Don't do much if a call of the new function returns
27279         non-nil.
27280         (c-extend-after-change-region): Put changes to text property 'fontified
27281         inside c-save-buffer-state.
27283 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
27285         Fix byte-compiler warnings about looking-back
27286         * lisp/vc/log-view.el (log-view-end-of-defun-1):
27287         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
27288         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
27289         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
27290         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
27291         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
27292         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
27293         * lisp/org/org.el (org-insert-heading, org-sort-entries):
27294         * lisp/org/org-mouse.el (org-mouse-end-headline)
27295         (org-mouse-context-menu):
27296         * lisp/org/org-clock.el (org-clock-cancel):
27297         * lisp/man.el (Man-default-man-entry):
27298         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
27299         (rmail-ensure-blank-line):
27300         * lisp/mail/footnote.el (Footnote-delete-footnote):
27301         * lisp/mail/emacsbug.el (report-emacs-bug):
27302         * lisp/info.el (Info-follow-reference, Info-fontify-node):
27303         * lisp/info-look.el (info-lookup-guess-custom-symbol):
27304         * lisp/help-fns.el (help-fns--key-bindings):
27305         * lisp/files.el (hack-local-variables):
27306         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
27307         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
27308         (viper-complete-filename-or-exit):
27309         * lisp/emulation/viper-cmd.el (viper-backward-indent):
27310         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
27311         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
27312         * lisp/cus-edit.el (custom-face-edit-value-create):
27313         * lisp/calendar/todo-mode.el (todo-set-item-priority)
27314         (todo-filter-items-1, todo-convert-legacy-files)
27315         (todo-prefix-overlays): Add explicit second arg to looking-back.
27317 2015-04-20  Glenn Morris  <rgm@gnu.org>
27319         Avoid non-nil current-load-list at startup
27320         * src/process.c (init_process_emacs): Move Fprovide statement...
27321         (syms_of_process): ... to here.
27323         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
27325         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value
27326         in emacs -Q.
27328 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
27330         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
27331         (Bug#20330)
27333 2015-04-20  Glenn Morris  <rgm@gnu.org>
27335         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
27337         Tweak exec-path in uninstalled case
27338         * src/callproc.c (init_callproc): If running uninstalled, do not
27339         include eventual installation libexec directory in exec-path.
27341 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
27343         * lisp/emacs-lisp/package.el: Filter by multiple keywords and
27344         cache keywords.
27345         (package-menu-filter): Accept a list of keywords.
27346         (package--all-keywords): New variable to cache known keywords.
27347         (package-all-keywords): Populate it if necessary.
27348         (package-refresh-contents): Reset it.
27350         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
27351         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
27352         as special keywords which match agains package archive and status
27353         respectively.
27354         * etc/NEWS: Document it.
27356 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
27358         Describe and index "empty overlays".
27359         * doc/lispref/display.texi (Overlays): Improve indexing.
27360         (Managing Overlays): Describe "empty" overlays.
27361         (Overlay Properties, Finding Overlays): Add cross-reference to
27362         where empty overlays are described.
27364 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
27366         Spelling fixes
27368         Quote 'like this' in top-level files
27369         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
27370         Prefer to single-quote 'like this' (instead of the older style
27371         `like this').
27372         * configure.ac: Fix some space-before-tab problems that 'git commit'
27373         complained about.
27375         Use bool for boolean in textprop.c, undo.c
27376         * src/textprop.c (soft, hard): Now constants instead of macros.
27377         (validate_plist): Rewrite to avoid need for boolean local.
27378         (interval_has_all_properties, interval_has_some_properties)
27379         (interval_has_some_properties_list, add_properties)
27380         (remove_properties, get_char_property_and_overlay)
27381         (Fnext_single_char_property_change)
27382         (Fprevious_single_char_property_change, add_text_properties_1)
27383         (Fremove_text_properties, Fremove_list_of_text_properties)
27384         (copy_text_properties):
27385         * src/tparam.c (tparam1):
27386         * src/undo.c (record_change, record_property_change)
27387         (syms_of_undo):
27388         Use 'true' and 'false' for booleans.
27390 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
27392         * lisp/vc/vc-git.el (vc-git-find-file-hook):
27393         Call `smerge-start-session' even when dealing with a stash
27394         conflict (bug#20292).
27396 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
27398         Add option to eshell/clear to clear scrollback.
27399         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
27400         (eshell/clear): Add an optional SCROLLBACK argument.  If non-nil,
27401         scrollback contents are cleared.
27402         * etc/NEWS: Describe change.
27403         * doc/misc/eshell.texi: Add entry for `clear'.
27405 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
27407         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
27408         where either will do.
27410 2015-04-19  Steve Purcell  <steve@sanityinc.com>
27412         Assume package archive-contents are UTF8-encoded
27413         * lisp/emacs-lisp/package.el (package--read-archive-file):
27414         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
27415         downloaded and cached archive-contents files, so that non-ASCII
27416         characters in package descriptions are displayed correctly in the
27417         `list-packages' menu.  (Bug#20231)
27419 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
27421         Abort when looking at stashed changes
27422         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
27423         stashed changes (bug#20292).
27425 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
27427         Refactor low-level printing for simplicity
27428         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
27429         PRINTPREPARE; doable now that we assume C99.  All callers changed.
27430         (PRINTCHAR): Remove, as it adds more mystery than clarity.
27431         All callers changed.
27432         (strout): Assume that caller computes length.  All callers changed.
27433         (print_c_string): New function.
27434         (write_string, write_string_1): Compute length instead of asking
27435         the caller to compute it.  All callers changed.
27436         (write_string): Simplify by using write_string_1.
27437         (write_string_1): Simplify by using print_c_string.
27438         (Fterpri): Compute default val more clearly.
27439         (Fprin1_to_string, print_object):
27440         Assume C99 to avoid unnecessary nesting.
27441         (print_object): Prefer print_c_string to multiple printchar, or
27442         to calling strout with -1 length.  Coalesce into sprintf when
27443         this is easy.
27445 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
27447         Prefer "Bug#1234" in commit messages (Bug#20325)
27448         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
27449         as this isn't useful for Git.
27450         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
27452 2015-04-18  Glenn Morris  <rgm@gnu.org>
27454         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
27455         (Bug#19506)
27457 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
27459         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
27460         Do not use `chomp' as a function.  (Bug#19505)
27462 2015-04-18  Glenn Morris  <rgm@gnu.org>
27464         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
27466         * doc/emacs/misc.texi (Sorting): Small edit.
27467         (Bug#19896)
27469         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
27471 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
27473         css-mode.el: Support multi-line comment filling
27474         (Bug#20256)
27475         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
27476         comment filling.
27477         (css-adaptive-fill): New function.
27478         (css-mode): Set `adaptive-fill-function'.
27479         (scss-mode): Set `comment-continue'.
27481 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
27483         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into):
27484         Better error messages.
27486 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
27488         Minor improvements in Bulgarian input methods
27489         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
27490         Replace U+042C with U+045D, as the former character is not used in
27491         the modern Bulgarian language.
27492         (Bug#20350)
27494 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27496         Improve EUDC manual
27497         * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL
27498         authentication schemes.  Add index items.  Shorten example server
27499         name.
27501 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
27503         Don't show both feature and function with the same name
27504         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
27505         Don't show both feature and function with the same name.
27507         (elisp--xref-identifier-location): Skip variable, if it's also
27508         a function
27509         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
27510         Avoid returning both the variable and the function for the same
27511         minor mode.
27513 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
27515         Fix fontification of keywords clobbered by the prompt
27516         * lisp/comint.el (comint-output-filter): Remove the uses of
27517         with-silent-modifications I introduced as part of the last change.
27518         This fixes, e.g., erratically missing highlighting when running
27519         ./configure --help; ./configure in a shell-mode buffer with
27520         compilation-shell-minor-mode turned on.
27522 2015-04-17  Glenn Morris  <rgm@gnu.org>
27524         * admin/authors.el (authors-valid-file-names)
27525         (authors-renamed-files-alist): Additions.
27527 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
27529         * lisp/indent.el (indent-region): Don't deactivate the mark.
27530         (Bug#20357)
27532 2015-04-17  Sam Steingold  <sds@gnu.org>
27534         * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable.
27536 2015-04-16  Leo Liu  <sdl.web@gmail.com>
27538         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
27540 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
27542         * lisp/erc/erc-pcomplete.el (erc-pcomplete):
27543         Don't use `pcomplete' any more.
27545 2015-04-16  Glenn Morris  <rgm@gnu.org>
27547         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
27549 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
27551         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
27552         * configure.ac (LIBJPEG): Leave it empty for MinGW.
27554 2015-04-16  Glenn Morris  <rgm@gnu.org>
27556         * lisp/replace.el (query-replace-from-to-separator):
27557         Delay initialization to avoid rogue setting after startup.
27559 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
27561         Pre-4.6 GCC succeeds with unknown option
27562         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
27563         (Bug#20338)
27565 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
27567         '[:graph:]' now excludes whitespace, not just ' '
27568         * doc/lispref/searching.texi (Char Classes):
27569         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
27570         sans whitespace (not sans space).
27571         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
27572         not just space.
27573         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
27575 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
27577         * lisp/subr.el (substitute-key-definition-key, special-form-p)
27578         (macrop): Drop deprecated second arg to indirect-function.
27579         (looking-back): Make the second arg non-optional.
27581         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
27582         command is actually sent to the shell.
27584 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
27586         Port jpeg configuration to Solaris 10 with Sun C
27587         * configure.ac: Check for jpeglib 6b by trying to link it, instead
27588         of relying on cpp magic that has problems in practice.  Check for
27589         both jpeglib.h and jerror.h features.  Remove special case for
27590         mingw32, which should no longer be needed (and if it were needed,
27591         should now be addressable by hotwiring emacs_cv_jpeglib).
27592         (Bug#20332)
27594 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
27596         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
27597         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
27598         Move to elisp-mode.el.
27599         (lisp-mode-variables): (Re)move elisp-specific settings.
27600         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
27601         from lisp-mode-variables.
27602         (elisp--font-lock-flush-elisp-buffers): New function, moved from
27603         lisp-mode.el.
27605         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
27606         Avoid pathological slowdown at top-level in large file.
27608 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
27610         Standardize names of ChangeLog history files
27611         Suggested by Glenn Morris in:
27612         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
27613         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
27614         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
27615         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
27616         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
27617         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
27618         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
27619         Remove.
27621         Split top-level entries into pre- and post-April 7
27622         This more clearly distingiushes pre-April-7 ChangeLog entries (which
27623         are for top-level files only) from post-April-7 entries (which are
27624         about files at all levels.  Problem reported by Glenn Morris in:
27625         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
27626         * ChangeLog.1: Move post-April-7 entries from here ...
27627         * ChangeLog.2: ... to this new file.
27628         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
27630 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
27632         Fix recent cus-start changes that added customize-rogues
27633         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
27634         vars early.
27635         * lisp/loadup.el ("cus-start"): Move to the end to reduce
27636         customize-rogue.
27638 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
27640         Define cl-concatenate as an alias to seq-concatenate
27641         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
27642           code by making cl-concatenate an alias to seq-concatenate.
27644 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
27646         * src/lread.c (intern_1): Make sure we'd find the symbol we add
27647         (Bug#20334)
27648         * src/xfaces.c (resolve_face_name): Don't use `intern' with
27649         Lisp_Strings.
27651 2015-04-15  Glenn Morris  <rgm@gnu.org>
27653         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
27655 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
27657         Clean up gnus-uu saving code slightly
27658         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the
27659         save-restriction/widen calls make more sense.
27661 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
27663         Make [:graph:] act like [:print:] sans space
27664         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
27665         [:graph:] so that it matches everything that [:print:] does,
27666         except for space.
27667         * doc/lispref/searching.texi (Char Classes):
27668         * etc/NEWS:
27669         * lisp/emacs-lisp/rx.el (rx):
27670         Document [:graph:] to be [:print:] sans ' '.
27671         * src/character.c, src/character.h (graphicp): New function.
27672         * src/regex.c (ISGRAPH) [emacs]: Use it.
27673         (BIT_GRAPH): New macro.
27674         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
27675         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
27676         Return BIT_GRAPH for RECC_GRAPH.
27677         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
27678         and ISPRINT if BIT_PRINT.
27680 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
27682         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
27683         Don't use call-next-method in a cl-defmethod.
27685         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
27686         (eieio--class-p): Remove, provided by cl-defstruct.
27688 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
27690         Add seq-intersection and seq-difference to the seq library
27691         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference):
27692         New functions.
27693         * test/automated/seq-tests.el: Add tests for seq-intersection and
27694         seq-difference.
27695         * doc/lispref/sequences.texi: Add documentation for seq-intersection
27696         and seq-difference.
27698 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
27700         * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline,
27701         to avoid leaking internals.
27703 2015-04-14  Sam Steingold  <sds@gnu.org>
27705         package--ensure-init-file: widen requires save-restriction
27707 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
27709         Improve the commit-msg Git hook for unibyte environments
27710         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
27711         in unibyte environments.  (Suggested by Paul Eggert
27712         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
27713         [:print:], based on UTF-8 sequences of the unprintable characters.
27715         Describe problems with cursor caused by Windows Magnifier
27716         * etc/PROBLEMS: Describe the problem with cursor shape on
27717         MS-Windows due to Windows Magnifier.
27718         (Bug#20271)
27720         Make [:print:] support non-ASCII characters correctly
27721         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
27722         (BIT_PRINT): New bit mask.
27723         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
27724         * src/character.c (printablep): New function.
27725         * src/character.h (printablep): Add prototype.
27726         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
27727         of 'print', 'alnum', and 'alphabetic'.
27728         * doc/lispref/searching.texi (Char Classes): Document the new
27729         behavior of [:print:].
27730         * etc/NEWS: Mention the new behavior of [:print:].
27732         Assign correct general-category and names to surrogates
27733         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
27734         surrogates.  This avoids assigning them the default
27735         general-category of 'Cn', i.e. unassigned codepoints.
27736         (unidata-get-name): Give surrogates synthetic names.
27738 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
27740         Assume C89 offsetof in xterm.c, xlwmenu.c
27741         * lwlib/xlwmenu.c (offset):
27742         * src/xterm.c (cvt_string_to_pixel_args):
27743         Use offsetof, not XtOffset.
27745 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
27747         Assume C89 offsetof in widget.c
27748         * src/widget.c (XtOffset): Remove; no longer needed.
27749         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
27751         Fix think-o in previous patch
27752         * src/window.c (count_windows, get_leaf_windows):
27753         Don't optimize count_windows incorrectly.
27755 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
27757         Avoid some int overflows in window.c
27758         * src/print.c (print_object):
27759         * src/window.c (sequence_number):
27760         * src/window.h (struct window.sequence_number):
27761         Don't assume window sequence number fits in int.
27762         * src/window.c (window_select_count):
27763         * src/window.h (struct window.use_time, window_select_count):
27764         Don't assume window use time fits in int.
27765         * src/window.c (Fsplit_window_internal):
27766         Don't assume user-supplied integer, or sum, fits in int.
27767         (Fset_window_configuration, count_windows, get_leaf_windows)
27768         (save_window_save, Fcurrent_window_configuration):
27769         Use ptrdiff_t for object counts.
27770         (Fset_window_configuration): Omit unused local 'n'.
27771         (count_windows): Simplify by writing in terms of get_leaf_windows.
27772         (get_leaf_windows): Don't store through FLAT if it's null.
27773         (extract_dimension): New static function.
27774         (set_window_margins, set_window_fringes, set_window_scroll_bars):
27775         Use it to avoid undefined behavior when converting user-supplied
27776         integer to 'int'.
27778 2015-04-13  Glenn Morris  <rgm@gnu.org>
27780         Minor doc copyedits
27781         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
27782         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
27784 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
27786         [Gnus] Catch the invalid-operation that idna.el will issue
27787         * lisp/gnus/gnus-art.el (gnus-use-idna):
27788         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
27789         * lisp/gnus/message.el (message-use-idna):
27790         Catch the invalid-operation that idna.el will issue.
27792 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
27794         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
27796 2015-04-13  Sam Steingold  <sds@gnu.org>
27798         package--ensure-init-file: widen before looking for
27799         "(package-initialize)"
27801 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
27803         Change diff-switches default to `-u' (Bug#20290)
27804         * doc/emacs/files.texi (Comparing Files): Document the new default
27805         value of `diff-switches'.
27806         * doc/emacs/trouble.texi (Sending Patches): Document the preference
27807         for unified diff format.  Escape the plus in the suggested `-F' regexp
27808         value.
27809         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
27811 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
27813         (gnus-group--setup-tool-bar-update): Fix last change
27814         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
27815         cursor-sensor-functions should be a list of functions.
27817 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
27819         * lisp/gnus/gnus-topic.el (gnus-topic-mode):
27820         Use gmm-called-interactively-p.
27822 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
27824         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
27825         (Bug#20321)
27826         * lisp/cus-start.el (read-buffer-function): Don't advertise
27827         iswitchb-read-buffer any more.
27828         (iswitchb): Don't tweak this obsolete group any more.
27830 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
27832         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file.
27834         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings.
27835         Adding a string after a constructor's argument list will use
27836         that string as the constructor function docstring.  If this string
27837         is absent but the struct itself was given a docstring, use that as
27838         the constructor's docstring.
27839         Fixes bug#17284.
27841 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
27843         Deprecate `intangible' and `point-entered' properties
27844         * lisp/emacs-lisp/cursor-sensor.el: New file.
27845         * lisp/simple.el (pre-redisplay-functions): New hook.
27846         (redisplay--pre-redisplay-functions): New function.
27847         (pre-redisplay-function): Use it.
27848         (minibuffer-avoid-prompt): Mark obsolete.
27849         (redisplay--update-region-highlight): Adapt it to work as a function on
27850         pre-redisplay-functions.
27851         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
27852         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
27853         than point-entered to make the prompt intangible.
27854         * lisp/forms.el: Move `provide' calls to the end.
27855         (forms-mode): Don't use `run-hooks' on a local var.
27856         (forms--make-format, forms--make-format-elt-using-text-properties):
27857         Use cursor-intangible rather than `intangible'.
27858         (forms-mode): Enable cursor-intangible-mode.
27859         * lisp/isearch.el (isearch-mode): Use defvar-local.
27860         (cursor-sensor-inhibit): Declare.
27861         (isearch-mode): Set cursor-sensor-inhibit.
27862         (isearch-done): Set it back.
27863         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
27864         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
27865         any more.
27866         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
27867         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
27868         Add Edebug spec.
27869         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
27870         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
27871         inhibit-point-motion-hooks any more.
27872         (ses--cell-at-pos, ses--curcell): New functions, extracted from
27873         ses-set-curcell.
27874         (ses-set-curcell): Use them.
27875         (ses-print-cell, ses-setup): Use cursor-intangible instead of
27876         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
27877         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
27878         Use ses--cell-at-pos.
27879         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
27880         extracted from ses-command-hook.  Make them work with multiple windows
27881         displaying the same buffer.
27882         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
27883         Enable cursor-intangible-mode.
27884         (ses-command-hook): Remove cell highlight and mode-line update code.
27885         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
27886         Update for new name of text-property holding the cell name.
27887         (ses-rename-cell): Don't mess with mode-line-process.
27888         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
27889         cursor-sensor-functions property instead of point-entered.
27890         (erc-insert-timestamp-right, erc-format-timestamp):
27891         Use cursor-intangible rather than `intangible'.
27892         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
27893         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
27894         cursor-sensor-mode if needed.
27895         (erc-echo-timestamp): Adapt to calling convention of
27896         cursor-sensor-functions.
27897         (erc-insert-timestamp-right): Remove unused vars `current-window' and
27898         `indent'.
27899         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
27900         (gnus-update-group-mark-positions): Remove unused `topic' var.
27901         (gnus-group-insert-group-line): Remove unused var `header'.
27902         (gnus-group--setup-tool-bar-update): New function.
27903         (gnus-group-insert-group-line): Use it.
27904         (gnus-group-update-eval-form): Declare local
27905         dynamically-bound variables.
27906         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
27907         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
27908         (gnus-group-prepare-topics, gnus-topic-update-topic)
27909         (gnus-topic-change-level, gnus-topic-catchup-articles)
27910         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
27911         Use inhibit-read-only.
27912         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
27913         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
27914         * lisp/textmodes/reftex-index.el (reftex-display-index):
27915         Use cursor-intangible-mode if available.
27916         (reftex-index-post-command-hook): Check cursor-intangible.
27917         * lisp/textmodes/reftex-toc.el (reftex-toc):
27918         Use cursor-intangible-mode if available.
27919         (reftex-toc-recenter, reftex-toc-post-command-hook):
27920         Check cursor-intangible.
27921         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
27922         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
27923         (sgml-tags-invisible): Use with-silent-modifications and
27924         inhibit-read-only.  Enable cursor-sensor-mode.
27925         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
27926         calling convention of cursor-sensor-functions.
27927         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
27928         (table-point-entered-cell-hook, table-point-left-cell-hook):
27929         Don't autoload.
27930         (table-cell-entered-state): Remove var.
27931         (table--put-cell-point-entered/left-property)
27932         (table--remove-cell-properties):
27933         Use cursor-sensor-functions rather than point-entered/left.
27934         (table--point-entered/left-cell-function): Merge
27935         table--point-entered-cell-function and table--point-left-cell-function
27936         and adjust to calling convention of cursor-sensor-functions.
27938         Update ldef-boots.el
27940         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
27942         * doc/misc/eieio.texi: Don't advertise now obsolete constructs
27944         Collapse successive char deletions in the undo log
27945         * src/cmds.c (remove_excessive_undo_boundaries): New function,
27946         extracted from Fself_insert_command.
27947         (Fdelete_char, Fself_insert_command): Use it.
27948         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
27949         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
27951         xterm and OSC 52: Add NEWS entry, and tweak the code
27952         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition
27953         to top-level.
27954         (terminal-init-xterm-activate-set-selection): Set a terminal property.
27955         (xterm--set-selection): Use it instead of checking the value of
27956         `terminal-initted'.  Don't use string-bytes.
27958 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
27960         xterm.el: Implement OSC-52 functionality for setting the X selection
27961         * lisp/term/xterm.el (xterm-max-cut-length): New var.
27962         (xterm--set-selection, terminal-init-xterm-activate-set-selection):
27963         New funs.
27964         (terminal-init-xterm, xterm--version-handler): Use them.
27966 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
27968         Remove left over code from when we used an obsolete/loaddefs.el file
27969         * lisp/subr.el (do-after-load-evaluation): Remove left over code from
27970         when we used an obsolete/loaddefs.el file.
27972         * lisp/cedet/semantic/fw.el (semantic-exit-on-input)
27973         (semanticdb-without-unloaded-file-searches): Use declare.
27974         (semantic-fw-add-edebug-spec): Remove.
27976         * lisp/completion.el (completion-lisp-mode-hook):
27977         Use completion-separator-chars rather than local key binding.
27979         * src/*.c: Set deactivate_mark buffer-locally
27980         (Bug#20260)
27981         * src/insdel.c (prepare_to_modify_buffer_1):
27982         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
27983         buffer-locally.
27985 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
27987         python.el: Keep symmetry on sexp navigation with parens
27988         (Bug#19954)
27989         * lisp/progmodes/python.el
27990         (python-nav--forward-sexp): Add argument skip-parens-p.
27991         (python-nav-forward-sexp, python-nav-backward-sexp)
27992         (python-nav-forward-sexp-safe)
27993         (python-nav-backward-sexp-safe): Use it.
27994         * test/automated/python-tests.el
27995         (python-nav-forward-sexp-1): Fix test.
27997 2015-04-12  João Távora  <joaotavora@gmail.com>
27999         Don't use `setq-local' in Gnus code
28000         This might break upstream builds with older Emacsen
28001         * lisp/gnus/message.el (message-mode): Use `set' and
28002         `make-local-variable' instead of `setq-local'.
28004 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
28006         Update Makefile.in's .PHONY dependencies
28007         * Makefile.in (change-history-commit, master-branch-is-current)
28008         (no-ChangeLog): Now phony.
28010         Remove configure's --with-mmdf option
28011         * configure.ac (MAIL_USE_MMDF): Remove.
28012         * etc/NEWS: Document this.
28013         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
28014         (Bug#20308)
28016         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
28017         That way, 'make install' won't think it's a man page.
28018         Reported by Ashish SHUKLA in:
28019         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
28021         Improve 'make change-history' prereq tests
28022         * Makefile.in (gen_origin): Fix to match what's in the master branch.
28023         (no-ChangeLog, master-branch-is-current): New rules.
28024         (change-history): Depend on them, to avoid similar future problems.
28025         Escape the local-variables string to pacify Emacs when editing
28026         Makefile.in.
28028 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
28030         * test/automated/package-test.el (with-package-test):
28031         Kill Packages buffer.
28033         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt.
28034         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
28035         "Upgrade" last, and use capitalized instead of all-caps.
28037         * lisp/emacs-lisp/package.el: Completely silence async operations.
28038         (package--make-autoloads-and-stuff): Silence autoloads.
28039         (package--save-selected-packages): New function, silences
28040         `customize-save-variable'.
28041         (package--user-selected-p, package-install-from-buffer)
28042         (package-delete, package-install): Use it.
28043         (package-install-from-archive)
28044         (package-menu--perform-transaction): Silence.
28045         (package-menu-execute): Feedback when operation starts.
28047         Use delay-mode-hooks when visiting the init-file
28048         * lisp/emacs-lisp/package.el (package--ensure-init-file):
28049         delay-mode-hooks.
28050         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks.
28052         * lisp/files.el: Only message when saving if save-silently is nil.
28053         (save-silently): New variable.
28054         (files--message): New function.
28055         (find-file-noselect, save-buffer, basic-save-buffer)
28056         (basic-save-buffer-2, save-some-buffers, not-modified)
28057         (append-to-file): Use them.
28059 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
28061         Support debug declarations in pcase macros
28062         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
28063         (pcase-UPAT): Use it.  Remove "`".
28064         (pcase--edebug-match-macro): New function.
28065         (pcase-defmacro): Support debug declarations.
28066         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
28067         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
28068         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>:
28069         Add debug declaration.
28071         pcase.el: Edebug support for `app' and vector patterns
28072         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
28073         (pcase-UPAT): Use it.  Support `app' patterns.
28074         (pcase-QPAT): Support vector patterns.
28076         edebug.el: Disambiguate vector specifications
28077         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
28078         `(vector ...)' as a vector specification, not as a sublist.
28080         (gnus-summary-refer-thread): Don't clobber unread articles
28081         This fixes a bug where `A T' causes "random" articles to become marked
28082         as read.
28083         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
28084         gnus-newsgroup-unreads remains sorted.
28086         mouse-sel.el: Fix mouse-sel-get-selection-function
28087         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
28088         Use gui--last-selected-text-primary instead of no longer existing
28089         gui-last-selected-text.
28091         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
28093         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
28095 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
28097         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate.
28099         * lisp/emacs-lisp/package.el (list-packages): Call refresh in
28100         right buffer.
28102         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations.
28103         (byte-compile--interactive): New var.
28104         (byte-compile--message): New function.
28105         (byte-compile-log-1, byte-force-recompile)
28106         (byte-recompile-directory, byte-recompile-file)
28107         (byte-compile-file, compile-defun)
28108         (byte-compile-file-form-defmumble, byte-compile)
28109         (byte-compile-file-form-defalias, display-call-tree): Use it.
28111         * lisp/files.el: Don't message when nothing happened.
28112         (save-some-buffers, basic-save-buffer): Before messaging to say
28113         "nothing was saved" check if (called-interactively-p 'any).
28115 2015-04-12  João Távora  <joaotavora@gmail.com>
28117         Summary: Improve sexp-based movement in message-mode
28118         Works by giving citations and smileys a different syntax.  This helps
28119         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
28120         sexp-based movement.
28121         * lisp/gnus/message.el (message--syntax-propertize): New function.
28122         (message-mode): Set syntax-related vars.
28123         (message-smileys): New variable.
28124         * test/automated/message-mode-tests.el: New file
28126 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
28128         Use bool for boolean in window.c
28129         * src/window.c: Omit unnecessary static function decls.
28130         (adjust_window_count, select_window, Fselect_window)
28131         (window_body_width, Fwindow_body_height, Fwindow_body_width)
28132         (set_window_hscroll, check_window_containing, Fwindow_at)
28133         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
28134         (unshow_buffer, replace_window, recombine_windows)
28135         (add_window_to_list, candidate_window_p, next_window)
28136         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
28137         (Fget_buffer_window, Fdelete_other_windows_internal)
28138         (replace_buffer_in_windows_safely, set_window_buffer)
28139         (Fset_window_buffer, Fforce_window_update)
28140         (temp_output_buffer_show, make_parent_window)
28141         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
28142         (resize_frame_windows, Fsplit_window_internal)
28143         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
28144         (Fresize_mini_window_internal, mark_window_cursors_off)
28145         (window_scroll, window_scroll_pixel_based)
28146         (window_scroll_line_based, scroll_command, Fscroll_other_window)
28147         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
28148         (Fmove_to_window_line, Fset_window_configuration)
28149         (delete_all_child_windows, apply_window_adjustment)
28150         (set_window_fringes, set_window_scroll_bars)
28151         (Fset_window_vscroll, foreach_window, foreach_window_1)
28152         (compare_window_configurations, Fcompare_window_configurations):
28153         Prefer 'bool', 'true', and 'false' for booleans.
28154         * src/window.h (WINDOW_MODE_LINE_LINES)
28155         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
28157 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
28159         Speed up byte-compilation and autoload generation by avoiding mode-hooks
28160         This prevents emacs-lisp-mode-hook from being run everytime an
28161         autoload file is generated, which can account for a fraction of
28162         package installation time depending on the hooks the user has
28163         configured.
28164         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
28165         * lisp/emacs-lisp/autoload.el (autoload-find-file)
28166         (autoload-find-generated-file): Use delay-mode-hooks.
28168         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'.
28169         (package-menu-refresh): Respect async and do new package checking.
28170         (list-packages): Use `package-menu-refresh' instead of repeating code.
28172         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help.
28173         (package--quick-help-keys): New variable.
28174         (package--prettify-quick-help-key): New function.
28175         (package-menu-quick-help): Use it.
28177         * lisp/emacs-lisp/package.el: Fix initially wrong compat table.
28178         (package--build-compatibility-table): Require finder.
28180         * test/automated/package-test.el: Fix new test.
28182         * lisp/emacs-lisp/package.el: Silence async operations.
28183         (package--silence): New variable.
28184         (package--message): New function.
28185         (package-import-keyring, package-refresh-contents)
28186         (package-compute-transaction, package-install, package-delete)
28187         (package-menu--perform-transaction, package-menu-execute): Use it.
28189         * test/automated/package-test.el: Test async functionality.
28190         (package-test-update-archives-async): New test.
28192 2015-04-11  Daiki Ueno  <ueno@gnu.org>
28194         Utilize `make-process' in epg.el
28195         * lisp/epg.el (epg-error-output): Abolish.
28196         (epg-context): New slot `error-buffer'.
28197         (epg--start): Use `make-process' and `make-pipe-process'.
28198         (epg--process-filter): Remove code separating stderr from stdout.
28199         (epg-wait-for-completion): Simplify `error-output' handling.
28200         (epg-reset): Dispose error buffer.
28202 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
28204         * .gitignore: Ignore doc temps and outputs.
28206         Port commit-msg to MSYS Bash+Gawk
28207         See Eli Zaretskii in:
28208         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
28209         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
28210         (cent_sign, print_at_sign, at_sign): Revert previous change.
28211         (print_at_sign): Prepend "BEGIN".
28212         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
28214         Port commit-msg to broken MS-Windows shell
28215         * build-aux/git-hooks/commit-msg (cent_sign):
28216         Just use UTF-8 here rather than ASCII + printf, as the latter fails
28217         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
28218         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
28220 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
28222         Support GnuTLS v3.4 and later on MS-Windows
28223         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
28224         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
28225         GnuTLS DLL to load according to value of libgnutls-version.
28226         (Bug#20294)
28228 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
28230         Minor quoting etc. fixes to misc manuals
28231         Fix some minor quoting and spacing issues.  Distinguish more
28232         clearly among grave accent and apostrophe (which are ASCII) and
28233         single quote (which is not).  Prefer the standard terms
28234         "apostrophe" and "grave accent" to alternative names that can be
28235         confusing.  Use apostrophes to single-quote ASCII text.
28236         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
28237         rather than approximating it in ASCII with grave accent.
28239 2015-04-11  Daiki Ueno  <ueno@gnu.org>
28241         Respect more keyword args in `make-process'
28242         * src/process.c (Fmake_process): Respect `:sentinel' and `:filter'
28243         keywords as documented.
28245 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
28247         Extract ChangeLog entries when committing a directory
28248         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
28249         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
28250         Add a FIXME comment.
28251         (log-edit-changelog-entries): Extract from
28252         `log-edit-changelog-entries', handle FILE being a directory
28253         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
28255 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
28257         Fix problems found by --enable-gcc-warnings
28258         * src/process.c (create_process, Fmake_pipe_process)
28259         (Fmake_network_process): Omit unused locals.
28261         Fix commit-msg to handle scissors lines
28262         * build-aux/git-hooks/commit-msg:
28263         Ignore every line after a scissors line, such as a line generated
28264         by 'git commit -v'.  Problem reported by Johan Bockgård in:
28265         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
28267         port commit-msg to Gawk 3.0.4 (1999)
28268         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
28269         (print_at_sign, at_sign): New vars.  Use them to avoid problems
28270         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
28271         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
28273         Have commit-msg report commit failure
28274         * build-aux/git-hooks/commit-msg: If the commit is aborted,
28275         say so.  Simplify by doing this at the end.  Problem reported
28276         by Eli Zaretskii in:
28277         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
28279 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
28281         Clean up LDAP Configuration section of EUDC manual
28282         * doc/misc/eudc.texi: Combine indices.
28283         (LDAP Configuration): Use command markup.  Add index entries.
28284         Change formatting.  Wrap long lines.  Add noindent markup.
28286 2015-04-10  Daiki Ueno  <ueno@gnu.org>
28288         Add facility to collect stderr of async subprocess
28289         * src/w32.h (register_aux_fd): New function declaration.
28290         * src/w32.c (register_aux_fd): New function.
28291         * src/process.h (struct Lisp_Process): New member stderrproc.
28292         * src/process.c (PIPECONN_P): New macro.
28293         (PIPECONN1_P): New macro.
28294         (Fdelete_process, Fprocess_status, Fset_process_buffer)
28295         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
28296         (Fcontinue_process): Handle pipe process specially.
28297         (create_process): Respect p->stderrproc.
28298         (Fmake_pipe_process): New function.
28299         (Fmake_process): Add new keyword argument :stderr.
28300         (wait_reading_process_output): Specially handle a pipe process when
28301         it gets an EOF.
28302         (syms_of_process): Register Qpipe and Smake_pipe_process.
28303         * doc/lispref/processes.texi (Asynchronous Processes): Document
28304         `make-pipe-process' and `:stderr' keyword of `make-process'.
28305         * lisp/subr.el (start-process): Suggest to use `make-process' handle
28306         standard error separately.
28307         * test/automated/process-tests.el (process-test-stderr-buffer)
28308         (process-test-stderr-filter): New tests.
28309         * etc/NEWS: Mention new process type `pipe' and its usage with the
28310         `:stderr' keyword of `make-process'.
28312 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
28314         Minor quoting etc. fixes to lispref manual
28315         * doc/lispref/tips.texi (Documentation Tips):
28316         Distinguish more clearly among grave accent, apostrophe,
28317         and single quote.
28318         * doc/lispref/README, doc/lispref/buffers.texi:
28319         * doc/lispref/commands.texi, doc/lispref/control.texi:
28320         * doc/lispref/customize.texi, doc/lispref/display.texi:
28321         * doc/lispref/elisp.texi, doc/lispref/files.texi:
28322         * doc/lispref/frames.texi, doc/lispref/hash.texi:
28323         * doc/lispref/help.texi, doc/lispref/internals.texi:
28324         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
28325         * doc/lispref/markers.texi, doc/lispref/modes.texi:
28326         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
28327         * doc/lispref/os.texi, doc/lispref/positions.texi:
28328         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
28329         * doc/lispref/text.texi, doc/lispref/tips.texi:
28330         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
28331         Use American-style double quoting in ordinary text,
28332         and quote 'like this' when single-quoting in ASCII text.
28333         Also, fix some minor spacing issues.
28335 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
28337         Handle symlinked test directory in tramp-tests.el
28338         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
28339         (tramp--test-check-files): Use `file-truename' for directories.
28341 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
28343         Fix 'recenter' when visual-line-mode is turned on
28344         * src/window.c (Frecenter): Use the same code for GUI and TTY
28345         frames alike; use vmotion only for "initial" frames.  This is
28346         because vmotion doesn't support visual-line-mode.  Rewrite the
28347         'iarg >= 0' case to use move_it_* functions instead of using
28348         vmotion, for the same reason.  Fix the clipping of the argument
28349         value to support scroll-margin in all cases and avoid unwarranted
28350         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
28351         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
28352         which see.
28354 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
28356         * lisp/abbrev.el (define-abbrev-table): Refine last change.
28358         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
28359         use of c[ad]+r", so as to keep the "cl-" prefix on all
28360         cl-lib definitions.
28362         * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
28363         Use inhibit-point-motion-hooks.
28365         * lisp/cedet/semantic: Remove some dead code.
28366         * lisp/cedet/semantic/util-modes.el
28367         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
28368         any more.
28369         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
28370         not supported any more.
28371         (semantic-safe): Use `declare'.
28372         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
28373         (semantic-tag-intangible-p): Remove unused functions.
28374         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
28375         Remove unused function.
28377         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
28378         (gnus-article-hide-text, gnus-article-unhide-text)
28379         (gnus-article-unhide-text-type): Remove special handling of
28380         `intangible' since that property is not used any more.
28381         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
28383 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
28385         Use the VC root in `log-edit-listfun'
28386         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
28387         `log-edit-listfun'.
28389 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
28391         Fix description of Unix time, mention new function.
28392         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
28393         Unix time.
28394         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
28395         (Basic Operations on Units): Mention `calc-convert-exact-units'.
28397 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
28399         * lisp/emacs-lisp/package.el: Use mode-line-process for notification.
28401 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
28403         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
28404         Don't add newline after the last entry.
28406 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
28408         css-mode.el: Add "not" pseudo-class
28409         (Bug#20267)
28410         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
28411         list of CSS pseudo-classes.
28413 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
28415         * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var".
28417 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
28419         Stop messing with the EMACS env var
28420         * doc/emacs/misc.texi (Interactive Shell): Remove description of
28421         EMACS env var.
28423 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
28425         Adapt 'make change-history' to coding cookie
28426         * Makefile.in (change-history): Adjust to change of format of
28427         ChangeLog file, which now has a coding cookie before an indented
28428         copyright notice.
28430 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
28432         Adapt 'make change-history' to coding cookie
28433         * Makefile.in (change-history): Adjust to change of format of
28434         ChangeLog file, which now has a coding cookie before an indented
28435         copyright notice.
28437         gitlog-to-changelog coding cookie and mv -i
28438         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
28439         for copyright notice prototype, so that we get a proper "coding:"
28440         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
28441         existing ChangeLog.  Problems reported by Eli Zaretskii in:
28442         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
28444         Merge from gnulib
28445         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
28446         2015-04-09 gitlog-to-changelog: port to MS-Windows
28448 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
28450         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
28451         (Bug#20212)
28453 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
28455         Stop messing with the EMACS env var
28456         (Bug#20202)
28457         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
28458         * lisp/comint.el (comint-exec-1):
28459         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
28460         * lisp/progmodes/compile.el (compilation-start): Same and bring
28461         INSIDE_EMACS's format in line with other users.
28463         css-mode.el (css-smie-rules): Fix indentation after complex selectors
28464         (Bug#20282)
28465         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
28466         inner structure of selectors.
28468 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
28470         python.el: Indent docstring lines to base-indent
28471         (Bug#19595)
28472         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
28473         an initial patch.
28474         * lisp/progmodes/python.el
28475         (python-indent-context): Add :inside-docstring context.
28476         (python-indent--calculate-indentation): Handle :inside-docstring.
28477         (python-indent-region): Re-indent docstrings.
28478         * test/automated/python-tests.el (python-indent-region-5)
28479         (python-indent-inside-string-2): Fix tests.
28481         python.el: Increase native completion robustness
28482         (Bug#19755)
28483         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
28484         this and providing useful ideas.
28485         * lisp/progmodes/python.el
28486         (python-shell-completion-native-output-timeout): Increase value.
28487         (python-shell-completion-native-try-output-timeout): New var.
28488         (python-shell-completion-native-try): Use it.
28489         (python-shell-completion-native-setup): New readline setup avoids
28490         polluting current context, ensures output when no-completions are
28491         available and includes output end marker.
28492         (python-shell-completion-native-get-completions): Trigger with one
28493         tab only.  Call accept-process-output until output end is found or
28494         python-shell-completion-native-output-timeout is exceeded.
28496 2015-04-08  Samer Masterson  <samer@samertm.com>
28498         * lisp/eshell: Make backslash a no-op in front of normal chars
28499         (Bug#8531)
28500         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
28501         (eshell-parse-backslash): Return escaped character after backslash
28502         if it is special.  Otherwise, if the backslash is not in a quoted
28503         string, ignore the backslash and return the character after; if
28504         the backslash is in a quoted string, return the backslash and the
28505         character after.
28506         * test/automated/eshell.el (eshell-test/escape-nonspecial)
28507         (eshell-test/escape-nonspecial-unicode)
28508         (eshell-test/escape-nonspecial-quoted)
28509         (eshell-test/escape-special-quoted): Add tests for new
28510         `eshell-parse-backslash' behavior.
28512 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
28514         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
28515         after the file name.
28516         (Bug#20276)
28518 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
28520         Minor quoting etc. fixes to Emacs manual
28521         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
28522         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
28523         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
28524         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
28525         * doc/emacs/indent.texi, doc/emacs/macos.texi:
28526         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
28527         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
28528         * doc/emacs/search.texi, doc/emacs/trouble.texi:
28529         * doc/emacs/vc1-xtra.texi:
28530         Use American-style double quoting in ordinary text,
28531         and quote 'like this' when single-quoting in ASCII text.
28532         Also, fix some minor spacing issues.
28534         Minor quoting etc. fixes to elisp intro
28535         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
28536         American-style double quoting in ordinary text.  In ASCII text,
28537         consistently quote 'like this' instead of `like this', unless
28538         Emacs requires the latter.
28540 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
28542         * CONTRIBUTE: Mention log-edit-insert-changelog.
28544         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
28546 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
28548         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
28550 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
28552         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
28553         Fix inheritance of initargs.  (Bug#20270)
28555 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
28557         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
28558         while dowloading information.
28560         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
28561         (package--ensure-init-file): Check file contents before visiting.
28562         (package-initialize): Call it.
28563         (package-install-from-buffer, package-install): Don't call it.
28565 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
28567         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800.
28568         (Bug#17517)
28570 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
28572         * lisp/net/tramp-cache.el (tramp-flush-file-property):
28573         Fix nasty scoping bug.
28575 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
28577         Add notice to visual commands section
28578         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
28579         such as git call less with its -F option which omits pagination if
28580         the contents is less than one page long.  This interferes with
28581         eshell's visual (sub-)commands.
28583 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
28585         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
28586         environment variable expansion in file names.  (Bug#19839)
28588 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
28590         Prefer double-quote to accent-grave in man pages
28592 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
28594         (Bug#20257)
28595         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
28597 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
28599         Update etc/PROBLEMS.
28600         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
28601         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
28602         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
28603         respectively); other minor updates and tweaks.  (Bug#20011)
28605 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
28607         Add doc strings for some Isearch state vars
28608         * lisp/misearch.el (multi-isearch-buffer-list)
28609         (multi-isearch-file-list): Add doc strings.
28610         (Bug#20232)
28612 2015-04-07  Alan Mackenzie  <acm@muc.de>
28614         Always mark "<" and ">" in #include directives with text properties.
28615         * lisp/progmodes/cc-fonts.el (c-cpp-matchers): Replace a font-lock
28616         "anchored matcher" with an invocation of
28617         c-make-font-lock-search-function to allow fontification when there's
28618         no trailing space on an "#include <..>" line.
28620 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
28622         Generate a ChangeLog file from commit logs
28623         * .gitignore: Add 'ChangeLog'.
28624         * build-aux/gitlog-to-changelog: New file, from Gnulib.
28625         * build-aux/gitlog-to-emacslog: New file.
28626         * CONTRIBUTE: Document the revised workflow.
28627         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
28628         instead of just special cases.
28629         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
28630         (ChangeLog, unchanged-history-files, change-history)
28631         (change-history-commit): New rules.
28632         * admin/admin.el (make-manuals-dist--1):
28633         Don't worry about doc/ChangeLog.
28634         * admin/authors.el: Add a FIXME.
28635         * admin/make-tarball.txt:
28636         * lisp/calendar/icalendar.el:
28637         * lisp/gnus/deuglify.el:
28638         * lisp/obsolete/gulp.el:
28639         * lwlib/README:
28640         Adjust to renamed ChangeLog history files.
28641         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
28642         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
28643         Remove obsolete discussion of merging ChangeLog files.
28644         New section "Maintaining ChangeLog history".
28645         * build-aux/git-hooks/pre-commit:
28646         Reject attempts to commit files named 'ChangeLog'.
28647         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
28648         * make-dist: Make and distribute top-level ChangeLog if there's a
28649         .git directory.  Distribute the new ChangeLog history files
28650         instead of scattered ChangeLog files.  Distribute the new files
28651         gitlog-to-changelog and gitlog-to-emacslog.
28652         (Bug#19113)
28654         Rename ChangeLogs for gitlog-to-changelog
28655         This patch was implemented via the following shell commands:
28656         find * -name ChangeLog |
28657         sed 's,.*,git mv & &.1,
28658         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
28659         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
28660         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
28661         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
28662         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
28663         sh
28664         git commit -am"[this commit message]"
28666 This file records repository revisions from
28667 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
28668 commit 06da00c6cfb5f3cafbad92bd4584a0f50343a568 (inclusive).
28669 See ChangeLog.1 for earlier changes.
28671 ;; Local Variables:
28672 ;; coding: utf-8
28673 ;; End:
28675   Copyright (C) 2015-2016 Free Software Foundation, Inc.
28677   This file is part of GNU Emacs.
28679   GNU Emacs is free software: you can redistribute it and/or modify
28680   it under the terms of the GNU General Public License as published by
28681   the Free Software Foundation, either version 3 of the License, or
28682   (at your option) any later version.
28684   GNU Emacs is distributed in the hope that it will be useful,
28685   but WITHOUT ANY WARRANTY; without even the implied warranty of
28686   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28687   GNU General Public License for more details.
28689   You should have received a copy of the GNU General Public License
28690   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.