Allow to use the old key processing code on MS-Windows
[emacs.git] / ChangeLog.2
blobc4bb6594362c916b1a65235c24741b833b196d77
1 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
3         * etc/tutorials/TUTORIAL.ja: Improve translation.
5 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
7         Avoid crashes when w32 GUI functions are called in -batch
8         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
9         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
10         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
12         Fix flyspell-check-previous-highlighted-word
13         * lisp/textmodes/flyspell.el
14         (flyspell-check-previous-highlighted-word): Really accept a
15         numeric argument, as the doc string describes.  Fix an off-by-one
16         error in looking up overlays, so invocation with point immediately
17         after a word would check that word.  Clarify the doc string as
18         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
20 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
22         Minor cleanup in tramp-tests.el
23         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
24         Implement using the documented interface
25         `tramp-connection-properties', rather than with internal functions.
27 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
29         Pass lambdas to `skeleton-read'
30         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
31         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
32         lambdas to `skeleton-read' (bug#20386).
34 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
36         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
38         Don't require GUI frames and mouse for Flyspell menus
39         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
40         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
41         support, since pop-up menus work with text terminals and can be
42         controlled via the keyboard.
44         Improve documentation of Flyspell commands
45         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
46         can be invoked via the keyboard.  Mention those commands by name
47         and add them to the fn index.  (Bug#21125)
49 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
51         Fix some Tramp problems with HP-UX
52         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
53         Add "tab0" to stty call.
54         * test/automated/tramp-tests.el (tramp-persistency-file-name):
55         Set to nil.
56         (tramp--test-hpux-p): New defun.
57         (tramp--test-utf8): Use it.
59 2015-07-22  Glenn Morris  <rgm@gnu.org>
61         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
63 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
65         Fix point positioning in ffap-next-guess
66         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
67         as our callers expect.  This was clobbered as part of fixing
68         bug#5673.  (Bug#21107)
69         (ffap-gopher-at-point): Set ffap-string-at-point-region.
71 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
73         Fix customization type of `even-window-sizes'.
74         * lisp/window.el (even-window-sizes): Fix customization type.
76         2015-07-22  Martin Rudalics  <rudalics@gmx.at>
77         Optionally even widths of `display-buffer' windows.  (Bug#21100)
78         * lisp/window.el (quit-restore-window): Restore width if
79         requested.
80         (display-buffer-record-window): Record width when window is
81         reused and horizontally combined.
82         (even-window-sizes): New option to allow evening window widths.
83         (even-window-heights): Defalias to `even-window-sizes'.
84         (window--even-window-heights): Rename to
85         `window--even-window-sizes'.  Handle side-by-side windows.
86         (display-buffer-use-some-window): Call `window--even-window-sizes'
87         instead of `window--even-window-heights'.
88         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
89         * doc/lispref/windows.texi (Choosing Window Options): Describe
90         `even-window-sizes'.
91         (Coordinates and Windows): Fix typo.
93 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
95         add file name to autoload error messages.
96         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
97           to add file name to error message.
99 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
101         Use 0.0.0.1 as test host in Tramp
102         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
103         Use 0.0.0.1 as test host.
105 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
107         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
108         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
109         Fix inf-loop (bug#21083).
111 2015-07-21  Glenn Morris  <rgm@gnu.org>
113         * test/automated/package-test.el (package-test-signed):
114         Update for recent changes.
116         * test/automated/elisp-mode-tests.el
117         (elisp-xref-finds-both-function-and-variable)
118         (elisp-xref-finds-only-function-for-minor-mode):
119         Update for recent xref name changes.
121 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
123         Make eldoc timer non-repeatable
124         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
125         non-repeatable.  Since it's on post-command hook, that just wasted
126         CPU cycles.
128 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
130         Mention `tramp-connection-properties' in NEWS
132         Sync with Tramp repository
133         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
134         required prior changing its configuration.
135         (Connection caching, Predefined connection information)
136         (Remote shell setup): Fix typos.
137         (Predefined connection information): Describe, how to overwrite
138         parameters of `tramp-methods'.
139         (Remote programs, Remote processes, Traces and Profiles):
140         Simplify example.
141         (Remote programs): Remove superfluous comment.
142         * doc/misc/trampver.texi: Update release number.
143         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
144         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
145         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
146         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
147         "gvfs-mkdir -p ..." does not work robust.
148         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
149         * lisp/net/tramp-sh.el (tramp-methods):
150         Add `tramp-remote-shell-login' parameter where it fits.
151         (tramp-get-remote-path): Use it.
152         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
153         (all): Adapt `tramp-get-method-parameter' calls.
154         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
155         (tramp-get-method-parameter): Replace argument METHOD by VEC.
156         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
157         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
158         (all): Adapt `tramp-get-method-parameter' calls.
159         * lisp/net/trampver.el Update release number.
160         * test/automated/tramp-tests.el (tramp--instrument-test-case):
161         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
162         (tramp-test13-make-directory, tramp--test-adb-p)
163         (tramp--test-smb-or-windows-nt-p): Simplify.
164         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
165         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
166         (tramp--test-utf8): Fix docstring.
168 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
170         Add new xref-query-replace command
171         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
172         function, extracted from xref-pulse-momentarily.
173         (xref-query-replace): New command.
174         (xref--query-replace-1): New helper function.
175         (xref--xref-buffer-mode-map): Add `r' binding.
177 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
179         Simplify icalendar decoding of Z dates
180         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
181         Simplify calculation of time strings with trailing "Z".
183 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
185         Do not corrupt grep-find-ignored-files
186         * lisp/progmodes/project.el (project-ignores): Change the order of
187         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
189         Add xref-match-item, and use it
190         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
191         (xref-file-location): Add reader for the column slot.
192         (xref-match-item): New class.
193         (xref-match-bounds): A method implementation for it.
194         (xref-make-match): New constructor function.
195         (xref--current-item): New private variable.
196         (xref-pulse-momentarily): Use it.
197         (xref--pop-to-location): Change the first argument to an xref
198         item, instead of location, bind xref--current-item.
199         Update all callers.
200         (xref-next-line, xref-prev-line, xref--next-error-function)
201         (xref--mouse-2): Look for the property `xref-item',
202         instead of `xref-location'.
203         (xref--item-at-point): Likewise.  This function replaces
204         `xref-location-at-point'.  Update all callers.
205         (xref--insert-xrefs): Add the `xref-item' text property, instead
206         of `xref-location'.
207         (xref--collect-match): Use xref-make-match.
209         Rename xref--xref to xref-item
210         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
211         Update all references.
213         Rename xref description slot to summary
214         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
215         slot to `summary'.
217         vc-hg: Perform the print-log call asynchronously
218         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
219         asynchronously (bug#21067).
221         Add xref-after-jump-hook and xref-after-return-hook
222         * lisp/progmodes/xref.el (xref-after-jump-hook)
223         (xref-after-return-hook): New hooks.
224         (xref-pulse-on-jump): Remove, in favor of the above.
225         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
226         (xref--pop-to-location, xref--display-position)
227         (xref-pop-marker-stack): Use the new hooks, as requested in
228         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
230 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
232         Correct js-mode's lighter
233         * lisp/progmodes/js.el (js-mode): Correct the lighter.
235 2015-07-19  Leo Liu  <sdl.web@gmail.com>
237         Fix a bug in cfengine3-mode
238         * progmodes/cfengine.el (cfengine3-mode): Handle nil
239           eldoc-documentation-function.
241 2015-07-18  Julien Danjou  <julien@danjou.info>
243         sieve-mode: support "body" test command
244         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
245         Add missing "body" test command.
247 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
249         Fix info-apropos when the default encoding is Latin-N
250         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
251         'undecided', so that it is set to the encoding of the Info file we
252         are about to insert.  Otherwise, 'info-apropos' will fail to find
253         some index nodes in some UTF-8 encoded files, if the buffer's
254         previous encoding is Latin-N or some such.
256 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
258         * epg.el (epg--start): Check that gpgconf can be found before calling it.
260         Expose more file types to OS X that Emacs understands.
261         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
262         json, and org files.  Export UTIs for el, elc, and org files.
264 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
266         Fix visual-order cursor movement when lines are truncated
267         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
268         simulate display in a window of infinite width, to allow move_it_*
269         functions reach positions outside of normal window dimensions.
270         Remove code that tried to handle a subset of these situations by
271         manual iteration of buffer text.  (Bug#17777)
273         Fix following Info cross-references to anchors
274         * lisp/info.el (Info-read-subfile): Add to the returned value the
275         length of subfile preamble, after converting it to file's byte
276         offset, as expected by the caller.  Use bufferpos-to-filepos.
277         (Info-find-node-2): If searching for a node with a
278         1000-character slop fails, try again with a 10000-character slop,
279         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
280         * lisp/international/mule-util.el (bufferpos-to-filepos): New
281         function.
282         * etc/NEWS: Mention bufferpos-to-filepos.
284         Fix scrolling backwards on TTY frames under scroll-conservatively
285         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
286         in moving backwards on TTY frames.  (Bug#21080)
288 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
290         Consider a jsdoc tag to be a beginning of a paragraph as well
291         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
292         consider a jsdoc tag to be a beginning of a paragraph as well.
294 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
296         * lisp/emacs-lisp/package.el: Fix warnings
298         * lisp/emacs-lisp/package.el (package-buffer-info):
299         Add author and maintainers to `package-buffer-info'.
301         * lisp/emacs-lisp/package.el: Many small changes
302         Replace all instances of 'face with 'font-lock-face.
303         (describe-package-1): Improve some strings and move the summary up the
304         list.
305         (package-install-file): Update docstring.
306         (package-menu-hide-package): Bind to `H'.
308         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
309         Fix error handling.
311 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
313         Fix hang with large yanks This should fix the bug fixed by Mike
314         Crowe's patch in:
315         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
316         A problem in this area has been reported by several users; see
317         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
318         This fix differs from Mike Crowe's patch in that it should avoid a
319         race condition that could lose SIGIO signals.  ignore_sigio dates
320         back to the 1980s when some platforms couldn't block signals, and
321         could only ignore them, which led to races when signals arrived
322         while being ignored.  We shouldn't have to worry about those old
323         platforms now.
324         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
325         * src/emacs.c (shut_down_emacs):
326         Don't call ignore_sigio; unrequest_sigio should suffice.
327         * src/keyboard.c (kbd_buffer_store_buffered_event):
328         Use unrequest_sigio, not ignore_sigio.
329         (kbd_buffer_get_event):
330         Call request_sigio when getting the ball rolling again.
332 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
334         * lisp/obsolete/longlines.el (longlines-search-function):
335         Fallback on `isearch-search-fun-default'.
337 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
339         Support @-mentions
340         * rcirc.el (rcirc-completion-at-point): Support completion of
341         mentions/messages with @nick instead of just nick.
343 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
345         Fix Bug#20943.
346         * lisp/autorevert.el (auto-revert-handler): Do not check for
347         `buffer-modified-p'.
348         * lisp/files.el (buffer-stale--default-function): Check for
349         `buffer-modified-p'.
350         * test/automated/auto-revert-tests.el
351         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
353 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
355         Fix delete-dups bug on long lists
356         * lisp/subr.el (delete-dups):
357         Don't mistakenly keep some dups when applied to long lists.
359 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
361         Better heuristic for C stack overflow
362         Improve the heuristic for distinguishing stack overflows from
363         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
364         the getrlimit method wasn't portable to Cygwin; see:
365         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
366         Corinna suggested pthread_getattr_np but this also has problems.
367         Instead, replace the low-level system stuff with a simple
368         heuristic based on known good stack addresses.
369         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
370         * src/sysdep.c: Don't include <sys/resource.h>.
371         (stack_direction): Remove.  All uses removed.
372         (stack_overflow): New function.
373         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
374         Make SEGV fatal in non-main threads.
376 2015-07-16  Daiki Ueno  <ueno@gnu.org>
378         epg: Automatically start pinentry server
379         * epg-config.el (epg-gpgconf-program): New variable.
380         * epg.el (epg--start): Call `pinentry-start' if
381         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
383 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
385         * lisp/gnus/nnimap.el: Fix my last bogus change
386         Reinstall Stefan Monnier's change that was made in
387         <83d824bc4041332f338ad7e5e830f443535aa300>.
389 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
391         Merge from gnulib
392         This incorporates:
393         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
394         2015-07-05 acl-permissions: Fix on FreeBSD
395         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
396         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
397         * lib/set-permissions.c: Copy from gnulib.
399         Port to stricter C99
400         * src/keyboard.h (kbd_buffer_store_event_hold):
401         Don't return a void expression.
403 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
405         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
407 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
409         New autorevert tests.
410         * test/automated/auto-revert-tests.el: New file.
412 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
414         Clear gcprolist etc. after stack overflow
415         After stack overflow, command_loop calls init_eval, and this needs to
416         clear gcprolist and byte_stack_list (Bug#20996).
417         * src/alloc.c (init_alloc):
418         Move gcprolist and byte_stack_list initialization from here ...
419         * src/eval.c (init_eval): ... to here.
421 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
423         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
425 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
427         Avoid deprecated enums in mac-ct font backend driver
428         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
429         (mac_ctfont_get_advance_width_for_glyph)
430         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
432         Cache font family in mac-ct font backend driver
433         * src/macfont.m (macfont_family_cache): New variable.
434         (syms_of_macfont): Initialize it.
435         (macfont_available_families_cache): New variable.
436         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
437         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
438         (macfont_handle_font_change_notification)
439         (macfont_init_font_change_handler)
440         (macfont_copy_available_families_cache): New functions.
441         (macfont_create_family_with_symbol): Use font family caches.
442         (macfont_list, macfont_list_family): Use
443         macfont_copy_available_families_cache instead of
444         mac_font_create_available_families.
446 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
448         Show the default value in the prompt
449         * lisp/progmodes/xref.el: Add `M-?' binding for
450         xref-find-references.  Declare functions `grep-read-files' and
451         `grep-expand-template'.
452         (xref--read-identifier): Show the default value in the prompt.
454         When called with prefix argument, ask for file patterns to search as well
455         * lisp/progmodes/xref.el (xref-find-regexp): When called with
456         prefix argument, ask for file patterns to search as well.  When
457         prompting for the directory, require an existing one.
458         (xref-collect-matches): Add a new argument, FILES.  Use it in the
459         above function.
461         Add `project-ignores'
462         * lisp/progmodes/project.el (project-ignores): New generic
463         function, and an implementation for the VC project type.
464         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
465         variant of rgrep-default-command that handles a generic list of
466         ignores.
467         (xref-collect-matches): Use it, and pass through to it the value
468         of the newly added argument.
469         (xref-find-regexp): Handle ignored paths within the project.
470         Remove outdated comment.
471         * lisp/vc/vc.el (vc-default-ignore-completion-table):
472         Skip the comments and the empty lines.
474 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
476         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
478 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
480         gnus-registry.el: Correct function argument order
481         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
482         Reverse the order of function arguments.
484 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
486         Bind grep-highlight-matches to nil
487         * lisp/progmodes/xref.el (xref-collect-matches):
488         Bind grep-highlight-matches to nil (bug#20728).
490 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
492         nnimap.el: Fix IMAP message size parsing
493         * lisp/gnus/nnimap.el (nnimap-transform-headers):
494         Don't assume that UID comes before RFC822.SIZE.
496 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
498         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
499         (auth-source-creation-prompts): Declare.
500         (nnimap-retrieve-headers, nnimap-status-message)
501         (nnimap-request-create-group, nnimap-request-delete-group)
502         (nnimap-close-group, nnimap-request-move-article)
503         (nnimap-request-accept-article, nnimap-request-newgroups)
504         (nnimap-request-post, nnimap-dummy-active-number)
505         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
506         (nnimap-parse-flags): Remove unused var `p'.
507         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
508         (nnimap-flags-to-marks): Remove unused var `totalp'.
510 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
512         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
514 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
516         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
518 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
520         Don't check the exit status, it can be misleading
521         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
522         exit status, it can be misleading.
524         Introduce a Project API
525         * lisp/progmodes/project.el: New file.
526         * lisp/cedet/ede.el: (project-try-ede): New function.
527         (project-root): New implementation.
528         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
529         Set project-search-path-function.
530         (elisp--xref-find-references): Delegate some logic to
531         project-search-path.
532         (elisp-search-path): New function.
533         (elisp-xref-find): Don't implement `matches' anymore.
534         * lisp/progmodes/etags.el: Don't implement `matches'.
535         Delegate some logic to project-search-path.
536         (etags-search-path): New function.
537         * lisp/progmodes/xref.el (xref-find-function):
538         Remove `matches' from the API.
539         (xref-find-regexp): Move whatever common logic was in elisp and
540         etags implementations, and search the directories returned by
541         project-directories and project-search-path.
543 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
545         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
547         Add support for gv.el in map.el
548         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
549         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
550         * test/automated/map-tests.el: Update tests to work with the new
551         implementations of map-elt and map-put.
553 2015-07-09  Glenn Morris  <rgm@gnu.org>
555         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
557 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
559         Syntax-propertize until the end of the line first
560         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
561         until the end of the line first.
563 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
565         * doc/emacs/files.texi (File Archives): Add a cross reference.
567 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
569         nnimap.el: Handle plain value for nnimap-stream
570         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
571         capabilities, so that a 'plain value for the `nnimap-stream' server
572         variable is handled correctly.
573         * doc/misc/gnus.texi (Customizing the IMAP Connection):
574         Document the 'plain option.
576 2015-07-08  Leo Liu  <sdl.web@gmail.com>
578         Fix bug in thing-at-point--bounds-of-well-formed-url
579         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
580           sure boundary contains current point.
582 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
584         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
586         Declare whitespace-line-column a safe file-local
587         * lisp/whitespace.el (whitespace-line-column): Declare to be a
588         safe file-local when the value is an integer.
590 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
592         gnus-group.el: Check if group names are already strings
593         * lisp/gnus/gnus-group.el (gnus-group-group-name):
594         The group name may already be a string.
595         Specifically, in the group list reached from the *Server* buffer,
596         the 'gnus-group text property returns a string.  Everywhere else
597         it returns a symbol.
599         nnimap.el: Remove unused let variables
600         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
602 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
604         Support "maximized" property of runemacs's shortcut
605         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
606         the '--maximized' switch to Emacs.
608         Support "minimized" property of runemacs's shortcut
609         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
610         pass the '--iconic' switch to Emacs.  (Bug#20991)
612 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
614         Doc fixes
615         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
616         C-w' in Diff mode.
617         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
618         Add a cross reference.
620 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
622         * lisp/obsolete/landmark.el: Add Obsolete-since header
624 2015-07-07  Glenn Morris  <rgm@gnu.org>
626         * test/automated/ert-tests.el (ert-test-deftest):
627         Update for recent changes.
629 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
631         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
632         * lisp/emacs-lisp/gv.el (gv-setter): New function.
633         (gv-invalid-place): New error.
634         (gv-get): Use them.
635         (gv-synthetic-place, gv-delay-error): New places.
636         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
637         (cl-defgeneric, cl-defmethod): Use gv-setter.
639 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
641         Make vc-tests work with MSYS svn program
642         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
643         svn is an MSYS program.
645 2015-07-07  Ken Brown  <kbrown@cornell.edu>
647         Improve recent change to emacsclient on Cygwin
648         * lisp/server.el (server-process-filter): Remove redundant check
649         that 'cygwin-convert-file-name-from-windows' is defined as a
650         function on Cygwin.  Don't call that function unless its argument
651         starts with a drive letter.
653 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
655         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
656         Fix void variable due to `found-something' being in the wrong `let'.
658 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
660         * lisp/play/landmark.el: Move to lisp/obsolete/
662 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
664         Have `x-show-tip' handle `right' and `bottom' frame parameters.
665         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
666         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
667         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
668         tooltips also via `right' and `bottom' frame parameters.
670 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
672         Add online-help support to describe types
673         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
674         (describe-symbol): Improve the selection of default.
675         * lisp/help-mode.el: Require cl-lib.
676         (describe-symbol-backends): Move from help-fns.el.
677         (help-make-xrefs): Use it.
678         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
679         for types.
680         (cl--typedef-regexp): New const.
681         (find-function-regexp-alist): Add entry for types.
682         (cl-help-type, cl-type-definition): New buttons.
683         (cl-find-class): New function.
684         (cl-describe-type): New command.
685         (cl--describe-class, cl--describe-class-slot)
686         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
687         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
688         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
689         New functions.  Moved from eieio-opt.el.
690         (cl--generic-class-parents): New function, extracted from
691         cl--generic-struct-specializers.
692         (cl--generic-struct-specializers): Use it.
693         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
694         Improve constructor's docstrings.
695         (cl-struct-unknown-slot): New error.
696         (cl-struct-slot-offset): Use it.
697         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
698         definition in current-load-list.
699         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
700         (eieio--add-new-slot): Set it.
701         (eieio-defclass-internal): Use new name for current-load-list.
702         (eieio-oref): Add compiler-macro to warn about unknown slots.
703         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
704         as compile-time as well.  Improve constructor docstrings.
705         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
706         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
707         (eieio-class-def): Remove button.
708         (eieio-help-constructor): Use new name for load-history element.
709         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
710         (eieio-method-documentation): Move to cl-generic.el.
711         (eieio-display-method-list): Use new names.
712         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
713         Add "define-linline".
714         (lisp-fdefs): Remove "defsubst".
715         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
716         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
717         (macroexp--warn-and-return): Use it to avoid inf-loops.
718         Add `compile-only' argument.
720 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
722         python.el: Fix local/remote shell environment setup
723         * lisp/progmodes/python.el (python-shell-with-environment): Fix
724         remote/local environment setup.
725         * test/automated/python-tests.el (python-shell-with-environment-1)
726         (python-shell-with-environment-2): New tests.
728 2015-07-06  Glenn Morris  <rgm@gnu.org>
730         * lisp/simple.el (set-variable): Tweak recent doc fix.
732 2015-07-06  Ken Brown  <kbrown@cornell.edu>
734         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
736 2015-07-06  Glenn Morris  <rgm@gnu.org>
738         * lisp/simple.el (set-variable): Use user-error for type mismatch.
740 2015-07-06  Ken Brown  <kbrown@cornell.edu>
742         * src/emacs.c (main): Don't increase the stack size on Cygwin
744 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
746         (describe-symbol): Rewrite describe-function-or-variable
747         * lisp/help-fns.el (describe-symbol-backends): New var.
748         (help-xref-stack-item): Declare.
749         (describe-symbol): Rename from describe-function-or-variable.
750         Rewrite using describe-symbol-backends instead of help-xref-interned.
751         * lisp/help.el (help-map): Use it.
752         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
753         (help-xref-interned): Make it into an obsolete alias.
755         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
756         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
757         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
759 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
761         Fix parsing glitches in dired-mark-sexp (bug#13575)
762         * lisp/dired-x.el (dired-x--string-to-number): New function.
763         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
764         of directory-listing-before-filename-regexp.  Consider
765         forward-word harmful and replace it.  Add more verbiage in
766         comments and doc string.
768 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
770         python.el: Respect process environment for remote shells
771         * lisp/progmodes/python.el
772         (python-shell-calculate-process-environment): Calculate
773         process-environment or tramp-remote-process-environment depending
774         whether current file is remote.
775         (python-shell-calculate-exec-path): Calculate exec-path or
776         tramp-remote-path depending whether current file is remote.
777         (python-shell-with-environment): New macro.
778         (python-shell-prompt-detect, python-shell-calculate-command)
779         (python-shell-make-comint, python-check): Use it.
781         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
782         * lisp/progmodes/python.el (python-shell--interpreter)
783         (python-shell--interpreter-args): New vars.
784         (inferior-python-mode, python-shell-make-comint): Use them.
786         python.el: Fixes for IPython 3.x  (Bug#20580)
787         * lisp/progmodes/python.el:
788         (python-shell-completion-native-setup): Fix IPython 3.x setup.
789         (python-shell-completion-native-get-completions): Fix timeout
790         logic.
792         python.el: Fix mark-defun behavior  (Bug#19665)
793         * lisp/progmodes/python.el: (python-mark-defun): New function.
794         * test/automated/python-tests.el (python-mark-defun-1)
795         (python-mark-defun-2, python-mark-defun-3): New tests.
797 2015-07-05  Glenn Morris  <rgm@gnu.org>
799         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
800         such as "extends(parent), private".  (Bug#20969)
801         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
802         New tests.
804 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
806         Avoid duplicate calls to current_timespec
807         * src/process.c (wait_reading_process_output):
808         Cache current_timespec results as long as we're not waiting.
810 2015-07-05  Ian Kelling  <ian@iankelling.org>
812         Avoid returning early reading process output due to SIGIO
813         * src/process.c (wait_reading_process_output): Extend the behavior of
814         not breaking due to not finding output when a timer has lowered the
815         timeout to include when SIGIO lowers the timeout.
817         Don't return as fast reading any process output
818         * src/process.c (wait_reading_process_output):
819         The patch for Bug#17647 returns too fast sometimes when reading
820         from any processes. Revert part of it, and limit the timeout more
821         sensibly (Bug#20978).
823         Refactor timeouts in wait_reading_process_output
824         * src/process.c (wait_reading_process_output):
825         Simplify timeouts with an enum.  Remove a redundant condition.
826         (Bug#20978)
828         Remove ADAPTIVE_READ_BUFFERING ifdef
829         * src/process.c (make-process, make-pipe-process, deactivate_process)
830         (wait_reading_process_output, read_process_output, send_process)
831         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
832         added in case there was an operating system in which it was not
833         useful.  That was 11 years ago and it hasn't happened.  Make
834         development easier by not considering the effect of changes on a
835         theoretical OS where this is disabled (Bug#20978).
837 2015-07-05  Glenn Morris  <rgm@gnu.org>
839         * lisp/simple.el (set-variable): Doc fix.
841         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
843 2015-07-05  Ian Kelling  <ian@iankelling.org>
845         accept-process-output fix
846         This is a followon to the fix for Bug#17647 (Bug#20976).
847         * src/process.c (status_notify): Fix too high return in some cases.
849 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
851         * lisp/character-fold.el (character-fold-table):
852         Only fold decompositions if at least one character is non-spacing.
853         (Bug#20975)
855 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
857         Merge from gnulib
858         This incorporates:
859         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
860         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
861         2015-07-02 update-copyright: fix test failure with perl >= 5.22
862         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
863         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
864         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
865         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
867 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
869         Respect `prog-indentation-context' in python.el
870         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
871         (python-indent-context, python-indent--calculate-indentation)
872         (python-info-current-defun)
873         (python-info-dedenter-opening-block-message)
874         (python-info-line-ends-backslash-p)
875         (python-info-beginning-of-backslash)
876         (python-info-continuation-line-p): Use `prog-widen'.
877         (python-indent--calculate-indentation)
878         (python-indent--calculate-levels)
879         (python-indent-calculate-indentation): Use `prog-first-column'.
880         (python-indent--calculate-levels): Simplify.
881         Ignore also initial empty lines for syntax calculation.
882         * lisp/progmodes/python.el (python-indent-context): Return
883         :no-indent for first non-empty line, not just in line 1.
884         * test/automated/python-tests.el (python-indent-base-case)
885         (python-indent-inside-paren-1, python-indent-inside-paren-2)
886         (python-indent-inside-paren-3, python-indent-inside-paren-4)
887         (python-indent-inside-paren-5, python-indent-inside-paren-6)
888         (python-indent-after-backslash-1)
889         (python-indent-after-backslash-2)
890         (python-indent-after-backslash-3)
891         (python-indent-after-backslash-4, python-indent-inside-string-1):
892         Expect :no-indent for first non-empty line.
894 2015-07-04  Daniel Colascione  <dancol@dancol.org>
896         Factor isearch word description into new function
897         * lisp/isearch.el (isearch--describe-word-mode): New function.
898         (isearch-message-prefix, isearch-query-replace): Use it.
900 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
902         Fix mouse pointer on w32 when a menu is active
903         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
904         shape while a menu is in use.  This started happening since we now
905         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
907 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
909         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
910         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
911         parameter.  (Bug#17344)
913         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
914         * lisp/progmodes/compile.el (compilation-set-window): Take
915         `window-fringes' from argument window.  (Bug#20829)
917 2015-07-03  Glenn Morris  <rgm@gnu.org>
919         Update eieio tests for recent eieio-core change.
920         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
921         * test/automated/eieio-tests.el
922         (eieio-test-32-slot-attribute-override-2):
923         Replace the deleted eieio--class-v with cl--find-class.
925 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
927         Fix some issues with `window-divider-mode'
928         * lisp/frame.el (window-divider-default-places): New option.
929         (window-divider-mode): Remove option.
930         (window-divider-mode): Make it a "regular" minor mode.
931         (window-divider-width-valid-p): Drop frame- prefix.
932         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
933         prefix.  Handle `window-divider-default-places'.
934         (frame--window-divider-mode-set-and-apply): Remove.
935         (window-divider-default-bottom-width)
936         (window-divider-default-right-width): Drop :group entries.
937         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
938         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
939         (menu-bar-no-window-divider): Set `window-divider-default-places'
940         and call `window-divider-mode'.
941         * doc/emacs/frames.texi (Window Dividers): Document
942         `window-divider-default-places'.
944 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
946         Add cross references in documentation
947         * doc/emacs/display.texi (Displaying Boundaries):
948         * doc/emacs/search.texi (Word Search): Add cross references.
950 2015-07-02  Eli Zaretskii  <eliz@gnu.org>
952         ;* src/bidi.c (bpa_stack_entry): Update commentary for Unicode 8.0.
954 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
956         -batch should not affect ‘’ -> `' display
957         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
958         -batch (Bug#20926).
960 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
962         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
963         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
964           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
965         Use cl--find-class instead.
967         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
969 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
971         Some further fixes in Change Window node.  (Bug#20183)
972         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
973         by "resizing" in section title.  Add some concept indices.
974         Suggested by N. Jackson (Bug#20183).
976         Reference window dividers in Change Window section.
977         * doc/emacs/windows.texi (Change Window): Reference window
978         dividers.
980         Document new `window-divider-mode'.
981         * lisp/frame.el (window-divider-mode): Fix doc-string.
982         * doc/emacs/frames.texi (Window Dividers): New section.
984         Improve accessibility of window dividers.  (Bug#20183)
985         * lisp/faces.el (window-divider)
986         (window-divider-first-pixel, window-divider-last-pixel): Change
987         membership from `frames' to `window-divider' customization group.
988         * lisp/frame.el (window-divider): New customization group.
989         (window-divider-mode): New minor mode.
990         (window-divider-default-bottom-width)
991         (window-divider-default-right-width): New options.
992         (frame--window-divider-previous-mode): New variable.
993         (frame-window-divider-width-valid-p)
994         (frame--window-divider-mode-apply)
995         (frame--window-divider-mode-set-and-apply): New functions.
996         * lisp/menu-bar.el (menu-bar-options-save): Save
997         window-divider-mode settings.
998         (menu-bar-window-divider-customize)
999         (menu-bar-bottom-and-right-window-divider)
1000         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1001         (menu-bar-no-window-divider): New functions.
1002         (menu-bar-showhide-window-divider-menu): New variable.
1003         (menu-bar-showhide-menu): Show/hide window divider menu.
1004         * lisp/mouse.el (mouse-split-window-vertically)
1005         (mouse-split-window-horizontally): Replace `error' by
1006         `user-error'.  Bind `window-combination-resize' to nil.
1007         (top-level): Add/reorder mouse key bindings on mode- and
1008         vertical-line.
1010 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1012         Don't display ‘’ as `' under X in en_GB
1013         The curved quote setup code invokes (char-displayable-p ?‘),
1014         but this isn’t reliable until after the X frame replaces the
1015         terminal frame (Bug#20926).
1016         * lisp/international/mule-cmds.el (set-locale-environment):
1017         Move curved quote setup code from here ...
1018         * lisp/startup.el (command-line): ... to here, after creating
1019         the X frame.
1021 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
1023         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
1025         Add argument to reverse the meaning of ido-restrict-to-matches
1026         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
1027         to reverse the meaning (Bug#15631).
1029 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
1031         Be more tolerant to fonts named "Foobar-12"
1032         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
1033         don't barf; instead, request a new fontset to be generated.  This
1034         avoids unnecessarily rejecting fonts named against XLFD rules.  See
1035         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
1036         for the description of the original problem.
1037         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
1038         by a hyphen in a font's name.
1040         Fix value of posn-at-pont in R2L lines
1041         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
1042         coordinate of -1, for a newline in a right-to-left line that
1043         overflowed into the left fringe.
1045 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
1047         (cl--copy-slot-descriptor): Copy the `props' alist as well
1048         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
1049         Rename from cl--copy-slot-descriptor.
1050         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
1052 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
1054         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
1055         (xterm-query-timeout): New var.
1056         (xterm--query): Use it.  Fallback on async method if we timeout before
1057         getting the first byte of the reply (bug#12354).
1059 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1061         Spelling fixes
1063 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1065         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
1067 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1069         In strings, prefer plain ` and ' to \` and \'
1070         * lisp/allout.el (allout-insert-listified):
1071         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
1072         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
1073         (ls-lisp-string-lessp):
1074         * lisp/menu-bar.el (menu-bar-open):
1075         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
1076         * lisp/progmodes/compile.el (compile):
1077         * lisp/progmodes/etags.el (tags-loop-scan):
1078         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
1079         * lisp/subr.el (posn-actual-col-row):
1080         * lisp/term/pc-win.el (x-list-fonts):
1081         * lisp/textmodes/texinfmt.el (texinfmt-version):
1082         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
1083         * lisp/time.el (display-time-world-list):
1084         * lisp/tmm.el (tmm-menubar):
1085         * src/buffer.c (syms_of_buffer):
1086         * src/fileio.c (syms_of_fileio):
1087         Omit unnecessary and confusing backslash before quote.
1088         * lisp/erc/erc.el (erc-cmd-LASTLOG):
1089         * lisp/progmodes/flymake.el (flymake-fix-file-name):
1090         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
1091         Fix string that was intended to escape a backslash and not a quote.
1093 2015-06-30  Glenn Morris  <rgm@gnu.org>
1095         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
1097         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
1098         Replace hard-coded lists with wildcard + filter-out.
1100         * configure.ac (system-configuration-features): Add X11, NS.
1102         Improve reproducibility of generated loaddefs file.
1103         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
1104         Make the return value the modtime of the input file (if no autoloads).
1105         (update-directory-autoloads): In the "no autoloads" section,
1106         use "most recent modtime" rather than "current time".
1108 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1110         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
1111         (Bug#20930)
1113 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
1115         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
1117         Add seq-min and seq-max
1118         Bump version number.
1119         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
1120         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
1122 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1124         Make sure sleep-for always delays for as long as it's told
1125         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
1126         a loop, to ensure we always wait exactly the required amount of
1127         time.  (Bug#15990)
1129 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1131         Fix pointer signedness glitch
1132         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
1134 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1136         Don't block changes in mouse pointer inside 'track-mouse'
1137         * etc/NEWS:
1138         * doc/lispref/frames.texi (Mouse Tracking): Document the special
1139         effect of setting 'track-mouse' to 'dragging'.
1140         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
1141         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
1142         * lisp/mouse-drag.el (mouse-drag-throw):
1143         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
1144         to avoid changes in the shape of the mouse pointer.
1145         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
1146         pointer shape when do_mouse_tracking has the value of 'dragging',
1147         not just any non-nil value.  (Bug#20934)
1148         (syms_of_xdisp): DEFSYM 'dragging'.
1150 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1152         * lisp/isearch.el (isearch-toggle-word): Fix toggle
1154         * lisp/emacs-lisp/package.el (package-compute-transaction):
1155         Don't assume version sorting.
1157         * lisp/emacs-lisp/package.el (package--save-selected-packages):
1158         Don't save before init time, to avoid overwriting configurations.
1159         (Bug#20855)
1161 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1163         Add cross references.
1164         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
1165         references.
1167 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
1169         cfengine.el: update for the upcoming CFEngine 3.7 release
1170         Update for the upcoming CFEngine 3.7 release: support macros and
1171         quoted context strings; reformat JSON; indent promise attributes 2
1172         units by default; give function parameter descriptions in the eldoc
1173         glue.
1174         * cfengine.el: Update version and docs and fix name.  Autoload
1175         `json-pretty-print'.  Support new features in 3.7.
1176         (cfengine-parameters-indent): Set default promise attribute indent to
1177         2 more than the promise itself.
1178         (cfengine3-macro-regex): New variable to match the new macro syntax.
1179         (cfengine3-font-lock-keywords): Use it to highlight macros.
1180         (cfengine3-indent-line): Use it to indent macros to column 0.
1181         (cfengine3-class-selector-regex): Update for the new quoted strings
1182         format.
1183         (cfengine3-reformat-json-string): New function to reformat a JSON
1184         string using `json-pretty-print'.
1185         (cfengine3-format-function-docstring): Use function parameter
1186         description if it's provided by the cf-promises syntax dump.
1188 2015-06-29  Michael R. Mauger  <michael@mauger.com>
1190         Cygwin emacsclient handles w32 file names
1192 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
1194         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
1196 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
1198         * doc/lispref/text.texi (Sticky Properties): Improve wording.
1199         (Bug#20924)
1201         Allow font names that end in "-NN", where NN is a number
1202         * src/font.c (font_load_for_lface): If the font-spec didn't match
1203         any available fonts, try again without interpreting trailing "-NN"
1204         as the font size.  For the description of the original problem, see
1205         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
1207         .gdbinit followup to changes in !USE_LSB_TAG
1208         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
1209         !USE_LSB_TAG, as Emacs no longer does.
1211 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
1213         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
1214         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
1216 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
1218         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
1219         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
1221 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1223         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
1225         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
1227 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1229         apropos-library quoting fix
1230         * lisp/apropos.el (apropos-library): Quote library consistently
1231         with the rest of the quoting used by apropos.
1233         Clarify interpreter-mode-alist doc
1234         * lisp/files.el (interpreter-mode-alist):
1235         Reword to avoid confusing quoting that wasn't working anyway.
1237 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
1239         Sync with Tramp 2.2.12
1240         * doc/misc/trampver.texi:
1241         * lisp/net/trampver.el: Update release number.
1242         * test/automated/tramp-tests.el (tramp-test13-make-directory):
1243         Fix cleanup.
1245 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
1247         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
1248         (bug#20913)
1250 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
1252         Bind grep-highlight-matches around the rgrep call
1253         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
1254         around the rgrep call (bug#20728).
1256         Put "--color" before the other options in grep-command
1257         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
1258         before the other options in grep-command (bug#20912).
1260         Add --color Grep option to the command dynamically
1261         * lisp/progmodes/grep.el (grep-template, grep-find-template):
1262         Update the description for <C>.  (Bug#20728)
1263         (grep-compute-defaults): Don't add the --color option to
1264         grep-options.  Only add it to grep-command.
1265         (grep-expand-keywords): Expand the env value opts into <C>.
1266         (grep-expand-template): Replace cf in the env with the opts list,
1267         that can include -i and --color.
1268         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
1269         "--color=always" from the template, because we don't have to.
1271 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
1273         cl-extra fixes for most-negative-fixnum
1274         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
1275         Don't mishandle an argument equal to most-negative-fixnum,
1276         whose absolute value equals itself.
1277         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
1279         Initialize cl--gensym-counter to 0
1280         Previously it was initialized to a random value, which made it
1281         harder to reproduce earlier Emacs runs.  The need for a random
1282         value went away when Emacs introduced and used the #: syntax for
1283         uninterned symbols (Bug#20862).
1284         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
1285         Document that cl--gensym-counter now starts with 0.
1286         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
1287         (cl--random-time): Move to near only remaining use.
1288         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
1290         Improve docstring for macroexp-let2
1291         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
1292         Improve as per suggestion by RMS in:
1293         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
1294         Also, rename args to match new doc string.
1296 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
1298         Fix VC test suite on MS-Windows
1299         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
1300         always starts with 3 slashes after the colon.
1301         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
1302         'w32-application-type' to invoke CVS on MS-Windows with properly
1303         formatted CVSROOT directory name.
1305         Add a new function w32-application-type
1306         * src/w32proc.c (Fw32_application_type): New function.
1308         Avoid error in TLS connections due to incorrect format
1309         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
1310         the call to 'error', instead of the unsupported %u.  Reported by
1311         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
1313 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1315         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
1317 2015-06-26  Leo Liu  <sdl.web@gmail.com>
1319         Fix indentation for with-output-to-string
1320         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
1321           `with-output-to-string' in elisp.
1322           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
1323           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
1325 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
1327         Minor corrections in ELisp manual
1328         * doc/lispref/nonascii.texi (Character Properties): Correct
1329         inaccuracies in description of values of the Unicode properties.
1331         Fix invisible mouse pointers on Windows.
1332         * src/w32fns.c: Include windowsx.h.
1333         (w32_wnd_proc): If the mouse moved and the mouse pointer is
1334         invisible, make it visible again even when the main (Lisp)
1335         thread is busy.
1336         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
1337         garbaging the frame have the input thread call SetCursor.
1339 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
1341         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
1342         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
1343         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
1344         * src/w32term.c (w32_hide_hourglass): Handle
1345         f->pointer_invisible.
1346         (w32_toggle_invisible_pointer): New function.
1347         (w32_create_terminal): Add w32_toggle_invisible_pointer as
1348         toggle_invisible_pointer_hook for this terminal.
1350 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
1352         Doc fix for deletion commands
1353         'delete-char' does not respect the value of 'delete-active-region'.
1354         * doc/emacs/killing.texi (Deletion):
1355         Fix documentation for some single-char deletion commands.
1357         * doc/emacs/help.texi (Apropos):
1358         Improve documentation of 'apropos-do-all'.
1360         * doc/emacs/help.texi (Help Summary):
1361         Improve documentation of 'describe-mode'.
1363 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1365         Fix submake dependency bug with .h files
1366         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
1367         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
1368         before the submake in $(libsrc) would spin off a subsubmake
1369         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
1371 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1373         * lisp/character-fold.el (character-fold-table): Reuse `table'
1375 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1377         Translate undisplayable ‘ to `
1378         * doc/lispref/help.texi (Keys in Documentation):
1379         * lisp/international/mule-cmds.el (set-locale-environment):
1380         * lisp/term/w32console.el (terminal-init-w32console):
1381         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
1382         If ‘ is not displayable, transliterate it to `, not to '.  See:
1383         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
1385         Fix C99 incompatibilities in Cairo code
1386         * src/image.c (xpm_load) [USE_CAIRO]:
1387         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
1388         Fix pointer signedness problem.
1390 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
1392         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
1393         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
1394           `with-output-to-string' should have the same indent as `progn'.
1395           This is in line with the declaration of `with-output-to-string'.
1397 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1399         Get ‘./configure; make -C src emacs’ to work
1400         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
1401         * lib-src/Makefile.in (../lib/libgnu.a):
1402         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
1404 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1406         Fix GC bugs --with-wide-int and Qnil == 0
1407         Use the same alignment for the !USE_LSB_TAG case as for the
1408         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
1409         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
1410         once we changed the representation of symbols so that Qnil == 0.
1411         Problem reported by Eli Zaretskii (Bug#20862).
1412         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
1413         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
1414         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
1415         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
1416         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
1417         This optimization in the !USE_LSB_TAG case is no longer valid when
1418         symbols are represented via offsets.  Change the only use to
1419         assume that pointers might hide in objects.
1420         * src/lisp.h (alignas) [!USE_LSB_TAG]:
1421         Require support in this case, too.
1422         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
1423         This is OK, because the !USE_LSB_TAG case now applies only when
1424         Lisp_Object is wider than void *, so there's no longer any need
1425         to shift the offset.  Not shifting the offset means that
1426         symbol representations have the same alignment as pointers,
1427         which the GC assumes.
1429 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
1431         * doc/lispintro/emacs-lisp-intro.texi (Data types):
1432         Improve documentation of 'substring'.
1434 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1436         * lisp/character-fold.el (character-fold-table): Fix table generation
1438 2015-06-24  Glenn Morris  <rgm@gnu.org>
1440         * nextstep/Makefile.in (all): Make it the first target.
1441         (../src/emacs${EXEEXT}): Add rule for making it.
1443 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1445         * etc/NEWS: Fix mention to old function name
1447         * lisp/character-fold.el: New file (Bug#20887)
1448         (character-fold-to-regexp): New function.
1449         * lisp/replace.el (replace-search): Check value of
1450         `character-fold-search'.
1451         * lisp/isearch.el: Move character-folding code to
1452         character-fold.el
1453         (isearch-toggle-character-fold): New command.
1454         (isearch-mode-map): Bind it to "\M-sf".
1455         (isearch-mode): Check value of `character-fold-search'.
1457 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1459         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
1460         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
1461         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
1463         * lisp/progmodes/xref.el: Avoid init-args in oref.
1464         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
1465         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
1467 2015-06-24  Glenn Morris  <rgm@gnu.org>
1469         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
1471 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1473         * lisp/gnus/nnmaildir.el: Silence lexical warnings
1474         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
1475         functional style.
1476         (nnmaildir--update-nov): Remove unused var `numdir'.
1477         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
1478         (nnmaildir-request-group, nnmaildir-request-create-group)
1479         (nnmaildir-request-post, nnmaildir-request-move-article)
1480         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
1481         (nnmaildir-get-new-mail, nnmaildir-group-alist)
1482         (nnmaildir-active-file): Declare.
1483         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
1484         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
1485         `mark', `end', `new-mark', and `mark-sym'.
1486         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
1487         `nlist2'.
1488         (nnmaildir-request-expire-articles):
1489         Remove unused vars `article', `stop' and `nlist2'.
1490         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
1491         `end'.  Use nnmaildir--article when dyn-binding is needed.
1492         Give the value directly in the `let' for `del-mark', `del-action',
1493         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
1494         (nnmaildir-close-server): Declare those local vars that need to be
1495         dyn-bound.
1497 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1499         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
1501         Port selection info fix to clang
1502         * src/keyboard.h (kbd_buffer_store_event_hold):
1503         Don't assume C11 semantics for alignof (Bug#20756).
1505         Fix bug that munged selection info
1506         On some optimizing C compilers, copying a structure did not
1507         copy the padding bytes between elements, and the type punning
1508         between struct input_data and struct selection_input_data did
1509         not work.  Change the C code to use a proper union type instead.
1510         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
1511         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
1512         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
1513         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
1514         (mark_kboards):
1515         Use union buffered_input_event, not struct input_event.
1516         (clear_event, deliver_input_available_signal, process_special_events):
1517         Remove unnecessary forward decls.
1518         (kbd_buffer_store_buffered_event): New function, mostly just the
1519         old kbd_buffer_store_event_hold, except its argument is of type
1520         union buffered_input_event, not struct input_event.
1521         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
1522         not needed otherwise.  Argument is now of type
1523         struct selection_input_event *, not struct input_event *.
1524         All callers changed.
1525         (clear_event): Arg is now of type union buffered_input_event *,
1526         not struct input_event *.  All callers changed.
1527         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
1528         (union buffered_input_event): New type.
1529         (kbd_buffer_store_event_hold): Now an inline function,
1530         defined here.
1531         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
1532         (struct input_event): Use it.
1533         * src/xselect.c (struct selection_event_queue):
1534         Make elements be of type struct selection_input_event,
1535         not struct input_event.
1536         (selection_input_event_equal): New static function.
1537         (x_queue_event): Use it.
1538         (x_queue_event, x_decline_selection_request)
1539         (x_selection_current_request, x_reply_selection_request)
1540         (x_handle_selection_request, x_handle_selection_clear)
1541         (x_handle_selection_event): Use struct selection_input_event,
1542         not struct input_event.  All callers changed.
1543         (x_convert_selection): Omit unused first arg.  All callers changed.
1544         (Fx_disown_selection_internal): Omit unnecessary union.
1545         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
1546         rather than rolling our own equivalent.  Prefer sie.kind when
1547         setting up that kind of structure.
1548         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
1549         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
1550         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
1551         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
1552         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
1553         (SELECTION_EVENT_TIME, x_handle_selection_event):
1554         Arg is now of type struct selection_input_event *)
1555         not struct input_event *.  All callers changed.
1557 2015-06-23  Glenn Morris  <rgm@gnu.org>
1559         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
1561 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
1563         * lisp/isearch.el: Fold many unicode characters to ASCII
1564         (isearch-character-fold-search, isearch--character-fold-extras)
1565         (isearch--character-fold-table): New variable.
1566         (isearch--character-folded-regexp): New function.
1567         (isearch-search-fun-default): Use them.
1568         * lisp/replace.el (replace-character-fold): New variable.
1569         (replace-search): Use it.
1570         * etc/NEWS: Document it.
1572 2015-06-23  Glenn Morris  <rgm@gnu.org>
1574         Check for an input event before showing a dialog box.  (Bug#20813)
1575         * lisp/subr.el (y-or-n-p):
1576         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
1577         as last-nonmenu-event.
1579 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
1581         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
1582         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
1583         (switch-to-prev-buffer, switch-to-next-buffer): Respect
1584         switch-to-visible-buffer independent of the windows history.
1586 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
1588         * src/keyboard.c (last_timer_event): Remove unused var.
1590 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
1592         * test/automated/package-test.el (package-test-update-listing):
1593         Fix test.
1595 2015-06-23  Glenn Morris  <rgm@gnu.org>
1597         Revert 2014-06-25 nextstep/Makefile change.
1598         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
1599         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
1600         not as an order-only prerequisite.
1602         * configure.ac (--with-ns): Enable by default on OS X.
1604 2015-06-23  Leo Liu  <sdl.web@gmail.com>
1606         Fix shell-for/backward-command to exclude spaces
1607         * lisp/shell.el (shell-forward-command, shell-backward-command):
1608           Handle the 'move case from re-search-forward/backward.
1609           fixes debbugs:20873
1611 2015-06-22  Juri Linkov  <juri@linkov.net>
1613         * lisp/replace.el (query-replace-read-from): Add separator to
1614         the local binding of text-property-default-nonsticky.  (Bug#20690)
1616         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
1617         (Bug#20785)
1619 2015-06-22  Ken Brown  <kbrown@cornell.edu>
1621         Enable CPU profiling on Cygwin
1622         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
1623         change that undefined this.
1624         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
1625         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
1626           Cygwin.
1628         Improve diagnostics of profiler-cpu-start
1629         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
1630         return -1 if the sampling interval is invalid.
1631         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
1632         fails.  (Bug#20843)
1634 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
1636         * lisp/emacs-lisp/package.el: Exclude packages by name
1637         (package-hidden-regexps): New variable.
1638         (package-menu--refresh): Use it.
1639         (package-menu-hide-package): New command.
1641         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
1643 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
1645         Fix debug-timer-check on systems without HAVE_TIMERFD
1646         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
1647         the expired timers, since wait_reading_process_output doesn't.
1648         (debug_timer_callback): Enlarge the tolerance to 20 msec.
1650         Fix RCS crashes in vc-test
1651         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
1652         ports of 'ci' on MS-Windows by always passing the -t- switch.
1654 2015-06-22  Glenn Morris  <rgm@gnu.org>
1656         * doc/emacs/package.texi (Packages):
1657         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
1659         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
1661 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
1663         Port tests to help-quote-translation
1664         * test/automated/ert-x-tests.el (ert-test-describe-test):
1665         * test/automated/package-test.el (package-test-describe-package)
1666         (package-test-signed): Allow straight quotes, too.
1668 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
1670         Make find-function-on-key use the current window
1671         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
1672         Extract from `find-function-on-key', add a second argument.
1673         (find-function-on-key): Use it (bug#19679).
1674         (find-function-on-key-other-window)
1675         (find-function-on-key-other-frame): New commands.
1677 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
1679         Revert "Define `map-elt' as a generalized variable"
1680         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
1682 2015-06-21  Ken Brown  <kbrown@cornell.edu>
1684         Drop support for CPU profiling on Cygwin
1685         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
1686         (Bug#20843)
1688 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1690         Fix some “nested” quoting confusion in doc strings
1691         * lisp/emacs-lisp/advice.el (ad-map-arglists):
1692         * lisp/kermit.el (kermit-clean-on):
1693         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
1694         * src/keyboard.c (Frecursive_edit):
1695         Use curved quotes when quoting text containing apostrophe,
1696         so that the apostrophe isn't curved in the output.
1698 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
1700         Define `map-elt' as a generalized variable
1701         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
1702         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
1703         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
1704         `setf' with `map-elt'.
1705         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
1707 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
1709         Improve error handling in tramp-adb.el
1710         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
1711         Improve error handling.
1713 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
1715         Reuse `alist-get' in map.el
1716         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
1717         elements.
1719 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
1721         Fix bytecomp-tests--warnings when $TMPDIR has a long name
1722         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
1723         Allow the warning to begin on the 3rd, not only 2nd line, which
1724         happens if temporary-file-directory has a very long name.
1726         Expect 2 icalendar tests to fail on MS-Windows
1727         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
1728         (icalendar-real-world): Make them expected failures on MS-Windows.
1730 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1732         Improve port of settings UI to older displays
1733         * lisp/cus-start.el (standard): Don't assume curved quotes are
1734         easily distinguishable when users are tinkering with a setting
1735         that affects how curved quotes are generated.
1737         Fix quoting in electric-quote-mode doc string
1738         * lisp/electric.el (electric-quote-mode): Fix quoting.
1739         This is a fallout from the recent change introducing
1740         ‘help-quote-translation’.
1742         Spelling fix
1744         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
1746         * src/doc.c (syms_of_doc): Remove unused symbols.
1748 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
1750         In ‘window-state-put’ undedicate target window.  (Bug#20848)
1751         * lisp/window.el (window-state-put): Undedicate target window
1752         before putting STATE into it.  (Bug#20848)
1754 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
1756         Merge from origin/emacs-24
1757         a5e6f33 Fixes: debbugs:20832
1758         b9f02cf Fixes: debbugs:20832
1760 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
1762         Fix file-in-directory-p when the directory is UNC
1763         * lisp/files.el (file-in-directory-p): Support files and
1764         directories that begin with "//".  (Bug#20844)
1766 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
1768         (Bug#20832)
1769         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
1770         in the minibuffer.
1772 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
1774         (Bug#20832)
1775         * lisp/calendar/todo-mode.el (todo-show): Signal an error
1776         if buffer for adding new todo file is empty but modified.
1778 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
1780         (filepos-to-bufferpos): Further tweaks to the utf-16 code
1781         * lisp/international/mule-util.el (filepos-to-bufferpos):
1782         Fix typo.  Move non-exact check to the utf-16 branch (the only one
1783         affected).  Don't use byte-to-position for the utf-16 case.
1785 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
1787         Minor fixes in filepos-to-bufferpos
1788         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
1789         test for utf-8-emacs.  Exempt single-byte encodings from the
1790         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
1791         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
1792         UTF-16 encoded files for CR-LF EOLs.
1794 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
1796         Improve the optional translation of quotes
1797         Fix several problems with the recently-added custom variable
1798         help-quote-translation where the code would quote inconsistently
1799         in help buffers.  Add support for quoting 'like this', which
1800         is common in other GNU programs in ASCII environments.  Change
1801         help-quote-translation to use more mnemonic values: values are now the
1802         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
1803         traditional Emacs help-buffer quoting style `like this'.  Change the
1804         default behavior of substitute-command-keys to match what's done in
1805         set-locale-environment, i.e., quote ‘like this’ if displayable,
1806         'like this' otherwise.
1807         * doc/lispref/help.texi (Keys in Documentation): Document
1808         new behavior of substitute-command-keys, and document
1809         help-quote-translation.
1810         * doc/lispref/tips.texi (Documentation Tips):
1811         Mention the effect of help-quote-translation.
1812         * etc/NEWS: Mention new behavior of substitute-command-keys,
1813         and merge help-quote-translation news into it.
1814         When talking about doc strings, mention new ways to type quotes.
1815         * lisp/cedet/mode-local.el (overload-docstring-extension):
1816         Revert my recent change to this function, which shouldn't be
1817         needed as the result is a doc string.
1818         * lisp/cedet/mode-local.el (mode-local-print-binding)
1819         (mode-local-describe-bindings-2):
1820         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
1821         * lisp/cus-theme.el (describe-theme-1):
1822         * lisp/descr-text.el (describe-text-properties-1, describe-char):
1823         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
1824         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1825         (eieio-help-constructor):
1826         * lisp/emacs-lisp/package.el (describe-package-1):
1827         * lisp/faces.el (describe-face):
1828         * lisp/help-fns.el (help-fns--key-bindings)
1829         (help-fns--compiler-macro, help-fns--parent-mode)
1830         (help-fns--obsolete, help-fns--interactive-only)
1831         (describe-function-1, describe-variable):
1832         * lisp/help.el (describe-mode):
1833         Use substitute-command-keys to ensure a more-consistent quoting
1834         style in help buffers.
1835         * lisp/cus-start.el (standard):
1836         Document new help-quote-translation behavior.
1837         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
1838         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
1839         (help-xref-url-regexp):
1840         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
1841         * lisp/wid-edit.el (widget-documentation-link-regexp):
1842         Also match 'foo', in case we're in a help buffer generated when
1843         help-quote-translation is ?'.
1844         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
1845         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
1846         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
1847         (Fsubstitute_command_keys): Document and implement new behavior.
1848         (Vhelp_quote_translation): Document new behavior.
1850 2015-06-18  Glenn Morris  <rgm@gnu.org>
1852         * lisp/cus-start.el (help-quote-translation): Add :version.
1854         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
1856 2015-06-18  Alan Mackenzie  <acm@muc.de>
1858         Make translation of quotes to curly in doc strings optional.
1859         src/doc.c (traditional, prefer-unicode): new symbols.
1860         (help-quote-translation): new variable.
1861         (Fsubstitute_command_keys): make translation of quotes dependent on
1862         `help-quote-translation'; also translate curly quotes back to ASCII
1863         ones.
1864         lisp/cus-start.el (top-level): Add a customization entry for
1865         `help-quote-translation'.
1867 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
1869         * lisp/emacs-lisp/package.el: Don't always propagate async errors
1870         (package--with-work-buffer-async): Only propagate the error if the
1871         callback returns non-nil.
1872         (package--download-one-archive): Return nil on the signature
1873         checking callback if we accept unsigned.
1874         (package--download-and-read-archives): Return non-nil on the
1875         archive download callback.
1877 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
1879         Fix last fix"
1881         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
1882         * src/nsfns.m (Fx_create_frame):
1883         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
1884         image_cache_refcount before first x_default_parameter call.
1886 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
1888         Improve and extend filepos-to-bufferpos
1889         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
1890         Don't barf if F returns nil for some argument.
1891         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
1892         that every encoding of type 'charset' is single-byte.
1894 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
1896         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
1897         Properly delete packages.  (Bug#20836)
1899 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
1901         Update data files from just-released Unicode 8.0
1902         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
1903         status.
1904         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
1905         * admin/unidata/BidiMirroring.txt:
1906         * admin/unidata/BidiBrackets.txt:
1907         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
1909 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
1911         Document curved quotes a bit better
1912         * doc/emacs/basic.texi (Inserting Text):
1913         Mention C-x 8.  Change example to use curved quote rather
1914         than infinity, as this lets us give more ways to do it.
1915         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
1916         and quotation marks.
1917         * doc/emacs/text.texi (Quotation Marks):
1918         * doc/lispref/tips.texi (Documentation Tips):
1919         Add "curly quotes" and "curved quotes" to the index.
1920         * doc/emacs/text.texi (Quotation Marks):
1921         Give the C-x 8 shorthands for curved quotes.
1922         Cross-reference to "Quotation Marks".
1924 2015-06-17  Daiki Ueno  <ueno@gnu.org>
1926         Add pinentry.el for better GnuPG integration
1927         * lisp/pinentry.el: New file.
1928         * etc/NEWS: Add entry about pinentry.el.
1929         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
1930         (Bug#20550)
1932 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1934         * lisp/emacs-lisp/package.el: Slightly better error reporting.
1936 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
1938         (define-minor-mode): Use setq-default for :global minor modes
1939         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
1940         Use setq-default for :global minor modes (bug#20712).
1942 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
1944         Avoid infloop in redisplay with tall images
1945         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
1946         down near ZV.  (Bug#20808)
1947         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
1948         instead of CHARPOS.
1950 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1952         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1953         Fix error reporting.
1955         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
1957         * lisp/emacs-lisp/package.el: Revert buffer after any operation
1958         Call `package-menu--post-refresh' after any operation that changes
1959         the package database (`package-install' and `package-delete').  To
1960         avoid performance issues in large transactions, these functions
1961         add `post-refresh' to `post-command-hook' instead of calling it
1962         immediately.
1963         (package-menu--mark-or-notify-upgrades): New function.
1964         (list-packages): Add it to `package--post-download-archives-hook'.
1965         (package-menu--post-refresh): Lose the upgrade-checking code, add
1966         code to remove itself from `post-command-hook'.
1967         (package-install, package-delete): Add it to `post-command-hook'.
1968         (package-menu-execute): Don't call `package-menu--post-refresh'.
1970 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
1972         Add missing function xref-location-group for elisp-mode.
1973         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
1975 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
1977         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
1978         The behavior now matches the description in the manual.  (Bug#20783)
1980 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
1982         Update tutorials/TUTORIAL.cn
1983         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
1985 2015-06-17  Glenn Morris  <rgm@gnu.org>
1987         Generate char-script-table from Unicode source.  (Bug#20789)
1988         * admin/unidata/Makefile.in (AWK): New, set by configure.
1989         (all): Add charscript.el.
1990         (blocks): New variable.
1991         (charscript.el, ${unidir}/charscript.el): New targets.
1992         (extraclean): Also remove generated charscript.el.
1993         * admin/unidata/blocks.awk: New script.
1994         * admin/unidata/Blocks.txt: New data file, from unicode.org.
1995         * lisp/international/characters.el: Load charscript.
1996         * src/Makefile.in (charscript): New variable.
1997         (${charscript}): New target.
1998         (${lispintdir}/characters.elc): Depend on charscript.elc.
1999         (temacs$(EXEEXT)): Depend on charscript.
2001         * lisp/international/characters.el (char-script-table): Tweak
2002         some ranges to better match the source.  (Bug#20789#17)
2004         Remove "no-byte-compile: t" from a few files.
2005         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
2006         * lisp/obsolete/patcomp.el: No reason not to compile these.
2008 2015-06-16  Glenn Morris  <rgm@gnu.org>
2010         Fix some typos in copied Unicode data.  (Bug#20789)
2011         * lisp/international/characters.el (char-script-table):
2012         * lisp/international/fontset.el (script-representative-chars)
2013         (setup-default-fontset): Fix typos.
2015         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
2016         Don't print filename twice (it's in the prefix now).
2018         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
2019         No longer needed.
2021         Address a compilation warning.
2022         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
2023         Replace 't' with '_' in pcase.
2025         Address some check-declare warnings.
2026         * lisp/simple.el (tabulated-list-print):
2027         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
2028         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
2029         (ns-get-selection): Update declarations.
2031         Address some compilation warnings.
2032         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
2033         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
2034         Replace 't' with '_' in pcase.
2036         Address some compilation warnings.
2037         * lisp/face-remap.el (text-scale-adjust):
2038         * lisp/menu-bar.el (popup-menu-normalize-position):
2039         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
2040         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
2041         * lisp/emacs-lisp/generator.el (cps--transform-1):
2042         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
2043         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
2044         * lisp/progmodes/octave.el (octave-goto-function-definition)
2045         (octave-find-definition-default-filename):
2046         Replace 't' with '_' in pcase.
2048         * lisp/emacs-lisp/pcase.el (pcase--u1):
2049         Paper-over today's bootstrap failure.
2051 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
2053         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
2055         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
2057         Better confirmation message in `find-alternate-file' (Bug#20830)
2058         * lisp/files.el (find-alternate-file'): Improve the confirmation
2059         message to show the buffer name.
2061         Better docstring for null. (Bug#20815)
2062         * src/data.c (null): Improves the docstring, saying what null returns
2063         when OBJECT is non-nil.
2065 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2067         * lisp/net/newst-treeview.el: Use lexical-binding.
2069         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
2070         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2071         New auxiliary function, extracted from filepos-to-bufferpos.
2072         Make sure it terminates.
2073         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
2074         Add support for the `exact' quality.
2076 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
2078         Identify feeds in newsticker treeview with :nt-feed property
2079         * lisp/net/newst-treeview.el:
2080         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
2082 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2084         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
2085         (pcase--self-quoting-p): Floats aren't self-quoting.
2086         (pcase): Tweak docstring.
2087         (pcase--u1): Deprecate the t pattern.  Improve error detection for
2088         the nil pattern.
2089         (\`): Tweak docstring.  Signal an error for unrecognized cases.
2090         (bug#20784)
2092 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
2094         Fix infloop in filepos-to-bufferpos
2095         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
2096         offset calculation, and make it conditional on the eol-type of the
2097         file's encoding.  (Bug#20825)
2099 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
2101         Fix handling of image cache refcounts.  (Bug#20802)
2102         This backports Eli Zaretskii's solution of this problem for W32
2103         to X and NS.
2104         * src/nsfns.m (image_cache_refcount): Define unconditionally.
2105         (unwind_create_frame): If the image cache's reference count
2106         hasn't been updated yet, do that now.
2107         (Fx_create_frame): Set image_cache_refcount unconditionally.
2108         * src/xfns.c (image_cache_refcount): Define unconditionally.
2109         (unwind_create_frame): If the image cache's reference count
2110         hasn't been updated yet, do that now.
2111         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
2112         unconditionally.
2113         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
2114         X and NS.
2116 2015-06-16  Nils Ackermann  <nils@ackermath.info>
2118         Improve reftex-label-regexps default value
2119         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
2120         keyvals label regexp more strict to better cope with unbalanced
2121         brackets common in math documents.
2123 2015-06-16  Glenn Morris  <rgm@gnu.org>
2125         * doc/emacs/calendar.texi (Format of Diary File):
2126         Move "nonmarking" from here...
2127         (Displaying the Diary): ... to here.
2129         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
2130         Swap the order of these nodes.
2131         * doc/emacs/emacs.texi: Update detailed menu for the above change.
2133         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
2134         Update date of examples.
2135         (Diary, Format of Diary File): Move example from former to latter.
2136         Reduce duplication.
2138         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
2139         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
2140         Don't set no-byte-compile in the outputs.
2141         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
2143 2015-06-15  Glenn Morris  <rgm@gnu.org>
2145         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
2146         * doc/emacs/calendar.texi (Diary, Format of Diary File):
2147         Update for above diary-file change.
2148         : * etc/NEWS: Mention this.
2150         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
2151         (apply-macro-to-region-lines): Use user-error.
2153         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
2154         (pages-directory-for-addresses): Doc fixes.
2156 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
2158         * lisp/info.el: Cleanup bytepos/charpos issues
2159         * lisp/international/mule-util.el: Use lexical-binding.
2160         (filepos-to-bufferpos): New function.
2161         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
2162         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
2163         (Info-read-subfile, Info-search): Use 0-based file positions.
2165         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
2166         (perl--syntax-exp-intro-keywords): New var.
2167         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
2168         (bug#20800).
2170 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2172         Fix quoting when making derived mode docstring
2173         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2174         Nest regexp-quote inside format, not the reverse.
2175         Problem reported by Artur Malabarba in:
2176         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
2178 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
2180         ;* src/fontset.c: Update obsolete commentary.
2182         Fix current-iso639-language on MS-Windows
2183         * lisp/international/mule-cmds.el (set-locale-environment):
2184         Downcase the locale name before interning it.  This is so the
2185         'current-iso639-language' on MS-Windows matches the ':lang'
2186         property of font-spec objects.
2188         Limit Symbola usage some more
2189         * lisp/international/fontset.el (setup-default-fontset): Limit
2190         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
2191         (Bug#20727)
2193 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
2195         * lisp/emacs-lisp/map.el (map-let): Better docstring.
2197 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2199         Spelling fixes
2201 2015-06-14  Glenn Morris  <rgm@gnu.org>
2203         * lisp/version.el (emacs-repository-version-git): Demote errors.
2204         Check result is a hash.
2206 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2208         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2209         Catch errors that happen before going async.  (Bug#20809)
2211 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
2213         Another improvement of documentation of set-fontset-font
2214         * doc/lispref/display.texi (Fontsets): Say explicitly that
2215         CHARACTER can be a single codepoint.
2216         * src/fontset.c (Fset_fontset_font): Doc fix.
2218         Another improvement for symbol and punctuation characters
2219         * lisp/international/fontset.el (setup-default-fontset): Exclude
2220         from Symbola character ranges for symbols and punctuation covered
2221         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
2222         installed and where its coverage of symbols and punctuation is
2223         known to be good.  (Bug#20727)
2225 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
2227         Some generic support for multi-mode indentation.
2228                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
2229                 variable.
2230                 (prog-first-column, prog-widen): New convenience functions.
2232 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2234         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2235         Don't assume that `tabulated-list-printer' will leave point at the
2236         end of the buffer.  (Bug#20810)
2238 2015-06-13  Glenn Morris  <rgm@gnu.org>
2240         Tweaks for getting repository version; a bit more like it was for bzr.
2241         * lisp/version.el (emacs-repository-version-git)
2242         (emacs-repository--version-git-1): New functions,
2243         split from emacs-repository-get-version.
2244         (emacs-repository-get-version): Make the second argument meaningful.
2246         * lisp/startup.el (command-line-1): Inform if skipping relative
2247         file names due to deleted PWD.
2249         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
2250         when starup directory is missing.  (Bug#18851)
2251         (errno.h): Include it.
2253 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
2255         Better fix for documenting `X as "`X"
2256         Fix suggested by Stefan Monnier.
2257         * lisp/help-fns.el (help-fns--signature):
2258         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
2259         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2260         Don't treat `X specially, as help-fns--signature now handles this.
2262 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
2264         Improve the default fontset when Symbola is not installed
2265         * lisp/international/fontset.el (setup-default-fontset): Only
2266         prepend Symbola and FreeMono font specs for symbols and
2267         punctuation; do not replace the default spec for them.  This
2268         should have better results when Symbola/FreeMono are not
2269         installed.  (Bug#20727)
2271         Improve documentation of ':lang' in font specs
2272         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
2273         use of the ':lang' property of the font spec.
2274         * doc/emacs/frames.texi (Fonts): Document the language names that
2275         can be in the STYLE part of XLFD.
2276         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
2277         property.
2279         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
2281         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
2283         Revert last change in fontset.el
2284         * lisp/international/fontset.el (setup-default-fontset): Revert
2285         the change "Configure Symbola font only if installed", since font
2286         search is evidently not yet set up when this function is called.
2287         (Bug#20727)
2289 2015-06-12  Glenn Morris  <rgm@gnu.org>
2291         Ensure early startup warnings are visible at the end.  (Bug#20792)
2292         * lisp/emacs-lisp/warnings.el (display-warning):
2293         If startup isn't complete, delay the warning.
2294         * lisp/startup.el (normal-top-level, command-line):
2295         Let display-warning automatically handle the needed delays.
2296         Run delayed-warnings-hook.
2298         * lisp/version.el (emacs-repository-get-version):
2299         Avoid calling external executable if possible.  (Bug#20799)
2301 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2303         Document `X as "`X", not as "(` X)"
2304         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2305         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
2307         * src/print.c (print_object): Minor simplification.
2309 2015-06-12  Glenn Morris  <rgm@gnu.org>
2311         * src/buffer.c (init_buffer): Add final newline to message.
2313 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2315         Configure Symbola font only if installed
2316         * lisp/international/fontset.el (setup-default-fontset):
2317         Don't specify the Symbola font if it's not installed.
2318         Likewise for FreeMono.  (Bug#20727)
2320 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
2322         Configure Symbola font only for symbols and punctuation
2323         * lisp/international/fontset.el (setup-default-fontset): Leave
2324         only symbols and punctuation in the fontset setup for Symbola
2325         font; remove "Greek and Coptic" and "Cyrillic Supplement".
2326         (Bug#20798)
2328 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
2330         Fix crash in fontset-info
2331         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
2332         non-nil.
2334 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2336         Port to Solaris 10 sparc + Sun C 5.13
2337         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
2338         Adjust to process.c change.
2339         * src/process.c (create_process): Declare volatile variables at
2340         top level of this function, so that they're less likely to be
2341         reused later in the function in the code executed by the vforked
2342         child.  Do not declare locals used only in the vforked child, as
2343         they might share memory with locals still live in the parent.
2344         Instead, use the same variables in the child as in the parent.
2345         This works around a subtle bug that causes a garbage collector
2346         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
2348 2015-06-12  Glenn Morris  <rgm@gnu.org>
2350         * lisp/startup.el (normal-top-level): Don't let *Messages* get
2351         a nil default-directory.
2353 2015-06-11  Glenn Morris  <rgm@gnu.org>
2355         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
2357         Some progress towards starting with PWD deleted.  (Bug#18851)
2358         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
2359         * lisp/startup.el (normal-top-level, command-line-1):
2360         * lisp/minibuffer.el (read-file-name-default):
2361         Handle default-directory being nil.
2363 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
2365         Fix "not a tty" bug on Solaris 10
2366         * configure.ac (PTY_OPEN): Define to plain 'open'
2367         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
2368         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
2369         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
2370         hosts that call grantpt which does its work via a setuid subcommand
2371         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
2372         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
2373         seems relevant in that case too.
2375 2015-06-11  Juri Linkov  <juri@linkov.net>
2377         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
2378         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
2379         (Bug#20785)
2381 2015-06-11  Glenn Morris  <rgm@gnu.org>
2383         * lisp/international/characters.el (char-script-table): Fix typo.
2385 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
2387         Fix quoting of help for functions with odd names
2388         While investigating Bug#20759, I discovered other quoting problems:
2389         C-h f mishandled characters like backslash and quote in function names.
2390         This fix changes the behavior so that 'C-h f pcase RET' now
2391         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
2392         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
2393         in src/lread.c's read1 function says that the backslash will be
2394         needed starting in Emacs 25, which implies that 'format' is
2395         correct and the old pcase documention was wrong to omit the backslash.
2396         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
2397         * lisp/help-fns.el (help-fns--signature):
2398         * lisp/help.el (help-add-fundoc-usage):
2399         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
2400         Use help--make-usage-docstring rather than formatting
2401         help-make-usage.
2402         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
2403         Return raw docstring.
2404         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
2405         raw docstring.  Take more care to distinguish raw from cooked dstrings.
2406         (describe-function-1): Let help-fns--signature substitute
2407         command keys.
2408         * lisp/help.el (help--docstring-quote): New function.
2409         (help-split-fundoc): Use it, to quote funny characters more
2410         systematically.
2411         (help--make-usage): Rename from help-make-usage, since this
2412         should be private.  Leave an obsolete alias for the old name.
2413         (help--make-usage-docstring): New function.
2414         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
2416 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2418         * lisp/thingatpt.el (in-string-p): Revert last change,
2419         since in-string-p is not used in thingatpt.el but only from outside.
2420         Also, use lexical binding.
2422 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
2424         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
2425         * test/automated/let-alist.el (let-alist-cons): Test it.
2427 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2429         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
2431 2015-06-10  Glenn Morris  <rgm@gnu.org>
2433         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
2435         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
2436         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
2437         * admin/gitmerge.el (gitmerge-commit-message):
2438         Exclude "skipped" messages from ChangeLog once again.
2440         Slight namespace cleanup for thingatpt.el.
2441         * lisp/thingatpt.el (thing-at-point--in-string-p)
2442         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
2443         (thing-at-point--read-from-whole-string): Rename from
2444         old versions without "thing-at-point--" prefix.
2445         Keep old versions as obsolete aliases.  Update all uses.
2447         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
2448         Move requiring of finder from here...
2449         (checkdoc-package-keywords): ... to here.
2451         Use 'user-error' in a few calendar files.
2452         * lisp/calendar/appt.el (appt-add):
2453         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
2454         (calendar-generate):
2455         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
2456         Replace 'error' with 'user-error'.
2458         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
2460         * lisp/files-x.el (add-file-local-variable):
2461         Special-case 'lexical-binding'.  (Bug#20641)
2463         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
2464         No longer autoload.
2465         * doc/misc/autotype.texi (Executables):
2466         Undocument executable-self-display.
2468         * lisp/progmodes/executable.el (executable-self-display):
2469         Use non-obsolete tail syntax.  (Bug#20779)
2470         (executable-self-display): Doc update.
2472 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2474         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
2475         (finder-known-keywords): Silence byte-compiler.
2477 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2479         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
2481         * lisp/progmodes/sh-script.el: Better handle nested quotes
2482         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
2483         (sh-font-lock-quoted-subshell): Make sure double quotes within single
2484         quotes don't mistakenly end prematurely the surrounding string.
2486         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
2488 2015-06-09  Glenn Morris  <rgm@gnu.org>
2490         * test/automated/Makefile.in (ELFILES): Sort.
2492         * Makefile.in (SUBDIR_MAKEFILES):
2493         * lwlib/Makefile.in (WARN_CFLAGS):
2494         Use built-in Make functions rather than echo+sed.
2496 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
2498         Update char-script-table
2499         * lisp/international/characters.el (char-script-table): Update
2500         from Unicode 8.0 Draft.
2502         Improve font selection for punctuation and other symbols
2503         * src/fontset.c (face_for_char): If the character's script is
2504         'symbol', and the font used for ASCII face has a glyph for it, use
2505         the font for the ASCII face instead of searching the fontsets.
2506         This comes instead of NS-specific code that used the current
2507         face's font instead, which is now disabled due to undesirable
2508         consequences.  (Bug#20727)
2510 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
2512         Skip past `#' to find BEG
2513         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
2514         past `#' to find BEG (bug#20771).
2515         * test/automated/elisp-mode-tests.el
2516         (elisp-completes-functions-after-hash-quote): New test.
2518 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
2520         Fix compilation warning/error in --without-x builds
2521         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
2522         code on HAVE_WINDOW_SYSTEM.
2524         Improve the default fontset wrt symbols
2525         * lisp/international/fontset.el (setup-default-fontset): Better
2526         setup of fontset-default for symbols: use Symbola and FreeMono.
2527         (Bug#20727)
2529 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
2531         Add new command checkdoc-package-keywords
2532         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
2533           defcustom.
2534         (checkdoc-list-of-strings-p): Add doc.
2535         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
2536         non-nil, call `checkdoc-package-keywords'.
2537         (checkdoc-get-keywords): New defun.
2538         (checkdoc-package-keywords): New command. Warns if the current file
2539         has package.el-style keywords that aren't in `finder-known-keywords'.
2540         * etc/NEWS: Add entry.
2542 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
2544         Avoid crashes when key-binding is called from a timer
2545         * src/keymap.c (Fkey_binding): Don't segfault if called with an
2546         empty vector as KEY.  (Bug#20705)
2548         Fix a thinko in arc-mode.el
2549         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
2550         non-Zip64 case.  (Bug#20769)
2552 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
2554         * lisp/emacs-lisp/package.el (package-delete): Make interactive
2556 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
2558         checkdoc.el (checkdoc-file): New function
2559         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
2560           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
2561           to the standard output.
2562         (bug#20754)
2564 2015-06-07  Glenn Morris  <rgm@gnu.org>
2566         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
2568         * src/font.c (syms_of_font) <font-log>: Doc fix.
2570         Remove the obsolete leading "*" from some C doc strings.
2571         * src/coding.c (syms_of_coding):
2572         * src/font.c (syms_of_font): Remove leading "*" from docs.
2573         * lisp/cus-start.el (enable-character-translation): Add it.
2575 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
2577         Move gen_origin from program to data
2578         That way, 'make change-history' needs to change only ChangeLog.2,
2579         instead of having to change two files.
2580         * ChangeLog.2: Add commit info for range that this file covers.
2581         * Makefile.in (new_commit_regexp): New macro.
2582         (change-history-nocommit): Simplify, by putting what used to be
2583         the gen_origin value into the data (ChangeLog.2) rather than
2584         into the program (gitlog-to-emacslog).
2585         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
2586         the input file (e.g., ChangeLog.2) rather than by having a
2587         constant in the program.  Substitute it into the output.
2589 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
2591         Escape any quotes in the function name
2592         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
2593         function name (bug#20759).
2595 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
2597         Adapt 'struct timespec' to next release of MinGW runtime
2598         * nt/inc/ms-w32.h (struct timespec): Don't declare if
2599         __struct_timespec_defined is defined.
2601 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
2603         Merge from gnulib
2604         This incorporates:
2605         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
2606         2015-06-05 stdio: Don't redefine gets when using C++
2607         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
2608         2015-06-02 file-has-acl: fix build on Mac OS X 10
2609         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
2610         2015-06-01 pthread_sigmask: discount system version if a simple macro
2611         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
2612         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
2613         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
2614         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
2615         * lib/gnulib.mk: Regenerate.
2617 2015-06-06  Juri Linkov  <juri@linkov.net>
2619         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
2620         before calling grep-compute-defaults because now it affects the
2621         command lines computed in grep-compute-defaults. (Bug#20728)
2623 2015-06-06  Glenn Morris  <rgm@gnu.org>
2625         Address some compilation warnings.
2626         * lisp/international/mule-cmds.el (w32-get-console-codepage)
2627         (w32-get-console-output-codepage):
2628         * lisp/progmodes/elisp-mode.el (xref-collect-references):
2629         * lisp/version.el (cairo-version-string): Declare.
2630         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
2632 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
2634         Fix display when a font claims large values of ascent and descent
2635         This fixes bug#20628.
2636         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
2637         coordinate of a hollow cursor glyph when the original glyph's
2638         ascent is too small.
2639         (get_font_ascent_descent, normal_char_ascent_descent)
2640         (normal_char_height): New functions.
2641         (handle_single_display_spec, append_space_for_newline)
2642         (calc_pixel_width_or_height, produce_stretch_glyph)
2643         (calc_line_height_property): Use normal_char_ascent_descent and
2644         normal_char_height.
2645         (x_produce_glyphs): When font-global values of ascent and descent
2646         are too large, use per-character glyph metrics instead, if
2647         possible.  But don't allow the glyph row's ascent and descent
2648         values become smaller than the values from the metrics of the
2649         font's "normal" character.
2650         * src/xftfont.c (xftfont_draw):
2651         * src/w32font.c (w32font_draw): Correct the values of ascent and
2652         descent used to draw glyphless characters' hex code in a box.
2653         * src/xterm.c (x_draw_glyph_string_background):
2654         * src/xdisp.c (x_produce_glyphs):
2655         * src/w32term.c (x_draw_glyph_string_background):
2656         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
2657         to detect fonts whose global ascent and descent values are too
2658         large to be used in layout decision, and redraw the background
2659         when that happens.
2660         * src/dispextern.h (FONT_TOO_HIGH): New macro.
2661         (get_font_ascent_descent): Add prototype.
2662         * src/xterm.c (x_new_font):
2663         * src/w32term.c (x_new_font):
2664         * src/nsterm.m (x_new_font):
2665         * src/font.c (font_open_entity):
2666         * src/composite.c (composition_gstring_width): Use
2667         get_font_ascent_descent to obtain reasonable values for ascent and
2668         descent of a font.
2670 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
2672         Add assertion in adjust_point_for_property
2673         * src/keyboard.c (adjust_point_for_property): Add eassert for
2674         current buffer being shown in selected window.
2676 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
2678         Replace uses of in-string-p; make it obsolete
2679         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
2680         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
2682 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
2684         Fix Dired display of an explicit list of files by ls-lisp.el
2685         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
2686         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
2687         correct for when displaying individual files separately, not as
2688         part of listing a directory, in which case these values are not
2689         recomputed by 'ls-lisp-insert-directory', but used verbatim.
2691         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
2693 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
2695         Do not adjust point in a non-selected window
2696         * src/keyboard.c (command_loop_1): Do not adjust point when
2697         current buffer is not shown in selected window (Bug#20590).
2699         * etc/DEBUG: Mention 'maybe_call_debugger'
2701 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
2703         Fix a unit test for map.el
2704         * test/automated/map-tests.el (test-map-let): Fix the test to work
2705         with the new syntax of `map-let'.
2707         * lisp/emacs-lisp/map.el (map-let): Better docstring.
2709         Better syntax for the map pcase pattern
2710         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
2711         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
2713         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
2715         Fix a byte-compiler error in map-put and map-delete
2716         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
2717         called with a symbol.
2719 2015-06-05  Glenn Morris  <rgm@gnu.org>
2721         * admin/gitmerge.el (gitmerge-commit-message):
2722         Revert to including "skipped" messages in ChangeLog once again.
2724 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
2726         Use string> instead of equiv lambda with string<
2727         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
2728         lambda with string<.
2730 2015-06-05  Glenn Morris  <rgm@gnu.org>
2732         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
2733         (map--delete-array): Fix typo.
2735         * test/automated/map-tests.el: Replace "assert" with "should".
2737         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
2738         (SUBDIRS_REL): Derive from SUBDIRS.
2740         Tweak some build messages.
2741         * lisp/Makefile.in ($(lisp)/loaddefs.el):
2742         * lisp/cus-dep.el (custom-make-dependencies):
2743         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
2744         * lisp/international/titdic-cnv.el (batch-titdic-convert):
2745         Don't say how to compile.
2747 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
2749         Omit U+0332 COMBINING LOW LINE in previous change
2750         It turns out that it does not work on Ubuntu 15.04.
2752         Fix transliteration of Bahá'í months
2753         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
2754         Improve quality of Latin transliteration of Bahá'í month names.
2756         Fix curved quotes in a few places
2757         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
2758         The strings in question are not doc strings, so this partially
2759         undoes the recent change that assumed they were doc strings.
2760         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2761         * lisp/info.el (Info-finder-find-node):
2762         Use curved quotes.
2763         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2764         Also allow curved quotes in doc strings.
2766 2015-06-04  Glenn Morris  <rgm@gnu.org>
2768         * lisp/Makefile.in (AM_V_at): Add missing definition.
2770         * lisp/Makefile.in: Quieten output a bit.
2771         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
2772         Don't echo directories, since the commands we invoke print them.
2774         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
2775         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
2776         (SUBDIRS_SUBDIRS): New variables.
2777         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
2778         Remove.
2779         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
2780         (update-subdirs, compile-main, compile-clean):
2781         Replace "setwins" usage with new "SUBDIRS" variables.
2783         * lisp/vc/compare-w.el (compare-windows-get-window-function):
2784         Fix :version tag.
2786 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2788         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
2790         Undo removal of x_clear_area call on expose for GTK3 or cairo.
2791         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
2792         exposed area.  (Bug#20677)
2794 2015-06-04  Glenn Morris  <rgm@gnu.org>
2796         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
2798         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
2800         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
2801         Rename from quail-lao-update-translation, since lao.el defines that.
2803 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
2805         Handle new-style advice in find-funct
2806         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
2807         Handle new-style advice.  Return the symbol's function definition.
2808         (Bug#20718)
2809         (find-function-library): Update accordingly.
2811 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
2813         Merge branch 'map'
2815         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
2817         Add new function string-greaterp
2818         * lisp/subr.el (string-greaterp): New function.  Also aliased to
2819         `string>'.
2820         * test/automated/subr-tests.el (string-comparison-test): Add unit
2821         tests for `string>'and `string<'.
2822         * src/fns.c (string-lessp): Better docstring.
2824 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
2826         Fix timezone-related functions on MS-Windows
2827         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
2828         'xputenv', even if no reallocation of tzvalbuf was necessary.
2829         This fixes a bug in timezone-related functions on MS-Windows.
2830         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
2832 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2834         Don't pass raw directory name to 'error'
2835         * lisp/files.el (basic-save-buffer-2): Avoid format error if
2836         a directory name contains a string like "%s".
2838 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
2840         Override 'grep --color=always'
2841         * lisp/progmodes/xref.el (xref-collect-matches):
2842         Override --color=always in grep-find-template.
2844 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
2846         Fix error introduced recently in file-notify-tests.el
2847         * test/automated/file-notify-tests.el
2848         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
2849         (file-notify--deftest-remote): Revert previous patch, not
2850         necessary anymore.
2852 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
2854         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
2855         Starting from a display string after a newline, point went to the
2856         previous line.  Also, fix an inadvertent use of a buffer position
2857         with FETCH_BYTE.  (Bug#20701)
2859 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
2861         Instrument file-notify-test.el in order to catch hydra error.
2862         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
2863         Wrap body by `ignore-case', in order to trap non-local errors.
2865 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2867         Undo previous changes in non-toolkit scroll bar drawing.
2868         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
2869         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
2871 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2873         * .gitignore: Also ignore doc/*/*/*.html and .ps.
2875         Support quotes 'like this' in info files
2876         This is possible when 'makeinfo --disable-encoding' is used
2877         in Texinfo 5.
2878         * lisp/calc/calc-help.el (calc-describe-thing):
2879         * lisp/gnus/gnus-art.el (gnus-button-alist):
2880         * lisp/info.el (Info-find-index-name):
2881         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
2882         Also support quotes 'like this'.
2883         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
2884         * lisp/finder.el (finder-font-lock-keywords): Remove var that
2885         hasn't been used in years, instead of bothering to fix its quoting.
2887 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2889         * .gitignore: Remove !test/etags/html-src/*.html.
2890         It's no longer needed, since *.html was removed.  Sort.
2892 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
2894         Restore <D> instead of '.' in grep-find-template
2895         * lisp/cedet/semantic/symref/grep.el
2896         (semantic-symref-grep-use-template): Update a comment.
2897         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
2898         instead of '.' in grep-find-template (bug#20719).
2899         (rgrep): Pass nil as the directory to rgrep-default-command.
2900         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
2901         default value for DIR.
2902         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
2903         workaround.
2905 2015-06-02  Glenn Morris  <rgm@gnu.org>
2907         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
2909         * configure.ac (emacs_config_features): Add Cairo.
2911         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
2913 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
2915         Ensure, that autorevert works for remote files in file-notify-tests.el
2916         * test/automated/file-notify-tests.el (file-notify--test-desc):
2917         New defvar.
2918         (file-notify--test-remote-enabled)
2919         (file-notify-test00-availability, file-notify-test01-add-watch)
2920         (file-notify-test02-events): Use it.
2921         (file-notify--test-event-test): Check proper descriptor.
2922         (file-notify-test03-autorevert): Ensure, that
2923         `visited-file-modtime' has changed.
2924         (Bug#20392)
2926 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
2928         Add a pcase pattern for maps and `map-let' based on it
2929         * lisp/emacs-lisp/map.el (map-let): New macro.
2930         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
2931         * test/automated/map-tests.el: New test for `map-let'.
2933 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
2935         Reuse rgrep mechanics in xref-find-regexp
2936         * lisp/progmodes/grep.el (rgrep-default-command):
2937         Extract from `rgrep'.
2938         * lisp/progmodes/xref.el (xref-collect-references): Split from
2939         `xref-collect-matches'.  Only handle the case of symbol search.
2940         (xref-collect-matches): Instead of Semantic Symref, use
2941         `rgrep-default-command', to take advantage of its directory and
2942         file ignore settings.
2943         (xref--collect-match): Remove the last argument, leaving the
2944         regexp construction up to the caller.
2945         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
2946         Change to take the xref-collect- function to use as an argument.
2947         (elisp-xref-find): Update accordingly.
2948         * lisp/progmodes/etags.el (etags--xref-find-matches)
2949         (etags-xref-find): Same.
2951         Move xref-elisp-location to elisp-mode.el
2952         * lisp/progmodes/xref.el (xref-elisp-location)
2953         (xref-make-elisp-location, xref-location-marker): Remove here.
2954         (xref--xref): Don't limit the type of the location slot.
2955         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
2956         Define as a cl-struct here.
2957         (xref-location-marker): Move here.
2959 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
2961         Minor tweaks for .gitignore
2962         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
2963         ignore admin/notes/tags that might be ignored as TAGS on
2964         case-insensitive filesystems.  (Bug#20710)
2966 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2968         Generate curved quotes in ert doc
2969         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
2970         (ert-results-mode-menu)
2971         (ert-results-pop-to-backtrace-for-test-at-point)
2972         (ert-results-pop-to-messages-for-test-at-point)
2973         (ert-results-pop-to-should-forms-for-test-at-point)
2974         (ert-describe-test):
2975         Quote ‘like this’, not `like this', when generating doc strings
2976         and the like.
2977         * test/automated/ert-x-tests.el (ert-test-describe-test):
2978         Allow quoting ‘like this’.
2980 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
2982         Add test for previous commit
2983         * test/automated/replace-tests.el: New file.
2984         (query-replace--split-string-tests): Add test for previous commit.
2986         Avoid confusion in query-replace history when replacing NUL chars
2987         * lisp/replace.el (query-replace--split-string): New function.
2988         (query-replace-read-from): Rely on the 'separator' property
2989         instead of searching for the NUL character (Bug#20690).
2991 2015-06-02  Glenn Morris  <rgm@gnu.org>
2993         Merge from origin/emacs-24
2994         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
2996         * admin/gitmerge.el (gitmerge-commit-message):
2997         Exclude "skipped" messages from ChangeLog.
2999 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
3001         Sync with Tramp repository
3002         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
3003         messages.
3004         (tramp-handle-make-auto-save-file-name): When calling
3005         `make-auto-save-file-name' internally, make sure it uses Unix-like
3006         behavior, not Windows-like behavior.
3007         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
3008         the local case, because "chown" might fail on w32.
3009         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
3010         for XEmacs.
3012 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
3014         MS-Windows followup for batch stdout/stderr output changes
3015         * lisp/international/mule-cmds.el (set-locale-environment): In
3016         batch mode, use console codepages for keyboard and terminal
3017         encoding.  (Bug#20545)
3019         Update .gitattributes for DOS EOL files
3020         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
3021         CRLF end-of-line format.
3023         NS equivalents of xterm.c and w32term.c changes
3024         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
3025         glyph string background also when the font in use claims
3026         preposterously large global height value.  Helps to remove
3027         artifacts left from previous displays when glyphless characters
3028         are displayed as hex code in a box.
3029         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
3030         value for FRAME_LINE_HEIGHT, even when a font claims very large
3031         value for its height.
3033 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
3035         Avoid grave accent quoting in stderr diagnostics
3036         A few Emacs diagnostics go directly to stderr, and so can't easily
3037         contain curved quotes (as non-UTF-8 locales might mishandle them).
3038         Instead of bothering to add support for this rarity, reword the
3039         diagnostics so that they don't use grave accent to quote.
3040         * src/alloc.c (mark_memory): Fix comment.
3041         * src/buffer.c (init_buffer):
3042         * src/dispnew.c (init_display):
3043         * src/emacs.c (main, sort_args):
3044         * src/lread.c (dir_warning):
3045         * src/term.c (init_tty):
3046         * src/unexmacosx.c (unexec):
3047         * src/xfns.c (select_visual):
3048         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
3049         Reword stderr diagnostics to avoid quoting `like this'.
3050         * src/unexmacosx.c: Include errno.h.
3051         * src/xfns.c (select_visual): Encode value for locale.
3053 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3055         Treat batch stdout/stderr like standard display
3056         Calls like (print FOO) could generate improperly encoded or
3057         hard-to-read output if FOO contains characters outside the system
3058         locale.  Fix this by treating batch stdout and stderr like
3059         interactive standard display, when it comes to transliterating and
3060         encoding characters (Bug#20545).
3061         * doc/emacs/mule.texi (Communication Coding):
3062         * doc/lispref/display.texi (Active Display Table):
3063         * doc/lispref/nonascii.texi (Locales):
3064         * etc/NEWS:
3065         * src/coding.c (syms_of_coding):
3066         * src/dispnew.c (syms_of_display):
3067         Document this.
3068         * src/print.c: Include disptab.h.
3069         (printchar_to_stream): New function, with much of the guts of the
3070         old Fexternal_debugging_output, except this one also uses the
3071         standard display table.
3072         (printchar, strout, Fexternal_debugging_output): Use it.
3074 2015-05-31  Glenn Morris  <rgm@gnu.org>
3076         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
3078 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3080         Remove unused DEFSYMs
3081         Remove DEFSYMs that aren't used at the C level.  Also:
3082         * src/decompress.c (Qzlib_dll):
3083         * src/font.c (Qunicode_sip):
3084         * src/frame.c (Qtip_frame):
3085         * src/ftfont.c (Qserif):
3086         * src/gnutls.c (Qgnutls_dll):
3087         * src/xml.c (Qlibxml2_dll):
3088         Move from here ...
3089         * src/w32fns.c (syms_of_w32fns): ... to here,
3090         as these are used only on MS-Windows.
3092 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
3094         Use another default value for tramp-histfile-override
3095         * lisp/net/tramp-sh.el (tramp-histfile-override):
3096         Use ".tramp_history" as default.
3097         Fixes: debbugs:#20446
3099 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
3101         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3103 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
3105         * etc/NEWS: Add an entry about map.el
3107         Improve the docstring of functions in map.el
3108         Since a map is not a data structure but a concept, adding information
3109         about the possible types of maps can be useful information.
3110         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
3111         each public function.
3113 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
3115         Faster implementation of map-empty-p
3116         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
3117         specific tests depending on the type of the map.
3119         * lisp/emacs-lisp/map.el: Better docstrings.
3121 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
3123         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
3125 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
3127         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
3129         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
3131         Fix a false negative in `map-elt' with alists and values being nil
3132         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
3133         found but its associated value is nil, do not return the default
3134         value.
3135         * test/automated/map-tests.el: Add a regression test.
3137 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
3139         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
3141         Do not signal an error when trying to delete a key from an array
3142         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
3143         the key is present to avoid signaling an error.
3144         * test/automated/map-tests.el: Add a test for deleting non-existing
3145         keys from maps.
3147         * lisp/emacs-lisp/map.el: Better docstring.
3149         Minor improvement in map-elt.
3150         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
3151         doing a lookup in arrays, but check the boundaries of the array
3152         instead.
3153         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
3154         and a negative integer as key.
3156 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
3158         * test/automated/map-tests.el: Refactoring of test methods.
3160         * test/automated/map-tests.el: Renamed from map-test.el.
3162 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
3164         * lisp/emacs-lisp/map.el (map-into): Better error message.
3166         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
3168         Throw an error when converting a map into an unknown map type
3169         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
3170         * test/automated/map-test.el: Add a regression test.
3172         New library map.el similar to seq.el but for mapping data structures.
3173         * test/automated/map-test.el: New file.
3174         * lisp/emacs-lisp/map.el: New file.
3176 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3178         Make sure there's no explicit tag name
3179         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
3180         there's no explicit tag name (bug#20629).
3182 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3184         Remove format2
3185         * src/editfns.c, src/lisp.h (format2): Remove.
3186         It is more trouble than it's worth, now that we have CALLN.
3187         This is just a minor refactoring.
3188         * src/buffer.c (Fkill_buffer):
3189         * src/dbusbind.c (XD_OBJECT_TO_STRING):
3190         * src/fileio.c (barf_or_query_if_file_exists):
3191         Adjust to format2 going away.
3193         Don't misencode C-generated messages
3194         Also, be more consistent about calls to 'Fmessage' vs 'message'.
3195         * src/alloc.c (Fgc_status):
3196         Prefer AUTO_STRING to build_string for Fmessage call.
3197         * src/data.c (Fmake_variable_buffer_local)
3198         (Fmake_local_variable, Fmake_variable_frame_local):
3199         * src/doc.c (store_function_docstring):
3200         Use Fmessage, not message, since the argument can contain
3201         non-ASCII characters, and this can cause the resulting message
3202         to be incorrectly encoded for the current environment.
3203         * src/fns.c (maybe_resize_hash_table):
3204         * src/xselect.c (x_clipboard_manager_save_all):
3205         Use message, not Fmessage, since Fmessage's power isn't needed here.
3206         * src/process.c (Fmake_network_process): Reword message to avoid %s.
3207         * src/xdisp.c (vmessage): Document restrictions on message contents.
3208         (message_nolog) [false]: Remove unused code.
3210         Use \r rather than ^M in string literals
3211         This is less likely to cause problems on platforms that
3212         use CRLF (or CR!) termination for lines.
3214         Update .gitattributes to match current sources
3215         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
3216         * .gitattributes: Accommodate tests that insist on DOS format.
3217         Remove test/automated/data/decompress/foo-gzipped.
3218         Add etc/e/eterm-color.
3220 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3222         Document 'face-ignored-fonts'
3223         * doc/emacs/mule.texi (Modifying Fontsets): Document
3224         face-ignored-fonts.  (Bug#20628)
3226         Add etags test for the new -Q option
3227         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3228         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3229         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3230         test-case changes below.
3231         * test/etags/ETAGS.good_6: New file.
3232         * test/etags/cp-src/x.cc: New file.
3233         * test/etags/Makefile (CPSRC): Add x.cc.
3234         (check): Add one more test, for -Q.
3236 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3238         Use list for the tags completion table, not obarray
3239         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
3240         list instead of an obarray
3241         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
3242         (tags-completion-table): Combine those lists.
3243         (tags-completion-table): Update the docstring.
3245 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3247         Restore EOL format testing in etags
3248         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3249         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3250         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3251         test-case changes below.
3252         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
3253         * test/etags/cp-src/c.C (B): Add back stray CR character.
3254         * test/etags/c-src/dostorture.c: Add back.
3255         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
3257 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
3259         Declare Emacs on MS-Windows to be DPI-aware
3260         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
3261         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
3262         This avoids Windows entering compatibility mode for Emacs,
3263         which causes fonts to look less nice.
3265 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
3267         Improve Tramp traces.
3268         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
3269         * lisp/net/tramp.el (tramp-debug-message): Use it.
3271 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3273         backup-buffer minor reworking of internals
3274         * lisp/files.el (backup-buffer): Rework to avoid a couple of
3275         unused locals inadvertently introduced in the previous change.
3277         backup-buffer now reports .emacs.d/%backup% ills
3278         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
3279         fails due to disk space exhaustion or whatever, do not pretend
3280         that it succeeded.  More generally, do a better job of checking
3281         for I/O failures, and limit the scope of the condition-case to
3282         just the operations where file errors should be caught and ignored
3283         (Bug#20595).  Also, don't bother trying to delete later backups if
3284         an earlier deletion fails, as this is a sign of trouble and it's
3285         better to stop when there's trouble.
3287         copy-file now truncates output after writing
3288         * src/fileio.c (Fcopy_file): Truncate output after writing rather
3289         than before.  This is more likely to work than truncation before
3290         writing, if the file system is out of space or the user is over
3291         disk quota (Bug#20595).  Also, check for read errors.
3293 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3295         * lisp/emacs-lisp/package.el: Don't load from parent dir
3296         (package-load-all-descriptors): Don't load descriptors from
3297         directories above the package directories.
3299 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3301         Merge from gnulib
3302         This incorporates the following (Bug#20681):
3303         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
3304         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
3305         * lib/set-permissions.c: Copy from gnulib.
3307 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
3309         Improve Tramp traces.
3310         * lisp/net/tramp.el (tramp-call-process-region): New defun.
3311         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
3313 2015-05-29  Glenn Morris  <rgm@gnu.org>
3315         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
3317 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
3319         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
3320         The signature was changed in the cairo branch, merged on 2015-05-23.
3321         This oversight broke compiling only the non-toolkit X version.
3323 2015-05-29  Samer Masterson  <samer@samertm.com>
3325         * doc/lispref/os.texi: Update initial-buffer-choice docs.
3327 2015-05-29  Glenn Morris  <rgm@gnu.org>
3329         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
3330         Mark as an expected failure.
3332 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3334         Change package test to look for curved quotes
3335         * test/automated/package-test.el (package-test-describe-package)
3336         (package-test-signed): Search for curved single quotes as well as
3337         for grave accent and apostrophe.
3339 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
3341         gnus-art.el: Re-revert last change
3342         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
3343         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
3345 2015-05-28  Samer Masterson  <samer@samertm.com>
3347         Show files when `initial-buffer-choice' is non-nil
3348         * startup.el (command-line-1): When Emacs is given a file as an
3349         argument and `initial-buffer-choice' is non-nil, display both the file
3350         and `initial-buffer-choice'.  For more than one file, show
3351         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
3352         commands out of the command line arg parser.
3353         (initial-buffer-choice): Clarify docstring.
3355 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
3357         Fix last commit
3358         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
3359         (gnulib module qcopy-acl): Add back, as it is harmless.  This
3360         minimizes differences wrt lib/gnulib.mk.
3362         Fix the MS-Windows build as followup to gnulib update
3363         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
3364         set-permissions.c, as they don't compile on MinGW.
3365         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
3367 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
3369         Revert my change to gnus-art.el
3370         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
3371         It wasn't that important, and it caused a Gnus build to fail.  See:
3372         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
3374         New minor mode Electric Quote
3375         This lets you easily insert quotes ‘like this’ by typing
3376         quotes `like this', and similarly you can easily insert
3377         quotes “like this” by typing quotes ``like this'' (Bug#20545).
3378         * doc/emacs/basic.texi (Inserting Text):
3379         * doc/emacs/modes.texi (Minor Modes):
3380         * etc/NEWS: Document it.
3381         * doc/emacs/text.texi (Quotation Marks): New section.
3382         * lisp/electric.el (electric-quote-comment)
3383         (electric-quote-string, electric-quote-paragraph):
3384         New custom vars.
3385         (electric--insertable-p)
3386         (electric-quote-post-self-insert-function): New functions.
3387         (electric-quote-mode, electric-quote-local-mode): New minor modes.
3388         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3389         Add curved single quotes to electric-pair-text-pairs.
3390         Set electric-quote-string in this buffer.
3392         A few more doc string fixes (Bug#20385)
3394         Accept curved quotes in doc strings
3395         * lisp/info-look.el (info-lookup-guess-custom-symbol):
3396         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
3398         Generate curved quotes in pseudo-info nodes
3399         * lisp/info.el (Info-virtual-index-find-node)
3400         (Info-virtual-index, Info-apropos-find-node, info-apropos):
3401         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
3403         Fix minor quoting problems in doc strings
3404         Most of these fixes involve escaping grave accents that are
3405         actually intended to be grave accents, not left quotes.
3406         (Bug#20385)
3408         Support curved quotes in doc strings
3409         Emacs's traditional doc string style has been to quote symbols
3410         `like this'.  This worked well on now-obsolete terminals where
3411         ` and ' were symmetric quotes, but nowadays curved quotes
3412         ‘like this’ look better.  Support quoting the new way too.
3413         (Bug#20385)
3414         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
3415         ‘like-this’ as well as `like-this'.
3416         * etc/NEWS: Mention this.
3417         * lisp/cedet/mode-local.el (overload-docstring-extension)
3418         (mode-local-print-binding, mode-local-describe-bindings-2):
3419         * lisp/cus-theme.el (describe-theme-1):
3420         * lisp/descr-text.el (describe-text-properties-1, describe-char):
3421         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
3422         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
3423         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
3424         (eieio-help-constructor):
3425         * lisp/emacs-lisp/package.el (describe-package-1):
3426         * lisp/faces.el (describe-face):
3427         * lisp/help-fns.el (help-fns--key-bindings)
3428         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
3429         (help-fns--interactive-only, describe-function-1):
3430         (describe-variable):
3431         * lisp/help.el (describe-mode):
3432         * lisp/international/mule-cmds.el (describe-input-method)
3433         (describe-language-environment):
3434         * lisp/international/mule-diag.el (describe-character-set)
3435         (print-coding-system-briefly, list-input-methods)
3436         (list-input-methods-1):
3437         Insert curved quotes rather than grave accent and apostrophe.
3438         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
3439         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
3440         (checkdoc-proper-noun-region-engine):
3441         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
3442         (lisp-cl-font-lock-keywords-2):
3443         * lisp/finder.el (finder-font-lock-keywords):
3444         * lisp/gnus/gnus-art.el (gnus-button-alist):
3445         * lisp/help-fns.el (help-do-arg-highlight)
3446         (describe-function-1, describe-variable):
3447         * lisp/help-mode.el (help-xref-symbol-regexp)
3448         (help-xref-info-regexp, help-xref-url-regexp):
3449         * lisp/help.el (describe-mode):
3450         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
3451         * lisp/wid-edit.el (widget-documentation-link-regexp):
3452         Parse symbols quoted ‘like-this’ as well as `like-this'.
3453         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3454         Add "‘" and "’" to electric-pair-text-pairs.
3455         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
3456         (elisp-completion-at-point, elisp--preceding-sexp):
3457         Also treat "‘" and "’" as quoting chars.
3459         substitute-command-keys now curves quotes
3460         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
3461         * doc/lispref/help.texi (Keys in Documentation):
3462         * etc/NEWS: Document this.
3463         * src/doc.c (Fsubstitute_command_keys): Implement it.
3465 2015-05-28  Glenn Morris  <rgm@gnu.org>
3467         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
3468         (rmail-summary-by-topic, rmail-summary-by-senders):
3469         No longer strip leading/trailing whitespace.
3471         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
3472         (f90-no-block-limit): Add "enum".  (Bug#20680)
3473         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
3474         New tests.
3476 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3478         * lisp/isearch.el (isearch--current-buffer): Give a default value.
3480         Un-revert changes mistakenly dropped by f9fabb2b
3482 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3484         Merge from gnulib
3485         This incorporates:
3486         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
3487         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
3488         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
3489         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
3490         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
3491         2015-05-26 stdio: fix probe on mingw under gcc 5.1
3492         * admin/merge-gnulib (GNULIB_MODULES):
3493         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
3494         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
3495         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
3496         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
3497         Get latest versions from gnulib.
3498         * lib/get-permissions.c, lib/set-permissions.c: New files.
3499         * lib/gnulib.mk, m4/gnulib-comp.m4:
3500         Regenerate.
3501         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
3503 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
3505         Delete the old process in vc-setup-buffer
3506         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
3507         process here.
3508         (vc-do-command): Rather than here (bug#20608).
3510 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
3512         Avoid gratuitous delete-dups in face-at-point.
3513         * lisp/faces.el (face-at-point): Do not compute the properly
3514         ordered, duplicate-free list if only a single value is
3515         requested anyway.  (Bug#20519)
3517         Show the exact C-x 8 RET invocation in describe-char.
3518         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
3519         invocation instead of a template.  (Bug#20522)
3521 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
3523         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
3524         (package-menu--post-refresh): Call `tabulated-list-print' with the
3525         UPDATE argument.  This only affects the refresh action, the revert
3526         action still erases tags.
3527         (package-menu-get-status): Change `assq' to `assoc'.
3528         (package-menu--mark-upgrades-1): New function.
3529         (package-menu--mark-upgrades-pending): New variable.
3530         (package-menu-mark-upgrades): Use them to delay marking until
3531         after refresh is done.
3532         (package-menu--post-refresh): Call mark-upgrades-1 if
3533         mark-upgrades-pending is non-nil.
3535 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
3537         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
3539 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3541         * lisp/isearch.el (isearch--current-buffer): New var
3542         (isearch-update): Set cursor-sensor-inhibit here.
3543         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
3545         Change inhibit-point-motion-hooks to t
3546         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
3547         to t and document it as obsolete.
3549 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
3551         Support ZIP files that use Zip64 extensions
3552         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
3553         format of central directory offsets used by Zip64 extensions.
3554         (Bug#20665)
3556 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
3558         New test tramp-test30-make-auto-save-file-name
3559         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
3560         (tramp-test31-special-characters)
3561         (tramp-test31-special-characters-with-stat)
3562         (tramp-test31-special-characters-with-perl)
3563         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
3564         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
3565         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
3566         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
3568         Improve tramp-handle-make-auto-save-file-name
3569         * tramp.el (tramp-auto-save-directory): Add :tags.
3570         (tramp-handle-make-auto-save-file-name): Let native
3571         `make-auto-save-file-name' use `auto-save-file-name-transforms',
3572         if `tramp-auto-save-directory' is not set.
3574 2015-05-27  Glenn Morris  <rgm@gnu.org>
3576         No longer set dired-directory in eshell.  (Bug#16477)
3577         * lisp/eshell/esh-mode.el (eshell-mode):
3578         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
3580         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
3582         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
3583         * lisp/progmodes/cc-mode.el (c-mode-help-address):
3584         Change to submit@debbugs.
3585         (c-mode-bug-package): New constant.
3586         (mail-position-on-field): Declare.
3587         (c-submit-bug-report): Insert X-Debbugs-Package header.
3588         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
3589         Mention debbugs.gnu.org.
3591 2015-05-26  Glenn Morris  <rgm@gnu.org>
3593         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
3594         (rmail-summary-by-recipients, rmail-summary-by-topic)
3595         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
3596         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
3598 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3600         Handle curved quotes in info files
3601         * lisp/calc/calc-help.el (calc-describe-thing):
3602         * lisp/info.el (Info-find-index-name)
3603         (Info-try-follow-nearest-node, Info-fontify-node):
3604         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
3605         In info files, process quotes ‘like this’ the same way we process
3606         quotes `like this'.  This catches a few places we missed earlier.
3608 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
3610         xref-prompt-for-identifier: Use a list value
3611         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
3612         value, to be interpreted as a list of commands.
3613         (xref--prompt-p): New function.
3614         (xref--read-identifier): Use it.
3616 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
3618         Teach MS-Windows font back-end return per-glyph ascent/descent
3619         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
3620         values.
3621         * src/w32font.c (w32font_text_extents): Compute, cache, and
3622         accumulate per-glyph ascent and descent values, instead of copying
3623         global values from the font.  If the values are not available from
3624         the font data, i.e., non-TTF fonts, fall back on font-global values.
3625         (compute_metrics): Compute and return per-glyph ascent and descent
3626         values, if returned by GetGlyphOutlineW, falling back on
3627         font-global values.  (Bug#20628)
3628         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
3629         height of rectangle to be drawn, to be compatible with
3630         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
3631         box, when per-glyph ascent/descent values are used.
3633 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
3635         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
3636         (tabulated-list-print): Don't sort if sorter is nil
3638 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
3640         Fix Bug#20621
3641         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
3642         are major modes which set `auto-save-mode' on their own rules;
3643         Tramp shall not overwrite such settings.
3644         (Bug#20621)
3646 2015-05-26  Glenn Morris  <rgm@gnu.org>
3648         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
3649         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
3650         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
3651         Doc updates.
3652         (vc-dir-mode): Remove unnecessary autoload.
3654 2015-05-25  Philipp Stephani  <phst@google.com>
3656         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
3657         (xterm--extra-capabilities-type): Add `getSelection'.
3658         (xterm--query): Add `no-async' argument.
3659         (xterm--init-activate-get-selection): New function.
3660         (terminal-init-xterm): Use it.
3661         (xterm--init-modify-other-keys): Rename from
3662         terminal-init-xterm-modify-other-keys.
3663         (xterm--init-bracketed-paste-mode): Rename from
3664         terminal-init-xterm-bracketed-paste-mode.
3665         (xterm--init-activate-set-selection): Rename from
3666         terminal-init-xterm-activate-set-selection.
3667         (xterm--selection-char): New function.
3668         (gui-backend-set-selection): Use it.  Use the &context to only apply
3669         this method in terminals where we enabled the feature.
3670         (gui-backend-get-selection): New method.
3672 2015-05-25  Daniel Colascione  <dancol@dancol.org>
3674         Add C-language keyword constants to C++
3675         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
3676         keyword constants to C++.
3678 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
3680         Make TAGS files more portable to MS-Windows
3681         * etc/NEWS: Document this.
3682         * lib-src/etags.c (readline_internal) [DOS_NT]:
3683         Don't treat CRs differently from GNUish hosts.
3684         * lisp/progmodes/etags.el (etags-goto-tag-location):
3685         Adjust STARTPOS to account for the skipped CRs in dos-style files.
3687 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
3689         Improve fix of debbugs:20634 in tramp-sh.el
3691 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
3693         Fix a typo in last commit
3694         * lib-src/etags.c (C_entries): Fix a typo.
3695         * test/etags/ETAGS.good_1:
3696         * test/etags/ETAGS.good_2:
3697         * test/etags/ETAGS.good_3:
3698         * test/etags/ETAGS.good_4:
3699         * test/etags/ETAGS.good_5:
3700         * test/etags/CTAGS.good: Update due to the change in etags.c.
3702         Fix tagging of class members in C-like OO languages
3703         * lib-src/etags.c (longopts): Add new option --class-qualify and
3704         its shorthand -Q.
3705         (print_help): Add help text for --class-qualify.
3706         (main): Add handling of -Q.
3707         (consider_token, C_entries) <omethodparm>: Append argument types
3708         to Objective C methods only if --class-qualify was specified.
3709         Qualify C++, Objective C, and Java class members with their class
3710         names only if --class-qualify was specified.
3711         (C_entries): If --class-qualify was not specified, remove the
3712         namespace and class qualifiers from tag names of C++ methods.
3713         This allows to use etags.el as xref back-end without the
3714         tag-symbol-match-p method, which greatly increases the number of
3715         potentially false positives.  (Bug#20629)
3716         * doc/man/etags.1: Update to document the new --class-qualify
3717         option.
3718         * test/etags/ETAGS.good_1:
3719         * test/etags/ETAGS.good_2:
3720         * test/etags/ETAGS.good_3:
3721         * test/etags/ETAGS.good_4:
3722         * test/etags/ETAGS.good_5:
3723         * test/etags/CTAGS.good: Update due to changes in etags.c.
3725 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
3727         (cl-generic-define-method): Side effects are evil (bug#20644)
3728         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
3729         cons-cells that might be used as keys in an `equal' hash-table.
3731 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3733         Make erc timestamps visible again
3734         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
3735         timestamps visible again (if requested).
3737 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
3739         Fix last change in etags.c that broke tagging compresed files
3740         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
3741         quoting of decompression shell command for MS-Windows/MS-DOS.
3743 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
3745         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
3746         (Bug#20639)
3748 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
3750         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
3752 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
3754         Fix IPv6 addresses in Tramp
3755         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
3756         Add sqare brackets around host name.
3758 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
3760         Inhibit `epa-file-handler' in Tramp
3761         (Bug#20634)
3762         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
3763         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
3764         `epa-file-handler'.
3766 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
3768         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
3769         (pcase-let): Document the behavior in case the pattern doesn't match.
3771 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
3773         * lisp/emacs-lisp/tabulated-list.el: New optional print method
3774         (tabulated-list-print): New optional argument, UPDATE.  If
3775         non-nil, the list is printed by only adding and deleting the
3776         changed entries, instead of erasing the whole buffer.  This method
3777         is much faster when few or no entries have changed.
3778         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
3779         * etc/NEWS: Document it.
3781         * lisp/emacs-lisp/tabulated-list.el: Improve printing
3782         (tabulated-list--get-sorter): New function.
3783         (tabulated-list-print): Restore window-line when remember-pos is
3784         passed and optimize away the `nreverse'.
3786 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
3788         Simpilify etags TEX mode scanning
3789         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
3790         Remove static vars.
3791         (TeX_commands): Deduce escapes here instead.
3792         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
3793         This removes the need for a reset_input call.
3795         Improve etags I/O error reporting
3796         * lib-src/etags.c:
3797         Don't include sys/types.h and sys/stat.h; no longer needed.
3798         (infilename): New static var.
3799         (process_file_name): Don't call 'stat'.  Instead, just open the
3800         file for reading and report any errors.  Don't bother making
3801         a copy of the file argument; it's not needed.  Be more careful to
3802         use the failing errno when reporting an error.
3803         Quote the real name better (though no perfectly)
3804         when passing it to the shell.
3805         (reset_input): New function, which reports I/O errors.
3806         All uses of 'rewind' changed to use this function.
3807         (perhaps_more_input): New function, which also checks for
3808         I/O errors.  All uses of 'feof' changed to use this function.
3809         (analyze_regex): Report an error if fclose fails.
3810         (readline_internal): Report an error if getc fails.
3811         (etags_mktmp): Return an error if close fails.
3813         etags.c: avoid side effects in 'if'
3814         * lib-src/etags.c (process_file_name, Perl_functions)
3815         (TEX_decode_env): Hoist side effects into previous statement.
3817         .gitignore tweaks
3818         * .gitignore: Ignore all *.stamp files.  Sort.
3819         Ignore [0-9]*.txt (commonly used name for git patches)
3820         and /vc-dwim-log-* (vc-dwim temporary).
3822 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
3824         Fix last change in etags.c, which failed the test suite
3825         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
3826         before the last change.
3828 2015-05-23  Glenn Morris  <rgm@gnu.org>
3830         Remove charset map files from repository, generate in first bootstrap
3831         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
3832         (all): Create the stamp file.
3833         (extraclean): Delete the stamp file.
3834         * src/Makefile.in (lispintdir, charsets): New variables.
3835         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
3836         New rules.
3837         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
3838         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
3839         * etc/charsets/*.map: Remove from repository.
3841 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3843         Cleanup etags.c to use locale-independent code
3844         Although this doesn't alter behavior (as etags doesn't use
3845         setlocale), the new version is more clearly locale-independent and
3846         the executable is a bit smaller on my platform.
3847         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
3848         Include <c-ctype.h> instead of <ctype.h>.
3849         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
3850         (begtk, midtk):
3851         Remove; no longer needed.
3852         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
3853         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
3854         c_islower, c_tolower, respectively.
3855         (notinname, begtoken, intoken, endtoken): Rewrite as functions
3856         instead of macros, and initialize the tables at compile-time
3857         rather than at run-time.
3859         Put default action first in src/Makefile
3860         * src/Makefile.in (all): Put this rule before lisp.mk.
3861         That way, plain 'make' works in the src directory again.
3863 2015-05-23  Glenn Morris  <rgm@gnu.org>
3865         * Makefile.in: Fix extraclean rule.
3866         (extraclean_dirs): New.
3867         (extraclean): Use it.
3869 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3871         Avoid compiler warning in image.c on MS-Windows
3872         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
3873         warning in image.c.
3875 2015-05-23  Glenn Morris  <rgm@gnu.org>
3877         Fix --without-toolkit-scroll-bars builds.
3878         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
3879         Add new argument to x_clear_area1.
3880         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3881         Update x_clear_area arguments.
3883         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
3884         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
3885         Change to included version.
3886         (LOCAL, local, totalclean): Remove.
3887         (extraclean): Delete all generated files.
3889 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3891         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
3893         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
3895         tags-completion-at-point-function: Don't trust the find-tag function
3896         * lisp/progmodes/etags.el (tags-completion-at-point-function):
3897         Don't trust the find-tag function.
3899 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3901         Pacify --enable-gcc-warnings
3902         * src/frame.h (x_query_color): Remove redundant extern decl.
3903         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
3904         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
3905         (ftcrfont_text_extents, ftcrfont_draw):
3906         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
3907         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
3908         (x_ins_del_lines, frame_highlight, frame_unhighlight)
3909         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
3910         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
3911         (x_update_window_begin, x_connection_closed)
3912         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
3913         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
3914         (*x_gc_get_ext_data, x_extension_initialize)
3915         (x_cr_accumulate_data):
3916         Remove redundant static decl.  Many of these GCC doesn't complain
3917         about, but we might as well clean out the duplication while we're
3918         in the neighborhood.
3919         * src/xterm.c (x_fill_trapezoid_for_relief):
3920         Remove decl of nonexistent function.
3922 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3924         Replace gui-method macros with cl-generic with &context
3925         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
3926         (gui-method-declare, gui-call): Remove.
3927         (frame-creation-function): Use cl-defgeneric.
3928         (make-frame): Adjust callers.
3929         * lisp/menu-bar.el (menu-bar-edit-menu):
3930         Use gui-backend-selection-exists-p.
3931         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
3932         (gui-backend-get-selection): New cl-generic to replace
3933         gui-get-selection method.
3934         (gui-backend-set-selection): New cl-generic to replace
3935         gui-set-selection method.
3936         (gui-selection-owner-p): New cl-generic to replace
3937         gui-selection-owner-p method.
3938         (gui-backend-selection-exists-p): New cl-generic to replace
3939         gui-selection-exists-p method.  Adjust all callers.
3940         * lisp/server.el (server-create-window-system-frame): Don't ignore
3941         window-system spec even when unsupported.
3942         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
3943         * lisp/startup.el (handle-args-function, window-system-initialization):
3944         Use cl-defgeneric.
3945         (command-line): Adjust calls accordingly.
3946         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
3947         a window-system-initialization method.
3948         (handle-args-function, frame-creation-function): Use cl-defmethod.
3949         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3950         (gui-get-selection): Use cl-defmethod on the new functions instead.
3951         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
3952         a gui-backend-get-selection method.
3953         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
3954         Use cl-defmethod on the new functions instead.
3955         (msdos-window-system-initialization): Turn into
3956         a window-system-initialization method.
3957         (frame-creation-function, handle-args-function): Use cl-defmethod.
3958         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
3959         a window-system-initialization method.
3960         (handle-args-function, frame-creation-function): Use cl-defmethod.
3961         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3962         (gui-get-selection): Use cl-defmethod on the new functions instead.
3963         * lisp/term/x-win.el (x-window-system-initialization): Turn into
3964         a window-system-initialization method.
3965         (handle-args-function, frame-creation-function): Use cl-defmethod.
3966         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3967         (gui-get-selection): Use cl-defmethod on the new functions instead.
3968         * lisp/term/xterm.el (xterm--set-selection): Turn into
3969         a gui-backend-set-selection method.
3970         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
3971         (Fns_selection_owner_p): Remove unused arg `terminal'.
3972         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
3974 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3976         Revert "Fix etags Bug#20629 that broke C++ support."
3977         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
3979 2015-05-23  Jan D  <jan.h.d@swipnet.se>
3981         Fix etags Bug#20629 that broke C++ support.
3982         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
3983         from Sun May 10 (Bug#20629).
3985         Merge branch 'cairo'.
3986         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
3987         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
3989         Merge branch 'master' into cairo
3991         Fixes to compile cairo branch without cairo.
3992         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
3993         first argument.
3994         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
3995         USE_CAIRO.
3997 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
3999         * lisp/emacs-lisp/package.el: Always update selected-packages
4000         (package--update-selected-packages): New function.
4001         (package-menu-execute): Use it before starting the transaction,
4002         this way the list of selected packages is updated even when the
4003         transaction fails.
4004         (package-menu--perform-transaction): Don't edit selected-packages.
4006 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4008         Fix etags reading of compressed files
4009         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
4010         Include fcntl.h, for O_CLOEXEC.
4011         (process_file_name): Don't use 'popen', whose streams cannot be
4012         rewound.  Instead, uncompress the file to a temporary file,
4013         created by 'etags_mktmp', and read from that as usual.
4014         (etags_mktmp): New function.
4015         * test/etags/ETAGS.good_1:
4016         * test/etags/ETAGS.good_2:
4017         * test/etags/ETAGS.good_3:
4018         * test/etags/ETAGS.good_4:
4019         * test/etags/ETAGS.good_5: Update to be consistent with latest
4020         changes in etags.c regarding reading compressed files.
4022         Improve documentation of 'set-fontset-font'
4023         * doc/lispref/display.texi (Fontsets): Document the value of nil
4024         for the 3rd argument of 'set-fontset-font'.
4026         Fix documentation of forward-line
4027         * src/cmds.c (Fforward_line): Clarify the return value if the line
4028         at end of accessible portion of the buffer has no newline.
4029         * doc/lispref/positions.texi (Text Lines): Document what happens
4030         if the line at end of accessible portion of buffer has no newline.
4031         (Bug#20587)
4033 2015-05-22  Glenn Morris  <rgm@gnu.org>
4035         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
4037         * admin/charsets/mapconv (LC_ALL): Set to C.
4039         * Makefile.in: Add admin/charsets into top-level clean rules.
4040         (clean): Add admin/charsets.
4041         (maybeclean_dirs): New variable.
4042         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
4044         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
4046 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4048         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
4050 2015-05-22  Glenn Morris  <rgm@gnu.org>
4052         Generate admin/charsets Makefile via configure, and make more portable.
4053         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
4054         (admin/charsets/Makefile): Generate it.
4055         * admin/charsets/Makefile.in: Rename from Makefile.
4056         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
4057         New variables, set by configure.
4058         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
4059         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
4060         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
4061         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
4062         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
4063         (all): Declare PHONY.
4064         (local): New PHONY target.
4065         (map_template): New template.  Use to define short PHONY aliases.
4066         (*.map): Add directory prefixes to targets and prerequisites.
4067         Respect make verbosity.
4068         (JISC6226.map): Replace non-portable sed append without newline.
4069         (install): Remove rule.
4070         (clean): Only delete temporary sedscript.
4071         (bootstrap-clean, distclean, maintainer-clean, extraclean)
4072         (totalclean): New PHONY rules.
4073         * admin/charsets/mapconv (BASE): Replace basename with expr.
4074         (FILE): Add "mapfiles" subdirectory.
4075         (AWK): New variable.  Use throughout in place of "awk".
4076         (main): Use "gunzip -c" in place of "zcat".
4077         Don't leave whitespace before "p", for older sed.
4078         * admin/charsets/mapfiles/PTCP154: Add final newline,
4079         to make older sed versions happy.
4081 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
4083         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
4084         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
4085         (auto-revert-notify-watch-descriptor): Use defvar-local.
4086         (find-file-hook, auto-revert-tail-mode, )
4087         (auto-revert-notify-add-watch): Use setq-local.
4088         (auto-revert-notify-add-watch): Don't call make-local-variable on
4089         kill-buffer-hook (bug#20601).
4091 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4093         Change defgeneric so it doesn't completely redefine the function
4094         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
4095         previously defined methods.
4096         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
4097         (cl--generic-prefill-dispatchers): Only define during compilation.
4098         (cl-method-qualifiers): Remove redundant alias.
4099         (help-fns-short-filename): Silence byte-compiler.
4100         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
4102 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4104         (package-menu-execute): Remove reference to remove-dups
4106 2015-05-21  kwhite  <kwhite@gnu.org>
4108         * lisp/erc/erc.el: Hide network/channel messages
4109         (erc-network-hide-list, etc-channel-hide-list): New lists to define
4110         message types per network/channel.
4111         (erc-add-targets): New function to parse list of targets
4112         (erc-hide-current-message-p): Modified to check for new targets
4114 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4116         Don't quote nil and t in doc strings
4117         This is as per "Tips for Documentation Strings" in the elisp manual.
4118         For consistency, do the same in diagnostics and comments.
4120 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
4122         Fix a minor problem with mouse-face on mode line
4123         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
4124         mouse face also if the mouse pointer hovers above mode-line glyphs
4125         that don't come from any Lisp string.  (Bug#20620)
4127 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4129         * lisp/emacs-lisp/package.el: Fix selected-package logic
4130         (package-menu-execute): Mark as selected all non-upgrade packages
4131         being installed.
4132         (package-menu--perform-transaction): Don't mark anything.
4134         * lisp/emacs-lisp/package.el: Mode-line progress report
4135         (package-menu--transaction-status): New variable.
4136         (package-menu-mode, package-menu--perform-transaction): Use it.
4138         * lisp/emacs-lisp/package.el: Better transaction messages
4139         (package-menu--partition-transaction): New function.
4140         (package-menu--prompt-transaction-p, package-menu-execute): Use
4141         it.
4142         (package-menu--perform-transaction): Don't do any messaging.
4144         * lisp/emacs-lisp/package.el: Revert async package transactions
4145         (package-menu-async): Update doc.
4146         (package-install-from-archive, package-download-transaction)
4147         (package-install, package-menu--perform-transaction)
4148         (package-menu-execute): Remove asynchronous functionality.
4150 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4152         Revert doc string changes to f90.el
4153         Problem reported by Glenn Morris in:
4154         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
4155         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4156         Revert recent changes to doc strings, as it's intended that they
4157         use grave accent, not quote.
4159 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
4161         Improve parameter name
4163         Add new inline function `hash-table-empty-p'
4165 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
4167         Don't require help-fns when not needed
4168         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
4169         * lisp/emacs-lisp/elint.el:
4170         Don't require help-fns at the top level.
4171         * lisp/emacs-lisp/advice.el (ad-arglist):
4172         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4173         Don't require help-fns.  (Bug#17001)
4175 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
4177         Fix slash collapsing in etags on MS-Windows
4178         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
4179         MS-Windows code from the Posix code, and support collapsing both
4180         forward- and back-slashes on MS-Windows.  Fixes a regression found
4181         by the test suite.
4183         Improve documentation of glyphless-char-display
4184         * doc/lispref/display.texi (Glyphless Chars): Improve
4185         documentation of glyphless character display.
4187         Fix "acronym" display of glyphless characters on w32
4188         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
4189         ignore "acronym" substitutes of 1 character for glyphless characters.
4191 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
4193         Add an automated test for let-when-compile
4194         * test/automated/subr-tests.el (let-when-compile): New test.
4196         Add let-when-compile macro instead of using pcase-let
4197         * lisp/subr.el (let-when-compile): New let-like macro that makes its
4198         bindings known to macros like `eval-when-compile' in the body.
4199         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
4200           `let-when-compile'. Also comment out the unused lexical var
4201           `el-kws-re'.
4202         The change greatly improves readability, while providing almost the
4203         same (even shorter) byte code: instead of pre-evaluating 10 variables,
4204         tossing them into a list, and destructuring that list a full screen
4205         page later, the variables are simply bound as they are evaluated,
4206         wrapped individually in `eval-when-compile'.
4208 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
4210         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
4211         (package-delete-button-action): New function.
4212         (describe-package-1): Add Delete button.
4214         * lisp/emacs-lisp/package.el: Better dependency description
4215         (package--used-elsewhere-p): New optional arg, ALL, and return
4216         package-desc objects instead of names.
4217         (package-delete): Update accordingly.
4218         (describe-package-1): Describe which packages require the package.
4220 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
4222         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
4223         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
4224         Fix doc-string (Bug#20533).
4226         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
4227         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
4228         (switch-to-buffer): If the selected window is strongly dedicated
4229         to its buffer, signal error before prompting for buffer name.  Handle
4230         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
4231         * doc/lispref/windows.texi (Switching Buffers): Document
4232         `switch-to-buffer-in-dedicated-window'.
4234 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4236         Prefer "this" to “this” in doc strings
4237         This mostly just straightens quotes introduced in my previous patch.
4238         Suggested by Dmitry Gutov in:
4239         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
4240         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
4241         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
4242         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
4243         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
4244         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
4245         Prefer straight double quotes to curved double quotes in doc strings.
4247         Fix minor quoting problems in doc strings
4248         These were glitches regardless of how or whether we tackle the
4249         problem of grave accent in doc strings.
4250         * lisp/calc/calc-aent.el (math-restore-placeholders):
4251         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
4252         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
4253         * lisp/leim/quail/hebrew.el ("hebrew-new")
4254         ("hebrew-biblical-sil"):
4255         * lisp/leim/quail/thai.el ("thai-kesmanee"):
4256         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
4257         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
4258         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
4259         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
4260         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
4261         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
4262         (semantic-tag-components):
4263         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
4264         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4265         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
4266         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
4267         * lisp/emacs-lisp/generator.el (iter-next):
4268         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
4269         (gnus-article-mode-syntax-table):
4270         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
4271         * lisp/net/soap-client.el (soap-wsdl-get):
4272         * lisp/net/telnet.el (telnet-mode):
4273         * lisp/org/org-compat.el (org-number-sequence):
4274         * lisp/org/org.el (org-remove-highlights-with-change)
4275         (org-structure-template-alist):
4276         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
4277         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
4278         (handwrite-12pt, handwrite-13pt):
4279         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4280         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
4281         * lisp/progmodes/verilog-mode.el (verilog-tool)
4282         (verilog-string-replace-matches, verilog-preprocess)
4283         (verilog-auto-insert-lisp, verilog-auto-insert-last):
4284         * lisp/textmodes/makeinfo.el (makeinfo-options):
4285         * src/font.c (Ffont_spec):
4286         Fix minor quoting problems in doc strings, e.g., missing quote,
4287         ``x'' where `x' was meant, etc.
4288         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
4289         Fix minor quoting problem in other string.
4290         * lisp/leim/quail/ethiopic.el ("ethiopic"):
4291         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
4292         Omit unnecessary quotes.
4293         * lisp/faces.el (set-face-attribute, set-face-underline)
4294         (set-face-inverse-video, x-create-frame-with-faces):
4295         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
4296         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
4297         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
4298         * lisp/net/tramp.el (tramp-methods):
4299         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
4300         * lisp/textmodes/artist.el (artist-ellipse-right-char)
4301         (artist-ellipse-left-char, artist-vaporize-fuzziness)
4302         (artist-spray-chars, artist-mode, artist-replace-string)
4303         (artist-put-pixel, artist-text-see-thru):
4304         * lisp/vc/ediff-util.el (ediff-submit-report):
4305         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
4306         Use double-quotes rather than TeX markup in doc strings.
4307         * lisp/skeleton.el (skeleton-pair-insert-maybe):
4308         Reword to avoid the need for grave accent and apostrophe.
4309         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
4310         Don't use grave and acute accents to quote.
4312 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
4314         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
4316 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4318         Try to port new etags tests to MS-Windows
4319         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
4320         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
4321         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
4322         Adjust to test-case changes below.
4323         * test/etags/Makefile (CSRC): Remove dostorture.c.
4324         Whatever it was trying to test, wasn't working portably.
4325         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
4326         just a line-ending problem.
4327         * test/etags/c-src/dostorture.c: Remove.
4328         * test/etags/cp-src/c.C: Remove stray CR.
4329         * test/etags/html-src/algrthms.html: Remove trailing CRs.
4330         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
4331         but if someone edits it later it should stay UTF-8-compatible.
4333 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
4335         Fix display of overlapping window-specific overlays
4336         * src/keyboard.c (adjust_point_for_property): When adjusting point
4337         due to display strings, ignore overlays that are specific to
4338         windows other than the currently selected one.
4339         * src/xdisp.c (handle_single_display_spec): If the display
4340         property comes from an overlay, arrange for buffer iteration to
4341         resume only after the end of that overlay.  (Bug#20607)
4343 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
4345         New command icomplete-force-complete-and-exit
4346         * lisp/icomplete.el (icomplete-force-complete-and-exit):
4347         New command
4348         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
4349         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
4350         (icomplete-minibuffer-map): Bind C-j to it.
4351         (icomplete-forward-completions, icomplete-backward-completions):
4352         Mention the new command in the docstring.
4353         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
4354         the previous fix for bug#17545.
4356 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
4358         Fix last commit
4360         In Elisp manual explain how to override window manager positioning (Bug#20552)
4361         * doc/lispref/frames.texi (Position Parameters): Give example of
4362         how to override a window manager positioning decision.
4364         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
4365         * src/frame.c (Fdelete_frame): In doc-string mention that frame
4366         can't be deleted if it has a surrogate minibuffer.
4367         * doc/lispref/frames.texi (Minibuffers and Frames)
4368         (Deleting Frames): Explain "surrogate minibuffer frames".
4370         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
4371         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
4373 2015-05-18  Glenn Morris  <rgm@gnu.org>
4375         Add option to ignore commit lines matching a pattern in ChangeLog.
4376         * build-aux/gitlog-to-changelog: Add --ignore-line option.
4377         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
4379 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4381         Don't skip new etags tests on non-UTF-8 hosts
4382         Problem reported by Eli Zaretskii for MS-Windows.
4383         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
4384         (LC_ALL): Set to C if the current locale isn't UTF-8.
4385         (.PHONY): Remove ediff_1 thru ediff_5.
4386         (check): Always run.
4388 2015-05-18  Glenn Morris  <rgm@gnu.org>
4390         * lisp/calculator.el (calculator-funcall):
4391         * lisp/textmodes/artist.el (artist-spray-random-points):
4392         Use standard degree/radian conversion utilities.
4394         Further lisp-complete-symbol related cleanup.
4395         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
4396         Unadvertise non-functional argument.  Replace obsolete alias.
4398 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
4400         Add a test case for Maven warning ouput
4401         * test/automated/compile-tests.el
4402         (compile-tests--test-regexps-data): Add a case for Maven warning
4403         ouput.
4404         (compile--test-error-line): Check the compilation message type, if
4405         it's specified in the test data.
4407 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
4409         Update Maven compilation-mode entry to distinguish warnings
4410         * lisp/progmodes/compile.el
4411         (compilation-error-regexp-alist-alist): Update Maven entry to
4412         distinguish warnings (bug#20556).
4414 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
4416         * test/automated/sgml-mode-tests.el: New file.
4418 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
4420         Improve handling of the first Git revision
4421         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
4422         there's no next entry, delete until the end of the buffer.
4423         (log-view-end-of-defun-1): Stop at eob.
4424         * lisp/vc/vc-annotate.el
4425         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
4426         when previous-revision is nil.
4427         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
4428         with `--' to avoid ambiguity.
4429         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
4430         returned revision string.
4431         (vc-git-annotate-time): Expect `^' before the first revision.
4432         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
4433         REV1 is nil, and REV2 is not.
4434         * lisp/vc/vc.el: Update the description of the `diff' function.
4436 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
4438         Allow checkdoc to be called in batch
4439         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
4440           is non-nil, echo the error with `warn'.
4441         How it can be used in -batch:
4442         (with-current-buffer (find-file "checkdoc.el")
4443           (checkdoc-current-buffer t))
4445 2015-05-18  Glenn Morris  <rgm@gnu.org>
4447         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
4449 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4451         * admin/notes/unicode: New section "binary files".
4453         Change new etags test to use UTF-8 encoding
4454         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
4455         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
4456         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
4457         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
4458         * test/etags/html-src/softwarelibero.html:
4459         Switch to UTF-8 encoding.
4460         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
4461         Remove Makefile, as it's too incestuous to have the test input
4462         include the build procedure.
4463         (UTF8_LOCALE, UTF_ENCODING): New macros.
4464         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
4465         (check): Skip if not UTF-8.
4466         (.PHONY): New rule.
4467         (FRC): Remove, as superseded by .PHONY.  All uses removed.
4468         (regexfile): Prefer printf to echo when outputting oddball chars.
4469         (.PRECIOUS): Remove, as these files are not built.
4471         Rename 'foo-gzipped' to 'foo.gz'
4472         * test/automated/data/decompress/foo.gz:
4473         Rename from test/automated/data/decompress/foo-gzipped,
4474         to make it easier for other tools to tell that it's compressed.
4475         * test/automated/zlib-tests.el (zlib--decompress):
4476         Adjust to renamed file.
4478 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
4480         Set up default-directory
4481         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
4482         binding for `v'.
4483         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
4484         appropriate value for default-directory.
4486 2015-05-17  Samer Masterson  <samer@samertm.com>
4488         * lisp/eshell/em-term.el (eshell-term-sentinel):
4489         No-op by default, only kills term buffer if
4490         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
4491         (eshell-destroy-buffer-when-process-dies): New custom to preserve
4492         previous behavior.
4494         eshell: Introduce new buffer syntax
4495         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
4496         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
4497         needed (Bug#19319).
4498         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
4499         (eshell-get-target): Remove shorthand-specific code.
4500         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
4501         '#<buffer-name>'.
4503 2015-05-17  Jan D  <jan.h.d@swipnet.se>
4505         Merge branch 'master' into cairo
4507 2015-04-26  Jan D  <jan.h.d@swipnet.se>
4509         Merge branch 'master' into cairo
4511         Add PBM support for cairo.
4512         * src/image.c (xcolor_to_argb32): New function.
4513         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
4514         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
4515         XImagePtr if ! USE_CAIRO.
4516         (pbm_load): Add cairo support.
4518 2015-04-12  Jan D  <jan.h.d@swipnet.se>
4520         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
4521         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
4522         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
4523         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
4524         x_free_cr_resources.
4526         Handle specified bg in images.  Use generic libpng code for PNG:s.
4527         * src/image.c (get_spec_bg_or_alpha_as_argb)
4528         (create_cairo_image_surface): New functions when USE_CAIRO.
4529         (xpm_load): Call the above functions.  Handle XPM without mask
4530         when USE_CAIRO.
4531         (png_load_body): Handle USE_CAIRO case.
4532         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
4533         instead.
4534         (jpeg_load_body): Call create_cairo_image_surface.
4535         (gif_load, svg_load_image): Handle specified background, call
4536         create_cairo_image_surface.
4537         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
4539 2015-04-11  Jan D  <jan.h.d@swipnet.se>
4541         Support GIF and Tiff with cairo.
4542         * configure.ac: Allow jpeg with cairo.
4543         Allow tiff and gif with cairo.
4544         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
4545         (tiff_load): Create cairo image surface if USE_CAIRO.
4546         (gif_load): Ditto.
4548         Support JPEG with USE_CAIRO.
4549         * configure.ac: Allow jpeg with cairo.
4550         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
4552 2015-04-05  Jan D  <jan.h.d@swipnet.se>
4554         Support RSVG and cairo.
4555         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
4556         * src/dispextern.h (struct image): add cr_data2 if cairo.
4557         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
4558         (x_clear_image): Free cr_data and cr_data2 if set.
4559         (xpm_load): Assign data to cr_data2.
4560         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
4562 2015-04-03  Jan D  <jan.h.d@swipnet.se>
4564         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
4565         * configure.ac (HAVE_RSVG): Move after cairo.
4566         (USE_CAIRO): Disable rsvg, don't disable Xpm.
4567         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
4568         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
4569         don't return early.
4570         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
4571         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
4572         and create a surface.
4574         Tool tips for menus did not show any text.
4575         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
4576         tip frames, the geometry may be wrong.
4578         Merge branch 'master' into cairo, fixes tooltips not shown.
4580         Merge branch 'master' into cairo
4582         Add CAIRO_CFLAGS to lwlib/Makefile.in
4583         * Makefile.in (CAIRO_CFLAGS): Add.
4585 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4587         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
4589 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4591         Draw outermost line using black relief and erase corners also for cairo.
4592         * xterm.c [USE_CAIRO]: Include math.h.
4593         (enum corners) [USE_CAIRO]: New enum.
4594         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
4595         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
4596         than 1, draw the outermost line using the black relief.
4598         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
4600 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4602         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
4604         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
4606         Use int instead of unsigned int for width and height args.
4607         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
4608         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
4609         width and height args.
4611         Modernize k&r cairo-related function declarations.
4612         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
4613         (xg_print_frames_dialog): Modernize k&r declarations.
4614         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
4615         (Fx_print_frames_dialog): Modernize k&r declarations.
4616         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
4617         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
4618         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
4619         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
4620         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
4621         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4622         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
4623         (x_clear_area): Modernize k&r declarations.
4625         Implement wave-style variant of underlining for cairo.
4626         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
4627         (x_draw_underwave) [USE_CAIRO]: Use it.
4629         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
4631 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4633         Fix fringe bitmap initialization for cairo.
4634         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
4635         cairo image surface.
4636         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
4638 2015-02-11  Jan D  <jan.h.d@swipnet.se>
4640         Add cairo drawing.
4641         * configure.ac (with-cairo): New option.
4642         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
4643         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
4644         Output "Does Emacs use cairo?".
4645         * lisp/version.el (emacs-version): Add cairo version.
4646         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
4647         (FONT_OBJ): Add comment about ftcrfont.
4648         (ALL_CFLAGS): Add CAIRO_CFLAGS.
4649         (LIBES): Add CAIRO_LIBS.
4650         * src/dispextern.h (struct image): Add cr_data for cairo.
4651         (x_cr_init_fringe): Declare.
4652         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
4653         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
4654         * src/fringe.c (x_cr_init_fringe): New function name that shares code
4655         with w32_init_fringe.
4656         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
4657         * src/ftfont.c (ftfont_info_size); New global variable.
4658         (ftfont_open2): New extern function almost the same as old ftfont_open,
4659         but takes the font_object as argument.
4660         (ftfont_open): Build font object and call ftfont_open2.
4661         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
4662         * src/gtkutil.c (xg_clear_under_internal_border)
4663         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
4664         queue_draw if not cairo.  Change args to x_clear_area.
4665         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
4666         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
4667         (xg_print_frames_dialog): New functions for printing.
4668         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
4669         (xg_print_frames_dialog): Declare.
4670         * src/image.c: Add defined (USE_CAIRO) for PNG.
4671         Add !defined USE_CAIRO for W32 PNG code.
4672         (x_clear_image): If cairo, destroy the surface in cr_data.
4673         (png_load): Add new cairo compatible implementation.
4674         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
4675         * src/xfns.c: New section Printing.
4676         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
4677         (x-print-frames-dialog): New printing functions.
4678         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
4679         cairo.
4680         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
4681         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
4682         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
4683         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
4684         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
4685         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4686         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
4687         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
4688         Declare.
4689         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
4690         (max_fringe_bmp, fringe_bmp): New variables.
4691         (x_gc_get_ext_data, x_extension_initialize)
4692         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
4693         (x_set_cr_source_with_gc_foreground)
4694         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
4695         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
4696         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
4697         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
4698         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
4699         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
4700         (x_update_begin): Create cairo surface if needed.
4701         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
4702         (x_update_end): Paint cairo drawing surface to xlib surface.
4703         (x_clear_under_internal_border, x_after_update_window_line): Adjust
4704         arguments to x_clear_area.
4705         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
4706         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
4707         of XSetClipMask.
4708         (x_set_glyph_string_clipping)
4709         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
4710         instead of XSetClipRectangles.
4711         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
4712         x_fill_rectangle instead of XFillRectangle.
4713         (x_draw_glyph_string_foreground)
4714         (x_draw_composite_glyph_string_foreground)
4715         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
4716         of XDrawRectangle.
4717         (x_draw_relief_rect): Add code for USE_CAIRO.
4718         Call x_reset_clip_rectangles instead of XSetClipMask.
4719         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
4720         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
4721         instead of XSetClipMask.
4722         (x_draw_image_foreground, x_draw_image_foreground_1):
4723         x_draw_rectangle instead of XDrawRectangle.
4724         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
4725         XFillRectangle.
4726         (x_draw_image_glyph_string): If img has cr_data, use it as
4727         a cairo surface.
4728         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
4729         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
4730         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
4731         x_reset_clip_rectangles instead of XSetClipMask.
4732         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
4733         (x_clear_area1): New function that calls XClearArea.
4734         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
4735         non-cairo.
4736         (x_clear_frame): x_clear_window instead of XClearWindow.
4737         (x_scroll_run): Set frame garbaged if cairo.
4738         (XTmouse_position): Initialize *part to 0.
4739         (x_scroll_bar_create): Adjust arguments to x_clear_area.
4740         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
4741         x_fill_rectangle instead of XFillRectangle.
4742         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
4743         arguments to x_clear_area.
4744         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
4745         (handle_one_xevent): Adjust arguments to x_clear_area.
4746         Destroy cairo surface for frame if ConfigureNotify.
4747         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
4748         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
4749         x_reset_clip_rectangles instead of XSetClipMask.
4750         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
4751         x_reset_clip_rectangles instead of XSetClipMask.
4752         (x_clear_frame_area): Adjust arguments to x_clear_area.
4753         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
4754         (x_term_init): Call x_extension_initialize if cairo.
4755         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
4756         x_cr_destroy_fringe_bitmap for cairo.
4757         (x_initialize): Call x_cr_init_fringe for cairo.
4758         * src/xterm.h: Add include of cairo header files.
4759         (x_bitmap_record): Add img if cairo.
4760         (x_gc_ext_data): New struct for cairo.
4761         (x_display_info): Add ext_codes for cairo.
4762         (x_output): Add cr_context and cr_surface for cairo.
4763         (x_clear_area): Change arguments from Display*/Window to frame pointer.
4764         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
4765         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
4766         (x_cr_draw_frame, x_cr_export_frames): Declare.
4768 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
4770         Fix integer-valued `mouse-highlight' (Bug#20590)
4771         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
4773 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
4775         MS-Windows followup for ASCIIfication of curved quotes
4776         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
4777         test for curved quotes being displayable, after switching the
4778         terminal encoding.  (Bug#20545)
4780 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4782         Spelling fixes
4784 2015-05-17  Jan D  <jan.h.d@swipnet.se>
4786         Add comment that x_shift_glyphs_for_insert is never called.
4787         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
4788         comment that this function is never called.
4790 2015-05-16  Glenn Morris  <rgm@gnu.org>
4792         * src/lisp.mk: Remove from repository and generate at build-time.
4793         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
4794         (shortlisp_filter): New variable.
4795         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
4796         (distclean): Remove lisp.mk.
4797         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
4798         * lisp/loadup.el: Tweak layout to make it easier to parse.
4799         * make-dist: Do not distribute src/lisp.mk.
4801 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
4803         Display shorter dates in Git annotate output
4804         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
4805         format (when not overridden with vc-git-annotate-switches).
4806         (vc-git-annotate-time): Support the short format, as well as ISO
4807         8601 that has been used until now (bug#5428).
4809 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
4811         ASCIIfy curved quotes on displays lacking them
4812         * lisp/international/mule-cmds.el (set-locale-environment):
4813         If curved quotes don't work, display straight ASCII approximations
4814         (Bug#20545).
4816 2015-05-16  Glenn Morris  <rgm@gnu.org>
4818         Small src/Makefile simplification.
4819         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
4820         * src/Makefile.in (lisp): Derive from shortlisp.
4821         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
4823 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
4825         * lisp/help-mode.el (help-go-forward): Doc fix.
4826         (Bug#20577)
4828         * doc/lispref/debugging.texi (Profiling): Improve indexing.
4829         (Bug#20576)
4831 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
4833         Use `unless' to have one fewer `not'
4834         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
4835         have one fewer `not'.
4837         Remove redundant :group declarations from vc-git.el
4838         * lisp/vc/vc-git.el (vc-git-diff-switches)
4839         (vc-git-annotate-switches, vc-git-resolve-conflicts)
4840         (vc-git-program, vc-git-root-log-format): Remove the redundant
4841         :group declarations.
4843 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
4845         Removes the predicate from lisp-complete-symbol (Bug#20456)
4846         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
4847         and remove it from the docstring.
4849 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
4851         Add new option vc-git-resolve-conflicts
4852         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
4853         (vc-git-find-file-hook): Add to after-save-hook only when the
4854         above is non-nil.
4855         (vc-git-resolve-when-done): Update to honor the new variable.
4856         (Bug#20292)
4858 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
4860         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
4861         (tabulated-list-init-header): Document new behavior.
4862         (tabulated-list-print-fake-header): No nothing if
4863         `tabulated-list--header-string' is nil.
4864         (tabulated-list--header-string): Add a docstring.
4865         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
4866         * etc/NEWS: Document it.
4868 2015-05-15  Leo Liu  <sdl.web@gmail.com>
4870         Revert "Fix cps--gensym"
4871         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
4872           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
4874 2015-05-15  Glenn Morris  <rgm@gnu.org>
4876         Replace AC_SUBST_FILE in configure with include in Makefiles.
4877         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
4878         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
4879         (AUTO_DEPEND): New output variable.
4880         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
4881         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4882         (lwlib_deps_frag): Replace by conditional include.
4883         * lwlib/autodeps.mk: Remove file.
4884         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
4885         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4886         (oldxmenu_deps_frag): Replace by conditional include.
4887         * oldXMenu/autodeps.mk: Remove file.
4888         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
4889         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4890         (lisp_frag): Replace by an include.
4891         (deps_frag): Replace by conditional include.
4892         * src/autodeps.mk: Remove file.
4894         Tweak japanese.el's loading of dependencies.
4895         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
4896         * lisp/language/japanese.el: Use require rather than load.
4897         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
4898         Provide a feature.
4899         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
4900         Provide a feature in the generated file.
4902 2015-05-15  Jan D  <jan.h.d@swipnet.se>
4904         Fix NS warnings.
4905         * nsmenu.m (ns_popup_dialog)
4906         * nsimage.m (initFromXBM:width:height:fg:bg:)
4907         * nsfns.m (Fx_create_frame): Remove unused variables.
4908         (Fns_read_file_name): Initialize fname, remove ret.
4909         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
4910         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
4911         variable.
4912         (init): Add parantesis in if.
4913         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
4915 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4917         Fix a enum conversion warning in macfont.m
4918         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
4919         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
4921 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
4923         Support de-alt dictionary with Aspell.
4924         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
4925         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
4927 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4929         cus-start.el: Add ns-confirm-quit.
4930         * cus-start.el: Add ns-confirm-quit.
4932         Fix warnings on OSX 10.10.
4933         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
4934         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
4935         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
4936         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
4937         * nsimage.m (allocInitFromFile, setPixmapData): Only call
4938         setScalesWhenResized for OSX < 10.6.
4939         * nsterm.h (EmacsScroller): Declare scrollerWidth.
4940         * nsterm.m (ns_copy_bits): New function that does not use deprecated
4941         NSCopyBits.
4942         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
4943         (runAlertPanel): New function.
4944         (applicationShouldTerminate:): Call runAlertPanel.
4945         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
4946         for OSX < 10.10.
4947         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
4948         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
4949         (draggingEntered:): Returns NSDragOperation.
4950         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
4952 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4954         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
4955         (package--init-file-ensured): New variable.
4956         (package-initialize, package--ensure-init-file): Use it.
4958 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4960         Honor :fore/background for XBM on NS (Bug#14969).
4961         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
4962         initFromXBM takes bg, fg args, remove flip arg.
4963         (ns_image_from_XBM): Add bg, fg args.
4964         * image.c (x_create_bitmap_from_data)
4965         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
4966         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
4967         Remove flip arg.
4968         (initFromSkipXBM): Move code to initFromXBM.
4969         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
4970         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
4971         false.
4972         Remove bit flipping (bitPat, swt), generated incorrect images when
4973         width/height wasn't a multiple of 8.
4974         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
4975         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
4976         flip arg.
4978 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4980         * lisp/emacs-lisp/package.el: Be more careful with the init file
4981         (package--ensure-init-file): Check that user-init-file is set,
4982         exists, is readable, and is writable.  (Bug#20584)
4983         Also expand the docstring.
4985 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
4987         Sync with upstream verilog-mode revision 6232468
4988         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
4989         (verilog-highlight-grouping-keywords): Fix use of face when
4990         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
4991         Pompa.
4992         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
4993         parent is reset, bug906. Reported by Ken Schmidt.
4994         (verilog-auto-inout-module): Add fourth regexp argument to
4995         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
4996         bug856. Reported by John Tillema.
4997         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
4998         modport if signal attachment is itself a modport.  Reported by
4999         Matthew Lovell.
5000         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
5001         always_comb and always_latch, bug844.  Reported by Greg Hilton.
5002         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
5003         with many curly-bracket pairs, bug663.
5004         (verilog-set-auto-endcomments): Fix end comments for functions of
5005         type void, etc.  Reported by Alex Reed.
5006         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
5007         caused by indent-line-to deleting tabls pre 24.5.
5008         (verilog-nameable-item-re): Fix nameable items that can have an
5009         end-identifier to include endchecker, endgroup, endprogram,
5010         endproperty, and endsequence.  Reported by Alex Reed.
5011         (verilog-label-be): When auto-commenting a buffer, consider
5012         auto-comments on all known keywords (not just a subset thereof).
5013         Reported by Alex Reed.
5014         (verilog-auto-end-comment-lines-re)
5015         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
5016         Automatically comment property/endproperty blocks to match other
5017         similar blocks like sequence/endsequence, function/endfunction,
5018         etc. Reported by Alex Reed.
5019         (verilog-set-auto-endcomments): Detect the function- or task-name
5020         when auto-commenting blocks that lack an explicit
5021         portlist. Reported by Alex Reed.
5022         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
5023         allow post-AUTO user fixups, bug826. Reported by Dennis
5024         Muhlestein.
5025         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
5026         is nil, fix indenting initial/final to match always statements,
5027         bug825. Reported by Tim Clapp.
5028         (verilog-extended-complete-re): Fix indentation of DPI-C imports
5029         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
5030         Mao and Jason Forkey.
5031         (verilog-read-decls): Fix parsing typed interfaces.  Fix
5032         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
5033         Fix localparam not being ignored in AUTOINSTPARAM,
5034         bug889. Reported by Shannon Hill.
5035         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
5036         bug793.  Reported by Pierre-David Pfister.
5037         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
5038         verilog-auto-arg-format to support newlines in AUTOARG. Reported
5039         by Jie Xiao.
5040         (verilog-batch-execute-func): Do not batch re-auto files loaded by
5041         Local Variables. Fix printing "no changes to be saved" with
5042         verilog-batch. Reported by Dan Dever.
5043         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
5044         interface-only modules, bug721.  Reported by Dean Hoyt.
5045         Author: Alex Reed <acreed4@gmail.com>
5046         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
5047         treat '<keyword>:<identifier>' as the start of a labeled
5048         statement, bug905.  Reported by Enzo Chi.
5049         (verilog-directive-re, verilog-compiler-directives)
5050         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
5051         directives (plus some extras) when determining indentation, bug
5052         901.  Reported by Bernd Beuster.
5053         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
5054         iff expression doesn't start with word-character, bug900.
5055         (verilog-optional-signed-range-re, verilog-optional-signed-re):
5056         Fix incorrect indentation/alignment of unsigned declarations,
5057         bug897.
5058         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
5059         always constructs, bug895.
5060         (verilog-calc-1): Fix verilog-mode constraint indentation,
5061         bug324. Reported by Eric Mastromarchi.
5062         (verilog-beg-of-statement): Fix indenting for some forms of
5063         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
5064         continued assignment incorrect if first line ends with ']',
5065         bug437. Reported by Dan Dever.  Fix indention of cover inside an
5066         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
5067         blocks, bug842.
5068         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
5069         bug859. Reported by Kaushal Modi.
5070         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
5071         (verilog-backward-token): Fix indenting sensitivity lists with
5072         named events, bug840.  Reed.
5073         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
5074         nil not honoring 'forever', 'foreach', and 'do' keywords.
5076 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5078         Check for invalid GTK+ monitor scales
5079         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
5080         INT_MAX for too-large scales.  All callers changed to assume the
5081         result is valid (Bug#20432).
5082         (xg_frame_set_char_size, xg_update_scrollbar_pos):
5083         Calculate scale only if needed.
5084         show ASCII approximations instead.
5086 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
5088         Fix daemon crashes when linum-mode is turned on early on
5089         * src/window.c (Fwindow_end): Don't try calling display engine
5090         functions on initial-frame frame.  (Bug#20565)
5092         Fix selective diff browsing in Ediff
5093         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
5094         beginning of the region before searching for the
5095         ediff-regexp-focus-* regexps.  (Bug#20568)
5097 2015-05-14  Jan D  <jan.h.d@swipnet.se>
5099         Fixes Bug#20142.
5100         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
5101         in the main loop, even for Gtk 3 (Bug#20142).
5103         Don't access display after i/o error (Bug#19147).
5104         * xterm.c (x_connection_closed): Add third arg ioerror.
5105         If ioerror, set display to 0 (Bug#19147).
5106         (x_error_quitter): Call x_connection_closed with third arg false.
5107         (x_io_error_quitter): Call x_connection_closed with third arg true.
5109         Handle GTK_SCALE, fixes Bug#20432.
5110         * gtkutil.c (xg_get_gdk_scale): New function.
5111         (xg_frame_set_char_size)
5112         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
5113         (xg_get_default_scrollbar_height)
5114         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
5115         when setting sizes (Bug#20432).
5117 2015-05-13  Leo Liu  <sdl.web@gmail.com>
5119         Fix cps--gensym
5120         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
5122 2015-05-13  Glenn Morris  <rgm@gnu.org>
5124         Fix bootstrap (void function cl-member).
5125         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
5126         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
5128 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5130         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
5131         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
5132         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
5133         Avoid defalias for closures which are not immutable.
5134         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
5135         dispatchers table with various entries.
5136         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
5137         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
5139 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
5141         Improve tagging of C bindings in DEFVAR_*
5142         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
5143         from DEFVAR_*.
5145 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
5147         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
5149 2015-05-12  Glenn Morris  <rgm@gnu.org>
5151         * lisp/progmodes/tcl.el (tcl-filter):
5152         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
5154         Add basic VC push support.
5155         * lisp/vc/vc.el (vc-push): New autoloaded command.
5156         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
5157         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
5158         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
5159         (vc-bzr-push): New.
5160         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
5161         (vc-git-pull): Reimplement using vc-git--pushpull.
5162         (vc-git-push): New.
5163         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
5164         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
5165         * doc/emacs/maintaining.texi (Pulling / Pushing):
5166         Rename from "VC Pull".  Mention pushing.
5167         (VC With A Merging VCS, VC Change Log): Update xrefs.
5168         (Branches): Update menu.
5169         * doc/emacs/emacs.texi: Update menu.
5170         * etc/NEWS: Mention this.
5172 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
5174         Improve the seq pcase pattern and the `seq-let' macro
5175         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
5176         object is a sequence, and binds each element of ARGS to the
5177         corresponding element of the sequence.
5179 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
5181         Fix tags created from DEFVAR_* declarations in C
5182         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
5183         to make tags extracted from DEFVAR_* declarations more accurate.
5185         Add a test suite for etags
5186         * test/etags/: New test suite, adapted from
5187         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
5188         whose original author is Francesco Potortì <pot@gnu.org>.
5190         Fix tagging of symbols in C enumerations
5191         * lib-src/etags.c (consider_token): Don't tag symbols in
5192         expressions that assign values to enum constants.  See
5193         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
5194         for details.
5195         (C_entries): Reset fvdef to fvnone after processing a preprocessor
5196         conditional and after a comma outside of parentheses.
5198 2015-05-12  Glenn Morris  <rgm@gnu.org>
5200         * lisp/url/url-handlers.el (url-file-name-completion)
5201         (url-file-name-all-completions): Silence compiler.
5203         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
5205         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
5207 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
5209         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
5210         (cl--generic-mandatory-args): Remove.
5211         (cl--generic-split-args): New function.
5212         (cl-generic-define, cl--generic-lambda): Use it.
5213         (cl-generic-define-method): Use it as well, and add support for
5214         context args.
5215         (cl--generic-get-dispatcher): Handle &context dispatch.
5216         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
5217         (cl--generic-dispatchers): Pre-fill.
5218         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
5220 2015-05-11  Glenn Morris  <rgm@gnu.org>
5222         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
5224 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5226         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
5227         * lisp/term/rxvt.el: Require term/xterm.
5228         (rxvt-function-map): Use xterm-rxvt-function-map.
5229         (rxvt-standard-colors): Move before first use.
5230         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
5231         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
5232         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
5233         Move shared bindings between rxvt and xterm to it.
5234         (xterm-function-map): Use it.  Move the xterm-paste binding to
5235         xterm-rxvt-function-map (bug#20444).
5236         (xterm-standard-colors): Move before first use.
5237         (xterm--push-map): New function.
5238         (xterm-register-default-colors): Take standard colors as argument.
5239         (terminal-init-xterm): Use it.  Adjust call to
5240         xterm-register-default-colors.
5242 2015-05-11  Glenn Morris  <rgm@gnu.org>
5244         * lisp/term/x-win.el: Quieten --without-x compilation.
5245         (x-own-selection-internal, x-disown-selection-internal)
5246         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
5247         Declare.
5249         * Makefile.in (emacslog): Remove srcdir.
5250         (ChangeLog): Update for the above.
5252 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
5254         Spelling fix
5256 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5258         python.el: better limit for looking-back calls
5259         * lisp/progmodes/python.el (python-shell-accept-process-output):
5260         Use last comint prompt start as limit for looking-back.
5262 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
5264         CEDET (srecode-insert-fcn): Fix use of oref on a class
5265         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
5266         a class.  Reported by Pierre Lorenzon.
5267         (srecode-template-inserter-point): Remove declaration.
5269         CEDET (srecode-create-dictionary): Avoid obsolete object name
5270         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
5271         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
5273 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5275         C-x 8 shorthands for curved quotes, Euro, etc.
5276         Although C-x 8 lets you insert arbitrary Unicode characters,
5277         it's awkward to use this to insert commonly used symbols such as curved
5278         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
5279         characters commonly found in English text and in basic math.
5280         For example, assuming the Alt key works on your keyboard and iso-transl
5281         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
5282         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
5283         (Bug#20499)
5284         * doc/emacs/mule.texi (Unibyte Mode):
5285         A few other printing characters now work too.
5286         * etc/NEWS: Document this.
5287         * lisp/international/iso-transl.el (iso-transl-char-map):
5288         Also support the following characters:
5289         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
5291 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
5293         Add xref-find-regexp
5294         * lisp/progmodes/xref.el (xref-find-function): Describe the
5295         `matches' action.
5296         (xref-find-regexp): New command, using it.
5297         (xref-collect-references): Rename to xref-collect-matches.
5298         (xref--collect-reference): Rename to xref--collect-match.
5299         (xref-collect-matches, xref--collect-match): Accept new argument,
5300         KIND.  Update accordingly.
5301         (xref--regexp-to-extended): New function.
5302         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
5303         `matches' action.
5304         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
5305         * lisp/progmodes/etags.el (etags-xref-find):
5306         Support the `matches' action.
5307         (etags--xref-find-matches): New function.
5309 2015-05-10  Glenn Morris  <rgm@gnu.org>
5311         * Makefile.in: Fixes for recent change-history changes.
5312         (change-history-nocommit): Update footer regexp.
5313         Ensure output script stays executable.
5315 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
5317         New version of `seq-let' based on a pcase pattern
5318         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
5319         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
5321 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
5323         Add basic HTML5 tags and a template
5324         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
5325         (html-tag-alist): Add HTML5 tags.
5326         (html-tag-help): Add new tags descriptions.
5327         (html-navigational-links): Template for nav links.
5328         (html-html5-template): Template for a HTML5 page.
5330 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
5332         semantic/symref/grep: Don't use word boundaries
5333         * lisp/cedet/semantic/symref/grep.el
5334         (semantic-symref-perform-search): Instead of wrapping input in
5335         word boundaries, check that the characters before and after are
5336         not word constituents.
5338         semantic/symref/grep: Support regexp search
5339         * lisp/cedet/semantic/symref.el
5340         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
5341         the search type is regexp.
5342         * lisp/cedet/semantic/symref/grep.el
5343         (semantic-symref-perform-search): Support the regexp search type.
5344         Pass -E to Grep when it's used.
5346         semantic-symref-regexp: Allow to input an arbitrary string
5347         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
5348         Allow to input an arbitrary string interactively.
5350         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
5351         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
5352         Remove tag-symbol-match-p from the default value
5353         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
5355         Declare find-tag obsolete
5356         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
5357         xref-find-definitions.
5359 2015-05-10  Jan D  <jan.h.d@swipnet.se>
5361         Draw composite string correctly (Bug#20537).
5362         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
5363         (ns_draw_glyph_string): Call it (Bug#20537).
5365 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
5367         Avoid infloop in ERC
5368         * lisp/simple.el (line-move-to-column): Ignore field boundaries
5369         while computing line beginning position.  (Bug#20498)
5371 2015-05-08  Glenn Morris  <rgm@gnu.org>
5373         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
5374         * build-aux/gitlog-to-emacslog: Check called from right directory.
5375         (srcprefix): Remove.
5377         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
5378         * Makefile.in (ChangeLog): No longer pass "distprefix".
5379         * make-dist: Update "make ChangeLog" syntax for the above change.
5381         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
5382         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
5384         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
5386         Add command-line option-parsing to gitlog-to-emacslog.
5387         * build-aux/gitlog-to-emacslog: Add command-line options.
5388         By default, refuse to remove an existing output file.
5389         * Makefile.in (CHANGELOG): Update default.
5390         (ChangeLog): Do not test for existing file.
5391         (change-history-nocommit): Ensure temp file does not exist.
5393         Quieten --without-x compilation.
5394         * lisp/term/common-win.el: Provide a feature.
5395         * lisp/term/x-win.el (term/common-win): Require it.
5397         * lisp/dired-aux.el (dired-do-print): Require lpr.
5399         Quieten compilation, eg in --without-x builds.
5400         * lisp/dired-aux.el (lpr-printer-switch):
5401         * lisp/frame.el (tool-bar-height):
5402         * lisp/linum.el (font-info):
5403         * lisp/window.el (font-info, overflow-newline-into-fringe)
5404         (tool-bar-height):
5405         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
5406         * lisp/gnus/gnus-util.el (iswitchb-mode):
5407         * lisp/mail/rmailmm.el (libxml-parse-html-region):
5408         * lisp/net/nsm.el (gnutls-peer-status)
5409         (gnutls-peer-status-warning-describe):
5410         * lisp/net/shr.el (libxml-parse-xml-region):
5411         * lisp/url/url-http.el (gnutls-peer-status): Declare.
5413 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5415         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
5416         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
5417         `subclass' since they're never called with a class.
5418         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
5419         srecode-dictionary-child-p.
5421 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
5423         help--binding-locus: Document argument POSITION.
5424         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
5426 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
5428         Merge from gnulib.
5429         * doc/misc/texinfo.tex: Get latest version.
5431 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
5433         ffap.el (ffap-read-file-or-url): Fix completing-read call
5434         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
5435           `completing-read' should be a symbol.
5437 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
5439         Verify file modifications by other programs
5440         * src/filelock.c (lock_file): Check whether the file was modified
5441         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
5443         Fix keyboard macros that include function keys
5444         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
5445         keys in the macro before returning.  (Bug#20454)
5447 2015-05-08  Glenn Morris  <rgm@gnu.org>
5449         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
5450         "Copyright-paperwork-exempt".  (Bug#20324)
5452         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
5453         (log-edit-rewrite-tiny-change): New variable.
5454         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
5455         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
5456         * etc/NEWS: Mention this.
5458         * lisp/calc/calc.el (math-zerop): Declare.
5460         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
5462 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5464         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
5465         Support the case when BINDINGS is a single tuple.  (Bug#20525)
5467         * etc/NEWS: Fix typo in commit 14bb519
5469 2015-05-07  Jan D  <jan.h.d@swipnet.se>
5471         Warn for multiple display crash for all Gtk+ versions.
5472         * configure.ac: Warn for multiple display crash for all Gtk+
5473         versions.  Output URL to Gtk+ bug (Bug#20452).
5475         ns-win.el (ns-paste-secondary): Use gui-get-selection.
5476         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
5478 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5480         * lisp/emacs-lisp/package.el: New "external" package status
5481         An external package is any installed package that's not built-in
5482         and not from `package-user-dir', which usually means it's from an
5483         entry in `package-directory-list'.  They are treated much like
5484         built-in packages, in that they cannot be through the Package Menu
5485         deleted and are not considered for upgrades.
5486         (package-desc-status): Identify if a package is installed outside
5487         `package-user-dir'.
5488         (package-menu--print-info-simple)
5489         (package-menu--status-predicate): Add support for it.
5490         * etc/NEWS: Document it.
5492 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5494         * lisp/mail/rmail.el: Use lexical-binding
5495         (rmail-bury): Remove unused var `buffer-to-bury'.
5496         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
5497         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
5498         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
5499         (rmail-insert-inbox-text): Remove unused var `movemail'.
5500         (rmail-add-mbox-headers): Remove unused var `limit'.
5501         (rmail-undelete-previous-message): Remove unused var `value'.
5502         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
5503         `resent-reply-to'.
5504         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
5505         (rmail-restore-desktop-buffer): Rename arguments.
5507 2015-05-06  Glenn Morris  <rgm@gnu.org>
5509         * Makefile.in (change-history-commit): Add missing piece of previous.
5511         Avoid unnecessary bumping of Makefile.in's timestamp.
5512         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
5513         (emacslog): New variable.
5514         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
5515         (unchanged-history-files): Use $emacslog rather than Makefile.in.
5516         (change-history-nocommit): Store hash in $emacslog.
5517         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
5518         * admin/update_autogen (changelog_files): Update for the above.
5520         * Makefile.in: Don't always insist on removing existing "ChangeLog".
5521         (CHANGELOG): New variable.
5522         (no-ChangeLog): Remove.
5523         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
5524         (change-history-nocommit): Use a temp file rather than insisting
5525         on deletion of any existing "ChangeLog".
5527         * build-aux/gitlog-to-emacslog: Allow specification of output.
5529         * admin/update_autogen: Add option to update ChangeLog.
5530         (usage): Mention -H.
5531         (changelog_flag, changelog_n, changelog_files): New variables.
5532         (main): Check for -H, and maybe run change-history-nocommit.
5534 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5536         * lisp/subr.el (delete-dups): Pre-size the hashtable.
5538         (define-modify-macro): Make sure cl--arglist-args is defined
5539         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
5540         cl--arglist-args is defined (bug#20517).
5542 2015-05-06  Glenn Morris  <rgm@gnu.org>
5544         * Makefile.in (change-history-nocommit): New.
5546 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
5548         Only cancel timer when it is non-nil
5549         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
5550         timer when it is non-nil
5551         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
5553 2015-05-06  Glenn Morris  <rgm@gnu.org>
5555         Quieten cedet compilation
5556         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
5557         Invert fboundp test to quieten on current Emacs.
5558         * lisp/cedet/ede/config.el (ede-shell-run-something)
5559         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
5560         (semanticdb-refresh-table): Declare.
5561         (ede-preprocessor-map): Require semantic/db.
5563         Quieten cc-mode compilation
5564         * lisp/progmodes/cc-awk.el (c-forward-sws):
5565         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
5566         Declare.
5568 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
5570         lisp/subr.el (delete-dups): Avoid nreverse.
5572 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
5574         * lisp/subr.el (delete-dups): Make it destructive again.
5576 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
5578         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
5580 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5582         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
5583         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
5584         (testcover--read): Rename from testcover-read.  Change calling convention.
5585         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
5586         (testcover-start): Use add-function.  Move edebug-all-defs binding to
5587         testcover--read.
5588         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
5589         (testcover-mark): Remove unused var `item'.
5590         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
5592 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
5594         lisp/subr.el (delete-dups): Use a hash table
5595         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
5596           use a hash table. This can result in ~500 times speed-up for typical
5597           collections of size 5000, like that of `load-library'.
5599 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5601         CEDET: Avoid `oref' on classes in a few more cases
5602         * lisp/cedet/ede/generic.el (ede-find-target):
5603         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
5604         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
5605         var `prefix'.
5607         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
5608         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
5609         (semantic-symref-perform-search): Remove unused var `pat'.
5611         CEDET (srecode-compile-inserter): Avoid `oref' on classes
5612         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
5613         Avoid `oref' on classes (bug#20491).
5614         (srecode-compile-split-code): Remove unused var `key'.
5616 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
5618         Clean up pulse.el a little
5619         * lisp/cedet/pulse.el (pulse): Remove.
5620         (pulse-momentary-timer): Save instead of the stop time.
5621         (pulse-momentary-highlight-overlay): Call
5622         pulse-momentary-unhighlight first thing. Treat
5623         pulse-momentary-overlay as a single value, not a list. Save the
5624         created timer. Only pass the stop time to the timer.
5625         (pulse-tick): Update accordingly.
5626         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
5627         single value. Cancel the timer.
5629 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
5631         Support the biblatex journaltitle field
5632         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
5633         Support the biblatex journaltitle field.
5635 2015-05-05  Glenn Morris  <rgm@gnu.org>
5637         Minor declare-function improvement
5638         * lisp/emacs-lisp/bytecomp.el
5639         (byte-compile-macroexpand-declare-function):
5640         Handle declarations after calls.  (Bug#20509)
5642         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
5644         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
5646 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
5648         Pulse using a timer
5649         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
5650         (pulse-momentary-highlight-overlay): Set up the timer instead of
5651         calling `pulse'
5652         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
5653         (pulse-tick): New function.
5654         (pulse-momentary-unhighlight): Cut off the stop time.
5655         (pulse-delay): Update the docstring WRT to not using sit-for.
5657         Add semantic/symref/grep file patterns for ruby-mode
5658         * lisp/cedet/semantic/symref/grep.el
5659         (semantic-symref-filepattern-alist): Add patterns for
5660         ruby-mode. Clarify the docstring.
5662         Don't require match
5663         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
5664         match. That doesn't work for every command, and some identifier
5665         completion tables are bound to be imperfect anyway.
5667 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
5669         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
5670         (semantic-grammar--template-expand): New function.
5671         (semantic-grammar-header, semantic-grammar-footer): Use it.
5672         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
5673         (semantic-grammar-file-regexp): Refine regexp.
5674         (semantic-grammar-eldoc-get-macro-docstring):
5675         Use elisp-get-fnsym-args-string when available.
5676         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
5677         instead of the old eldoc-* names.
5678         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
5679         from elisp-mode.el.  Tweak calling convention.
5680         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
5681         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
5682         elisp--get-fnsym-args-string.
5683         (elisp--highlight-function-argument): Add `prefix' arg.
5684         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
5685         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
5687 2015-05-05  Glenn Morris  <rgm@gnu.org>
5689         * lisp/help-fns.el (describe-function-1):
5690         Handle builtins with advertised calling conventions.  (Bug#20479)
5692 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
5694         Merge branch 'seq-let'
5696         Update `seq-let' documentation
5697         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
5698         with the support of  `&rest'.
5700         Add support for &rest in `seq-let'
5701         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
5702         in the argument list.
5703         * test/automated/seq-tests.el: Add a test for parsing and binding
5704         `&rest' in `seq-let'.
5706 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
5708         Spelling fixes
5710 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
5712         * eieio-custom.el (eieio-object-value-get): Add missing increment
5713         (Bug#20467)
5715         (eieio-object-value-create): Adjust to new slots representation
5716         (Bug#20467)
5717         * eieio-custom.el (eieio-object-value-create):
5718         Fix missed adjustment to new representation of slots metadata.
5720 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
5722         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
5724 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
5726         Work around "Attempt to modify read-only object"
5727         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
5728         elisp--xref-find-definitions, to work around "Attempt to modify
5729         read-only object" error.
5731         Only skip some variables that have function counterparts
5732         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
5733         Only skip minor-mode-named variable if it's defined in a Lisp
5734         file, and it's in minor-mode-list (bug#20506).
5735         * test/automated/elisp-mode-tests.el
5736         (elisp-xref-finds-both-function-and-variable)
5737         (elisp-xref-finds-only-function-for-minor-mode): New tests.
5739 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5741         Buttonize the whole line, including the number at the beginning
5742         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
5743         previous change.
5744         (xref--insert-xrefs): Buttonize the whole line, including the
5745         number at the beginning.
5747         Make sure we're inside the let bindings
5748         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5749         Make sure we're inside the let bindings.
5750         * test/automated/elisp-mode-tests.el
5751         (elisp-completes-functions-after-let-bindings): New test.
5753 2015-05-04  Glenn Morris  <rgm@gnu.org>
5755         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
5756         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
5757         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
5758         Remove outdated declarations.
5760         Replace instances of "(eval-when-compile (autoload ...))"
5761         * lisp/gnus/gnus-art.el (nneething-get-file-name):
5762         Declare rather than autoload.
5763         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
5764         Remove pointless autoload.
5765         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
5766         (gnus-topic-create-topic, gnus-topic-enter-dribble):
5767         Declare rather than autoload.
5768         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
5769         (mailcap-extension-to-mime): Autoload at run-time.
5770         * lisp/gnus/mm-util.el (latin-unity-massage-name)
5771         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
5772         (latin-unity-representations-present-region):
5773         Declare rather than autoload.
5774         * lisp/gnus/mml-smime.el (epg-make-context)
5775         (epg-passphrase-callback-function): Autoload at run-time.
5776         (epg-context-set-signers, epg-context-result-for)
5777         (epg-new-signature-digest-algorithm)
5778         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
5779         (epg-sign-string, epg-encrypt-string)
5780         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
5781         (epg-configuration, epg-expand-group, epa-select-keys):
5782         Declare rather than autoload.
5783         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
5784         Autoload at run-time.
5785         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
5786         (gnus-registry-get-id-key, gnus-registry-action):
5787         Declare rather than autoload.
5788         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
5789         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
5790         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
5791         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
5792         (spam-stat-split-fancy): Remove pointless autoloads.
5793         * lisp/net/mairix.el: Load gnus-util when compiling.
5794         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
5795         (message-field-value): Declare rather than autoload.
5796         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
5797         Check gnus-alive-p is fbound.
5798         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
5799         (vm-check-for-killed-summary, vm-error-if-folder-empty)
5800         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
5801         Declare rather than autoload.
5803         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
5805         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
5806         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
5808         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
5810         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
5812         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
5813         * lisp/emacs-lisp/package.el (epg-signature-status):
5814         Fix declarations.
5816         * lisp/play/gametree.el (gametree-show-children-and-entry)
5817         (gametree-apply-layout, gametree-mouse-show-subtree)
5818         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
5820         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
5821         Handle cl-defgeneric, cl-defmethod.
5823 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5825         Highlight both type and symbol name
5826         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
5827         Highlight both type and symbol name.
5829         Insert, highlight and align line numbers in xref output
5830         * lisp/progmodes/etags.el (xref-location-line): Specialize for
5831         xref-etags-location.
5832         * lisp/progmodes/xref.el (xref-location-line): New generic method.
5833         (xref-file-location): Add reader for the line slot.
5834         (xref--location-at-point): Skip to the `xref-location' property.
5835         (xref--collect-reference): Drop the line number from description.
5836         (xref--insert-xrefs): Insert, highlight and align line numbers.
5838 2015-05-04  Daniel Colascione  <dancol@dancol.org>
5840         Fix previous commit
5842 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5844         Don't pulse the indentation, or the newline
5845         * lisp/cedet/pulse.el (pulse-lighten-highlight)
5846         (pulse-reset-face): Fall back to the inherited background
5847         attribute in FACE.
5848         (pulse-momentary-highlight-region): Add autoload cookie.
5849         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
5850         indentation, or the newline, if the line's non-empty
5851         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
5853 2015-05-04  Daniel Colascione  <dancol@dancol.org>
5855         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
5856         * doc/lispref/positions.texi (Excursions): Document
5857         `save-mark-and-excursion'.
5858         * lisp/font-lock.el (font-lock-fontify-block): Use
5859         `save-mark-and-excursion' instead of `save-excursion', restoring
5860         Emacs 24 behavior.
5861         * lisp/simple.el (save-mark-and-excursion--save)
5862         (save-mark-and-excursion--restore): New functions.
5863         (save-mark-and-excursion): New user macro.
5864         * src/editfns.c (Fsave_excursion): Mention
5865         `save-mark-and-excursion' in `save-excursion' documentation.
5867 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5869         Classify lone symbol inside let varlist as variable
5870         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5871         Classify lone symbol inside let varlist as variable.
5872         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
5873         New test.
5875         Add xref-pulse-on-jump
5876         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
5877         Add autoload cookie.
5878         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
5879         (xref--maybe-pulse): New function.
5880         (xref-pop-marker-stack, xref--pop-to-location)
5881         (xref--display-position): Use it.
5882         (xref--location-at-point): Use back-to-indentation.
5884 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
5886         * lisp/org/org-{macs,list}.el: Fix lexical warnings
5887         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
5888         (org-list-get-next-item, org-list-get-prev-item)
5889         (org-list-get-children): Mark unused arg `struct'.
5890         (org-list-use-alpha-bul-p): Remove unused var `bul'.
5891         (org-toggle-checkbox): Mark unused var.
5892         (org-update-checkbox-count): Remove unused var `box-num'.
5893         (org-adapt-indentation): Declare.
5894         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
5895         (org-list-send-list): Remove unused var `txt'.
5896         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
5897         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
5898         * lisp/org/org-macs.el: Use `declare'.
5899         (org-with-limited-levels): Declare dyn-bound vars.
5901 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
5903         Fix minor issues with CEDET on MS-Windows
5904         * lisp/cedet/semantic/symref/idutils.el
5905         (semantic-symref-parse-tool-output-one-line): Fix the search
5906         regexp to match MS-Windows file names with drive letters.
5907         (Bug#19468)
5908         * lisp/cedet/semantic/symref/grep.el
5909         (semantic-symref-grep-use-template): Remove "--color=always" from
5910         Grep switches on MS-Windows.
5911         (semantic-symref-grep-shell): Use shell-file-name as the default
5912         value, so this works not only on Posix platforms.
5913         (semantic-symref-perform-search): Use shell-quote-argument instead
5914         of literal '..' for portable quoting of Grep command-line
5915         argument.  Use shell-command-switch instead of a literal "-c".
5916         * lisp/cedet/semantic/bovine/gcc.el
5917         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
5918         for an absolute file name in a portable way.
5920 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
5922         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
5923         (package-import-keyring, package-refresh-contents)
5924         (package-compute-transaction, package--save-selected-packages)
5925         (package-install-from-archive, package-delete)
5926         (package-menu--perform-transaction): Use `inhibit-message'
5927         instead.
5928         (package--compile): Set `warning-minimum-level' to :error.
5930 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
5932         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
5933         (terminal-init-screen): Use it (bug#20356).
5934         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
5935         (xterm--extra-capabilities-type): New const.
5936         (xterm-extra-capabilities): Use it.
5937         (xterm--version-handler): Lower the pseudo-version for `screen'.
5939 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
5941         xref--insert-xrefs: Tweak the faces
5942         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
5943         Always insert a newline at the end (to avoid mouse-face background
5944         tail at the last line).
5946         elisp-completion-at-point: Prioritize being quoted over funpos
5947         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5948         Only consider function position when not inside quoted form
5949         (bug#20425).
5950         * test/automated/elisp-mode-tests.el: New file.
5952         Stop vc-print-log from jumping to the top
5953         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
5954         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
5955         is not specified.
5956         (vc-incoming-outgoing-internal): Always pass nil.
5957         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
5958         call it, and don't set vc-sentinel-movepoint (bug#15322).
5959         (vc-print-root-log): Don't fetch the root working revision, nor
5960         pass it to vc-print-log-internal.
5962 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
5964         Fix display of keyboard layouts for right-to-left scripts
5965         * lisp/international/quail.el (quail-insert-kbd-layout): Force
5966         left-to-right paragraph direction.
5968 2015-05-02  K. Handa  <handa@gnu.org>
5970         * cmds.c (internal_self_insert): When we insert spaces for
5971         padding, set point before the padding spaces, not after them.
5973 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
5975         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
5977 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
5979         Fix etags-xref-find for references
5980         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
5981         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
5982         directory if no tags tables are loaded (bug#19468).
5984 2015-05-02  Philipp Stephani  <phst@google.com>
5986         Update the options in whitespace-style defcustom
5987         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
5988         `repeat' because the option is really set-like.  Add missing
5989         options.  Reorder options to match the order in the
5990         documentation.  (Bug#20346)
5992 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
5994         Fix error diagnostics of c-macro-expand
5995         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
5996         too early if no start-marker string was found -- that generally
5997         means cpp exited abnormally, and we still want to show its error
5998         messages to the user.
6000         Don't require Texinfo 5.0 for Emacs documentation
6001         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
6002         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
6003         "@codequoteundirected on", respectively, to avoid requiring
6004         Texinfo 5.x for Emacs documentation.
6006 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
6008         * lisp/files.el (pwd):
6009         When called with a prefix argument, insert the current default
6010         directory at point.
6012 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
6014         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
6015         * lisp/isearch.el (isearch-mode-map): Don't inhibit
6016         function-key-map remapping for backspace (bug#20466).
6018 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
6020         Implement xref-find-references in etags and elisp-mode
6021         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
6022         (elisp-xref-find): Use it.
6023         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
6024         * lisp/progmodes/xref.el (xref-collect-references):
6025         (xref--collect-reference): New functions.
6027 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6029         Prefer plain characters to Texinfo circumlocutions
6030         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
6031         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
6033         Fix single-quoting style in PDF manuals
6034         The PDF versions of the GNU manuals used curved single quotes to
6035         represent grave accent and apostrophe, which made it a pain to cut
6036         and paste code examples from them.  Fix the PDF versions to use
6037         grave accent and apostrophe for Lisp source code, keystrokes, etc.
6038         This change does not affect the info files, nor does it affect
6039         ordinary uses of curved single quotes in PDF.
6040         * doc/emacs/docstyle.texi: New file, which specifies treatment for
6041         grave accent and apostrophe, as well as the document encoding.
6042         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
6043         * doc/lispintro/emacs-lisp-intro.texi:
6044         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
6045         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
6046         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
6047         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
6048         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
6049         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
6050         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
6051         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
6052         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
6053         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
6054         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
6055         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
6056         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
6057         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
6058         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
6059         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
6060         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
6061         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
6062         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
6063         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
6064         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
6065         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
6066         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
6067         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
6068         * doc/misc/woman.texi:
6069         Use it instead of '@documentencoding UTF-8', to lessen the need for
6070         global changes like this in the future.
6071         * doc/emacs/Makefile.in (EMACS_XTRA):
6072         * doc/lispintro/Makefile.in (srcs):
6073         * doc/lispref/Makefile.in (srcs):
6074         Add dependency on docstyle.texi.
6075         * doc/misc/Makefile.in (style): New macro.
6076         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
6077         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
6078         Use it.
6080 2015-05-01  Glenn Morris  <rgm@gnu.org>
6082         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
6084         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
6085         (help-fns--signature): Declare.
6087         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
6089 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
6091         New macro seq-let, providing destructuring support to seq.el
6092         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
6093         to `cl-destructuring-bind' but works on all sequence types supported
6094         by `seq.el'.  Bump version number to 1.6.
6095         * test/automated/seq-tests.el: Add tests for seq-let.
6096         * doc/lispref/sequences.texi: Add documentation for seq-let.
6098 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
6100         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
6102 2015-05-01  Glenn Morris  <rgm@gnu.org>
6104         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
6106 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
6108         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
6109         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
6110         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
6111         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
6112         (Bug#20445).
6114 2015-05-01  K. Handa  <handa@gnu.org>
6116         * mule-cmds.el (input-method-use-echo-area): Change :type to
6117         'boolean.
6119 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6121         Start using proportional fonts in eww by default
6122         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
6123         it seems to work well.
6125         Fix links in tables in shr
6126         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
6127         makes (some) links in tables not work.
6129 2015-05-01  Jan D  <jan.h.d@swipnet.se>
6131         (ns-get-cut-buffer-internal): Remove this alias.
6132         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
6134 2015-04-30  Glenn Morris  <rgm@gnu.org>
6136         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
6137         Update for 2015-02-08 change to indirect-function.
6139         * lisp/term/ns-win.el (ns-get-selection-internal):
6140         Remove declaration for function deleted 2014-10-21.
6142         * lisp/dom.el: Load subr-x when compiling, for when-let.
6144         Silence some compilation warnings
6145         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
6146         * lisp/emulation/cua-base.el (delete-active-region):
6147         * lisp/net/net-utils.el (w32-get-console-output-codepage):
6148         * lisp/term/ns-win.el (ns-own-selection-internal)
6149         (ns-disown-selection-internal, ns-selection-owner-p)
6150         (ns-selection-exists-p, ns-get-selection):
6151         Declare for compiler..
6153         Function declaration updates prompted by 'make check-declare'
6154         * lisp/emacs-lisp/package.el (lm-homepage):
6155         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
6156         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
6157         * lisp/gnus/mml.el (libxml-parse-html-region):
6158         * lisp/gnus/nnrss.el (libxml-parse-html-region):
6159         * lisp/net/eww.el (libxml-parse-html-region):
6160         * lisp/net/shr.el (libxml-parse-html-region):
6161         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
6162         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
6163         * lisp/vc/vc-git.el (vc-annotate-convert-time):
6164         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
6165         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
6166         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
6167         Update declaration.
6169         Remove compatibility code for 20-year old function renaming
6170         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
6171         Make it an obsolete alias.
6172         (idlwave-shell-filter): Change all uses to comint-output-filter.
6174 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
6176         Add ace-window face config
6177         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
6178         configuration.
6180 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
6182         Unclutter 'make doc' output a bit
6183         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
6184         Use make subst rather than sh IFS to split target string apart.
6185         This makes 'make' output easier to follow.
6187         Merge from gnulib
6188         * doc/misc/texinfo.tex: Update from gnulib.
6190 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
6192         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
6193         (package-menu--print-info): Obsolete.
6194         (package-menu--print-info-simple): New function.
6195         (package-menu--refresh): Use it, simplify code, and improve
6196         performance.
6197         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
6198         Tiny performance improvement.
6200         * lisp/emacs-lisp/package.el (package--message): inhibit-message
6202 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
6204         Omit -Wstrict-overflow workaround in GCC 5
6205         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
6206         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
6208         Merge from gnulib
6209         This incorporates:
6210         2015-04-29 extern-inline: no need for workaround in GCC 5.1
6211         2015-04-26 file-has-acl: port to CentOS 6
6212         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
6214 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
6216         Set next-error-* in xref--xref-buffer-mode
6217         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
6218         `next-error-last-buffer'.
6219         (xref--next-error-function): New function.
6220         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
6222 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6224         python.el: Fix warnings on looking-back calls missing LIMIT
6225         * lisp/progmodes/python.el (python-shell-accept-process-output):
6226         Pass LIMIT arg to looking-back.
6228 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6230         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
6231         (package--download-and-read-archives): Use pushnew instead of
6232         append.  If something terrible happened during a previous
6233         download, simply refreshing should now make things work again.
6235 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
6237         Introduce etags-xref-find-definitions-tag-order
6238         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6239         New variable.
6240         (etags--xref-find-definitions): Use it (bug#19468).
6242 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
6244         PATH- and completion-related fixes in Eshell on MS-Windows
6245         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
6246         MS-Windows, prepend "." to list of directories produced from PATH,
6247         as Windows always implicitly searches the current directory first.
6248         (eshell-force-execution): Make it have a non-nil default value on
6249         MS-Windows and MS-DOS.
6250         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
6251         eshell-force-execution is non-nil, complete on readable files and
6252         directories, not only executables.  When running on MS-Windows,
6253         prepend "." to list of directories produced from PATH, as Windows
6254         always implicitly searches the current directory first.
6256 2015-04-29  Sam Steingold  <sds@gnu.org>
6258         bury RCIRC buffers when there is no activity
6259         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
6260         (rcirc-bury-buffers): new function
6261         (rcirc-next-active-buffer): when there is no new activity, use
6262         `rcirc-bury-buffers' to hide all RCIRC buffers
6264 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
6266         Fix DBUS query result parsing for secrets-search-items
6267         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
6268         parsing.  The function assumed that return value of the
6269         SearchItems method called on a collection is a list of two lists,
6270         however this is true only when no collection is specified.  GNOME
6271         had used to incorrectly return a list of two lists in both cases,
6272         but this was already fixed:
6273         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
6274         incorrect information in the secrets-search-items’ docstring.
6275         (Bug#20449)
6277 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6279         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
6280         (byte-compile--message): Use `inhibit-message' instead of hiding
6281         the previous message with (message nil).
6283 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
6285         Remove the deprecated INTERNAL_FIELD macro by expanding it
6286         * src/lisp.h (INTERNAL_FIELD): Remove.
6287         (DEFVAR_KBOARD): Modify accordingly.
6288         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
6289         * syntax.c: Adjust users.
6290         * src/buffer.c (compact_buffer): Use BVAR.
6292 2015-04-29  Glenn Morris  <rgm@gnu.org>
6294         Replace an obsolete function alias
6295         * lisp/isearch.el (isearch-yank-x-selection):
6296         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
6297         (mouse-drag-secondary-moving):
6298         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
6299         Replace obsolete alias x-get-selection with gui-get-selection.
6301 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
6303         * lisp/mail/rmailsum.el: Use lexical-binding.
6305 2015-04-29  Glenn Morris  <rgm@gnu.org>
6307         * test/automated/package-test.el (package-test-update-archives-async):
6308         Skip test on hydra.nixos.org.
6310 2015-04-28  Glenn Morris  <rgm@gnu.org>
6312         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
6313         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
6314         (foldout-mouse-hide-or-exit): Use new names for outline functions.
6316         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
6317         Update for 2014-06-26 hideif.el change.
6319         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
6320         (rmail--decode-and-apply): New function.
6321         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
6323         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
6325 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6327         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
6328         (package-menu--refresh): Delegate obsolete-hiding to
6329         `package--remove-hidden'.
6330         (package--remove-hidden): Disregard high-priority package if it is
6331         older than the installed one.
6333 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
6335         Update source file encoding list
6336         Update admin/notes/unicode, along with coding system cookies in
6337         other files, so that the two match each other better.
6338         * admin/notes/unicode: lisp/language/ethio-util.el and
6339         lisp/language/ethiopic.el also use utf-8-emacs.
6340         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
6341         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
6342         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
6343         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
6344         * etc/refcards/sk-survival.tex:
6345         Add "coding: utf-8" so that this file is not mishandled in a
6346         Latin-1 or Big-5 locale.
6347         * lisp/international/robin.el, lisp/org/ox-ascii.el:
6348         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
6349         * lisp/language/ethio-util.el: Fix trailer.
6351 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
6353         Fix synchronous invocation of Ispell
6354         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
6355         value to ispell-process-directory before calling ispell-init-process.
6356         Don't call set-process-coding-system if ispell-async-processp is nil.
6357         (Bug#20448)
6359 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6361         * lisp/emacs-lisp/package.el: Skip space and comments in init file
6362         (package--ensure-init-file): Insert snippet at first
6363         non-whitespace non-comments line.  Respects local-vars at the top
6364         of the file.
6366 2015-04-28  Glenn Morris  <rgm@gnu.org>
6368         * lisp/mail/rmail.el (rmail-copy-headers):
6369         Handle rmail-nonignored-headers being nil.  (Bug#18878)
6371         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
6373         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
6374         Don't get confused by a bzrlib version mismatch warning.
6376 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6378         Change default location of EUDC options file
6379         * NEWS: Document change to EUDC options file's default location.
6380         * lisp/net/eudc-vars.el (eudc-options-file): Use
6381         `locate-user-emacs-file' to change default options file location.
6383 2015-04-27  Glenn Morris  <rgm@gnu.org>
6385         * test/automated/package-test.el (package-test-update-archives-async):
6386         Try to handle the test server script dying.
6388 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6390         * lisp/saveplace.el (save-place-mode): New minor mode.
6391         (save-place): Redefine as an obsolete alias.
6393         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
6394         * lisp/midnight.el: Use lexical-binding.
6395         (midnight-mode): Make it a proper minor mode.
6396         (midnight-buffer-display-time): Make arg non-optional.
6397         (midnight-find): Remove.
6398         (clean-buffer-list-kill-never-regexps)
6399         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
6400         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
6401         contain functions.
6402         (clean-buffer-list): Use cl-find.
6403         Allow clean-buffer-list-kill-never-regexps to contain functions.
6405 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
6407         Bump version of seq.el to 1.5
6408         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
6409           from seq-doseq.  Bump version number of seq.el.
6411 2015-04-27  Glenn Morris  <rgm@gnu.org>
6413         * lisp/mail/rmail.el (rmail-reply):
6414         Decode subject before matching "Re:" prefix.  (Bug#20396)
6416 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
6418         * lisp/emacs-lisp/package.el: Small improvements
6419         (package--with-work-buffer-async): More informative error.
6420         (package-install-user-selected-packages): Rename to
6421         `package-install-selected-packages'.
6423 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6425         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
6426         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
6427         (eieio--class-make): Remove leftover `tag'.
6429 2015-04-27  Glenn Morris  <rgm@gnu.org>
6431         * lisp/gnus/message.el (gnus-extract-address-components):
6432         Remove bogus declaration that was masking previous problem.
6434 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
6436         * lisp/gnus/message.el (message-insert-formatted-citation-line):
6437         Fix typo.  (Bug#20318)
6439 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6441         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
6443         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
6444         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
6445         the buffer in yet another frame.
6446         (reftex-toc-visit-location): Make sure toc-window has focus at the end
6447         when `final' is nil.
6448         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
6449         silence warnings.  Use `--' to clarify that it's internal.
6450         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
6451         (reftex-toc-promote): Clarify unused argument.
6452         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
6453         Add `reftex--' prefix.  Fix all users.
6454         (reftex-toc-promote-prepare): Use _ for dummy variable.
6455         (reftex-toc-restore-region): Rename `m
6457 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
6459         Fix a typo in bibtex.el
6460         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
6461         last change.  (Bug#20429)
6463         Fix redisplay of frame after loading new fonts
6464         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
6465         frame because new fonts were loaded, disable all redisplay
6466         optimizations on that frame by calling SET_FRAME_GARBAGED.
6467         (Bug#20410)
6469 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6471         * lisp/info.el (Info-menu): Properly provide the `default'
6472         (Bug#20391)
6474         * elisp-mode.el: Catch errors from `documentation'
6475         (Bug#20418)
6476         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
6477         Catch errors from documentation.
6478         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
6480 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
6482         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
6483         Remove redundant ":group 'package".
6485 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
6487         Fix a typo in rmail.el
6488         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
6489         last commit.  (Bug#20429)
6491 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
6493         Introduce xref-prompt-for-identifier
6494         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
6495         (xref--read-identifier): Use it
6496         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
6498 2015-04-26  João Távora  <joaotavora@gmail.com>
6500         `tex-insert-quote' after single `'' opens quotes instead of closing
6501         Without this, it's very hard to precede double quotes with the
6502         apostrophe character, i.e. insert the sequence '``
6503         (quote-backquote-backquote), commonly useful in portuguese, for
6504         instance.
6505         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
6506         chars making `tex-insert-quote' be in the "opening" context.
6508 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
6510         Pass `id' to `completing-read' as def instead of initial input
6511         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
6512         as the default value instead of initial input
6513         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
6515 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6517         Don't freeze with unreadable processes
6518         Don't freeze if an exiting process can't be read from. (Bug#19860).
6519         This fixes a bug I introduced in
6520         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
6521         "* process.c: Add sanity checks for file descriptors."
6522         Dmitry Gutov did most of the legwork in finding the problem.
6523         * src/process.c (wait_reading_process_output):
6524         Treat non-running processes that can't be read from
6525         the same as other non-running processes.
6527 2015-04-25  Alan Mackenzie  <acm@muc.de>
6529         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
6530         * lisp/subr.el (remove-yank-excluded-properties): put
6531         `with-silent-modifications' around only the last three lines of code.
6533 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
6535         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
6536         (package--all-keywords): Deleted variable.
6538         * etc/NEWS: Document package-hiding functionality
6540 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
6542         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
6544         Clarify the doc string of 'replace-regexp-in-string'
6545         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
6547         Improve doc string of 'insert-buffer-substring'
6548         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
6550         MS-Windows followup for the recent gnulib update
6551         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
6552         acl-internal.c.
6554 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6556         Spelling fixes
6558         Merge from gnulib
6559         This incorporates:
6560         2015-04-24 file-has-acl: new module, split from acl
6561         2015-04-24 manywarnings: add GCC 5.1 warnings
6562         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
6563         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
6564         2015-04-15 acl: On Linux, check for acls without libacl
6565         2015-04-14 tempname: avoid unused parameter warnings (trivial)
6566         * lib/acl-internal.c: New file, from gnulib.
6567         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
6568         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
6569         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
6570         Update from gnulib.
6572         Port --enable-gcc-warnings to GCC 5.1 x86-64
6573         * lib-src/ebrowse.c (dump_sym):
6574         * lib-src/hexl.c (main):
6575         * src/ccl.c (ccl_driver):
6576         * src/character.c (string_escape_byte8):
6577         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
6578         * src/gnutls.c (Fgnutls_boot):
6579         * src/gtkutil.c (xg_check_special_colors):
6580         * src/image.c (x_build_heuristic_mask):
6581         * src/print.c (safe_debug_print, print_object):
6582         * src/term.c (produce_glyphless_glyph):
6583         * src/xdisp.c (get_next_display_element)
6584         (produce_glyphless_glyph):
6585         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
6586         Don't use a signed format to print an unsigned integer, or vice
6587         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
6588         * src/image.c (png_load_body, jpeg_load_body):
6589         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
6591 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
6593         Add new faces to tsdh-light-theme
6594         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
6595         definitions for Info-quoted, ace-jump-face-foreground,
6596         hl-paren-face, show-paren-match, and show-paren-mismatch.
6598 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
6600         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
6602 2015-04-24  Glenn Morris  <rgm@gnu.org>
6604         * build-aux/gitlog-to-emacslog:
6605         Use raw log format rather than wrapped one.
6607 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
6609         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
6610         (seq-doseq): Fix out-of-scope binding.
6611         Don't call `seq-length at every iteration.
6612         Reduce `if's from 3 to 2 per iteration.
6613         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
6615 2015-04-24  Glenn Morris  <rgm@gnu.org>
6617         * lisp/textmodes/text-mode.el (text-mode-hook):
6618         Move text-mode-hook-identify to default.
6620         * lisp/mouse.el (minor-mode-menu-from-indicator):
6621         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
6623         * lisp/help-fns.el (describe-function): More type checking.
6624         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
6626         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
6627         (Bug#20325)
6629 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
6631         shr: strip leading whitespace when expanding URLs
6632         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
6634 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
6636         Clarify "co-authored" some more
6638         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
6640         Clarify doc strings of functions that search for properties
6641         * src/textprop.c (Fnext_char_property_change)
6642         (Fprevious_char_property_change)
6643         (Fnext_single_char_property_change)
6644         (Fprevious_single_char_property_change, Fnext_property_change)
6645         (Fnext_single_property_change, Fprevious_property_change)
6646         (Fprevious_single_property_change): Clarify doc strings wrt return
6647         value and the optional LIMIT argument.  (Bug#20411)
6649 2015-04-24  Glenn Morris  <rgm@gnu.org>
6651         * test/automated/message-mode-tests.el (message-mode-propertize):
6652         Handle non-writable HOME; eg on hydra.nixos.org.
6654 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
6656         Avoid starting threads by w32-shell-execute
6657         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
6658         local file names, before invoking ShellExecute.  (Bug#20220)
6660 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
6662         Fix following doc-links in `widget-documentation-link-action'
6663         * lisp/wid-edit.el (widget-documentation-link-action): Make
6664         following doc-links less simplistic (Bug#20398).
6666 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6668         Improve EUDC manual
6669         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
6671 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6673         Omit needless "\ " after multibyte then newline
6674         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
6675         (print_object): When print-escape-multibyte is non-nil and a
6676         multibyte character is followed by a newline or formfeed, followed
6677         by a hex digit, don't output a needless "\ " before the hex digit.
6678         * test/automated/print-tests.el (print-hex-backslash): New test.
6680 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
6682         Add a new `inhibit-message' variable
6683         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
6684         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
6685         `inhibit_message' is non-zero.
6686         * etc/NEWS: Add an entry.
6687         * doc/lispref/display.texi: Add an entry for `inhibit-message',
6688           mention it in `message'.
6690 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
6692         Fix last fix in `display-buffer-record-window'.
6693         * lisp/window.el (display-buffer-record-window): Fix last fix.
6695 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
6697         Minor edits in CONTRIBUTE
6698         * CONTRIBUTE: Rearrange instructions about log messages.
6699         Use "Git" capitalized all over.
6700         Use 2 spaces between sentences.
6702 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
6704         * lisp/files.el (basic-save-buffer): Fix argument
6706         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
6707         In case `(and (null custom-file) init-file-had-error)' do the same
6708         thing we'd do if `(null user-init-file)', which is to either error out
6709         or return nil.  This is in line with `custom-save-all' which would
6710         throw an error in that situation. (bug#20355)
6712         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
6713         (package-menu-hide-low-priority): New variable, see its doc.
6714         (package-archive-priorities): Update doc.
6715         (package-desc-priority): New function.
6716         (package-desc-priority-version): Use it.
6717         (package--remove-hidden): New function.
6718         (package-menu--refresh): Use it.
6720         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
6721         (package-menu--hide-obsolete): New variable.
6722         (package--remove-hidden): Use it.
6723         (package-menu-hide-obsolete): New interactive function to toggle
6724         the variable.
6725         (package--quick-help-keys): Document it.
6726         (package-menu-async): Add :version tag.
6727         (package-menu-mode-map): Bind package-menu-hide-obsolete.
6728         (package-desc-status): Indicate non-installed obsolete packages as
6729         avail-obso.
6730         (package-menu-mark-install): Allow installation of avail-obso.
6731         (package-menu--status-predicate): Sort avail-obso with available.
6733 2015-04-22  Alan Mackenzie  <acm@muc.de>
6735         On C-y, stop some text property entries being written into buffer-undo-list
6736         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
6737         `with-silent-modifications'.
6739 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
6741         In display-buffer-record-window record selected window if necessary.
6742         * lisp/window.el (display-buffer-record-window): Store selected window
6743         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
6745 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
6747         Fix reftex-citation bug
6748         * reftex-cite.el (reftex-extract-bib-entries): Fix
6749         `wrong-type-argument stringp nil' error that occurs when AUCTeX
6750         integration is enabled and there are no citations in the document
6751         so far.
6753 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
6755         Add or reset based on the presence of MERGE_HEAD
6756         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
6757         `vc-git-resolve-when-done' to `after-save-hook' in either case.
6758         (vc-git-conflicted-files): Add a TODO.
6759         (vc-git-resolve-when-done): Depending on the presence of
6760         MERGE_HEAD, either update the resolved file in the index, or
6761         remove it from there.  (Bug#20292)
6763 2015-04-21  Glenn Morris  <rgm@gnu.org>
6765         * lisp/custom.el (custom-declare-group): No need to purecopy
6766         custom-current-group-alist members following recent change to set
6767         it to nil before dumping.
6769         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
6770         (Bug#20399)
6772 2015-04-21  Daniel Colascione  <dancol@dancol.org>
6774         Unbreak no-op buffer save message
6775         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
6776         (basic-save-buffer): Accept called-interactively as an argument instead of
6777         directly invoking called-interactively-p, which will always yield nil
6778         in that context.
6780 2015-04-21  Alan Mackenzie  <acm@muc.de>
6782         CC Mode: Do nothing in before/after-change-functions for text property changes
6783         Fixes bug#20266.
6784         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
6785         yank-handled-properties buffer local, and remove 'category from it.
6786         (c-called-from-text-property-change-p): New function.
6787         (c-before-change): Don't do anything if a call of the new function
6788         returns non-nil.
6789         (c-after-change): Don't do much if a call of the new function returns
6790         non-nil.
6791         (c-extend-after-change-region): Put changes to text property 'fontified
6792         inside c-save-buffer-state.
6794 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
6796         Fix byte-compiler warnings about looking-back.
6797         * lisp/vc/log-view.el (log-view-end-of-defun-1):
6798         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
6799         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
6800         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
6801         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
6802         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
6803         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
6804         * lisp/org/org.el (org-insert-heading, org-sort-entries):
6805         * lisp/org/org-mouse.el (org-mouse-end-headline)
6806         (org-mouse-context-menu):
6807         * lisp/org/org-clock.el (org-clock-cancel):
6808         * lisp/man.el (Man-default-man-entry):
6809         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
6810         (rmail-ensure-blank-line):
6811         * lisp/mail/footnote.el (Footnote-delete-footnote):
6812         * lisp/mail/emacsbug.el (report-emacs-bug):
6813         * lisp/info.el (Info-follow-reference, Info-fontify-node):
6814         * lisp/info-look.el (info-lookup-guess-custom-symbol):
6815         * lisp/help-fns.el (help-fns--key-bindings):
6816         * lisp/files.el (hack-local-variables):
6817         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
6818         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
6819         (viper-complete-filename-or-exit):
6820         * lisp/emulation/viper-cmd.el (viper-backward-indent):
6821         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
6822         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
6823         * lisp/cus-edit.el (custom-face-edit-value-create):
6824         * lisp/calendar/todo-mode.el (todo-set-item-priority)
6825         (todo-filter-items-1, todo-convert-legacy-files)
6826         (todo-prefix-overlays): Add explicit second arg to looking-back.
6828 2015-04-20  Glenn Morris  <rgm@gnu.org>
6830         Avoid non-nil current-load-list at startup
6831         * src/process.c (init_process_emacs): Move Fprovide statement...
6832         (syms_of_process): ... to here.
6834         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
6836         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
6838 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
6840         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
6841         (Bug#20330)
6843 2015-04-20  Glenn Morris  <rgm@gnu.org>
6845         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
6847         Tweak exec-path in uninstalled case
6848         * src/callproc.c (init_callproc): If running uninstalled, do not
6849         include eventual installation libexec directory in exec-path.
6851 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
6853         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
6854         (package-menu-filter): Accept a list of keywords.
6855         (package--all-keywords): New variable to cache known keywords.
6856         (package-all-keywords): Populate it if necessary.
6857         (package-refresh-contents): Reset it.
6859         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
6860         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
6861         as special keywords which match agains package archive and status
6862         respectively.
6863         * etc/NEWS: Document it.
6865 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
6867         Describe and index "empty overlays".
6868         * doc/lispref/display.texi (Overlays): Improve indexing.
6869         (Managing Overlays): Describe "empty" overlays.
6870         (Overlay Properties, Finding Overlays): Add cross-reference to
6871         where empty overlays are described.
6873 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6875         Spelling fixes
6877         Quote 'like this' in top-level files
6878         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
6879         Prefer to single-quote 'like this' (instead of the older style
6880         `like this').
6881         * configure.ac: Fix some space-before-tab problems that 'git commit'
6882         complained about.
6884         Use bool for boolean in textprop.c, undo.c
6885         * src/textprop.c (soft, hard): Now constants instead of macros.
6886         (validate_plist): Rewrite to avoid need for boolean local.
6887         (interval_has_all_properties, interval_has_some_properties)
6888         (interval_has_some_properties_list, add_properties)
6889         (remove_properties, get_char_property_and_overlay)
6890         (Fnext_single_char_property_change)
6891         (Fprevious_single_char_property_change, add_text_properties_1)
6892         (Fremove_text_properties, Fremove_list_of_text_properties)
6893         (copy_text_properties):
6894         * src/tparam.c (tparam1):
6895         * src/undo.c (record_change, record_property_change)
6896         (syms_of_undo):
6897         Use 'true' and 'false' for booleans.
6899 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
6901         Call `smerge-start-session' even when dealing with a stash conflict
6902         * lisp/vc/vc-git.el (vc-git-find-file-hook):
6903         Call `smerge-start-session' even when dealing with a stash
6904         conflict (bug#20292).
6906 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
6908         Add option to eshell/clear to clear scrollback.
6909         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
6910         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
6911         scrollback contents are cleared.
6912         * etc/NEWS: Describe change.
6913         * doc/misc/eshell.texi: Add entry for `clear'.
6915 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6917         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
6918         where either will do.
6920 2015-04-19  Steve Purcell  <steve@sanityinc.com>
6922         Assume package archive-contents are UTF8-encoded
6923         * lisp/emacs-lisp/package.el (package--read-archive-file):
6924         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
6925         downloaded and cached archive-contents files, so that non-ASCII
6926         characters in package descriptions are displayed correctly in the
6927         `list-packages' menu. (Bug#20231)
6929 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
6931         Abort when looking at stashed changes
6932         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
6933         stashed changes (bug#20292).
6935 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6937         Refactor low-level printing for simplicity
6938         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
6939         PRINTPREPARE; doable now that we assume C99.  All callers changed.
6940         (PRINTCHAR): Remove, as it adds more mystery than clarity.
6941         All callers changed.
6942         (strout): Assume that caller computes length.  All callers changed.
6943         (print_c_string): New function.
6944         (write_string, write_string_1): Compute length instead of asking
6945         the caller to compute it.  All callers changed.
6946         (write_string): Simplify by using write_string_1.
6947         (write_string_1): Simplify by using print_c_string.
6948         (Fterpri): Compute default val more clearly.
6949         (Fprin1_to_string, print_object):
6950         Assume C99 to avoid unnecessary nesting.
6951         (print_object): Prefer print_c_string to multiple printchar, or
6952         to calling strout with -1 length.  Coalesce into sprintf when
6953         this is easy.
6955 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
6957         Prefer "Bug#1234" in commit messages (Bug#20325)
6958         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
6959         as this isn't useful for Git.
6960         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
6962 2015-04-18  Glenn Morris  <rgm@gnu.org>
6964         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
6965         (Bug#19506)
6967 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
6969         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
6970         (Bug#19505)
6972 2015-04-18  Glenn Morris  <rgm@gnu.org>
6974         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
6976         * doc/emacs/misc.texi (Sorting): Small edit.
6977         (Bug#19896)
6979         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
6981 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
6983         css-mode.el: Support multi-line comment filling
6984         (Bug#20256)
6985         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
6986         comment filling.
6987         (css-adaptive-fill): New function.
6988         (css-mode): Set `adaptive-fill-function'.
6989         (scss-mode): Set `comment-continue'.
6991 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
6993         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
6995 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
6997         Minor improvements in Bulgarian input methods
6998         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
6999         Replace U+042C with U+045D, as the former character is not used in
7000         the modern Bulgarian language.
7001         (Bug#20350)
7003 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7005         Improve EUDC manual
7006         * eudc.texi (LDAP Configuration): Mention simple and SASL
7007         authentication schemes.  Add index items.  Shorten example server
7008         name.
7010 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
7012         Don't show both feature and function with the same name
7013         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7014         Don't show both feature and function with the same name.
7016         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
7017         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7018         Avoid returning both the variable and the function for the same
7019         minor mode.
7021 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
7023         Fix fontification of keywords clobbered by the prompt.
7024         * lisp/comint.el (comint-output-filter): Remove the uses of
7025         with-silent-modifications I introduced as part of the last change.
7026         This fixes, e.g., erratically missing highlighting when running
7027         ./configure --help; ./configure in a shell-mode buffer with
7028         compilation-shell-minor-mode turned on.
7030 2015-04-17  Glenn Morris  <rgm@gnu.org>
7032         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
7034 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
7036         * lisp/indent.el (indent-region): Don't deactivate the mark
7037         (Bug#20357)
7039 2015-04-17  Sam Steingold  <sds@gnu.org>
7041         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
7043 2015-04-16  Leo Liu  <sdl.web@gmail.com>
7045         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
7047 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
7049         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
7051 2015-04-16  Glenn Morris  <rgm@gnu.org>
7053         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
7055 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
7057         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
7058         * configure.ac (LIBJPEG): Leave it empty for MinGW.
7060 2015-04-16  Glenn Morris  <rgm@gnu.org>
7062         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
7063         to avoid rogue setting after startup.
7065 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7067         Pre-4.6 GCC succeeds with unknown option
7068         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
7069         (Bug#20338)
7071 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7073         '[:graph:]' now excludes whitespace, not just ' '
7074         * doc/lispref/searching.texi (Char Classes):
7075         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
7076         sans whitespace (not sans space).
7077         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
7078         not just space.
7079         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
7081 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7083         (looking-back): Make the second arg non-optional.
7084         * lisp/subr.el (substitute-key-definition-key, special-form-p)
7085         (macrop): Drop deprecated second arg to indirect-function.
7086         (looking-back): Make the second arg non-optional.
7088         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
7089         command is actually sent to the shell.
7091 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7093         Port jpeg configuration to Solaris 10 with Sun C
7094         * configure.ac: Check for jpeglib 6b by trying to link it, instead
7095         of relying on cpp magic that has problems in practice.  Check for
7096         both jpeglib.h and jerror.h features.  Remove special case for
7097         mingw32, which should no longer be needed (and if it were needed,
7098         should now be addressable by hotwiring emacs_cv_jpeglib).
7099         (Bug#20332)
7101 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7103         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
7104         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
7105         Move to elisp-mode.el.
7106         (lisp-mode-variables): (Re)move elisp-specific settings.
7107         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
7108         from lisp-mode-variables.
7109         (elisp--font-lock-flush-elisp-buffers): New function, moved from
7110         lisp-mode.el.
7112         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
7113         Avoid pathological slowdown at top-level in large file.
7115 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7117         Standardize names of ChangeLog history files
7118         Suggested by Glenn Morris in:
7119         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7120         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
7121         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
7122         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
7123         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
7124         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
7125         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
7126         Remove.
7128         Split top-level entries into pre- and post-April 7
7129         This more clearly distingiushes pre-April-7 ChangeLog entries (which
7130         are for top-level files only) from post-April-7 entries (which are
7131         about files at all levels.  Problem reported by Glenn Morris in:
7132         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7133         * ChangeLog.1: Move post-April-7 entries from here ...
7134         * ChangeLog.2: ... to this new file.
7135         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
7137 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7139         Fix recent cus-start changes that added customize-rogues
7140         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
7141         vars early.
7142         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
7144 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
7146         Define cl-concatenate as an alias to seq-concatenate
7147         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
7148           code by making cl-concatenate an alias to seq-concatenate.
7150 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7152         * src/lread.c (intern_1): Make sure we'd find the symbol we add
7153         (Bug#20334)
7154         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
7156 2015-04-15  Glenn Morris  <rgm@gnu.org>
7158         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
7160 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7162         Clean up gnus-uu saving code slightly
7163         * gnus-uu.el (gnus-uu-save-article): Make the
7164         save-restriction/widen calls make more sense.
7166 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7168         Make [:graph:] act like [:print:] sans space
7169         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
7170         [:graph:] so that it matches everything that [:print:] does,
7171         except for space.
7172         * doc/lispref/searching.texi (Char Classes):
7173         * etc/NEWS:
7174         * lisp/emacs-lisp/rx.el (rx):
7175         Document [:graph:] to be [:print:] sans ' '.
7176         * src/character.c, src/character.h (graphicp): New function.
7177         * src/regex.c (ISGRAPH) [emacs]: Use it.
7178         (BIT_GRAPH): New macro.
7179         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
7180         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
7181         Return BIT_GRAPH for RECC_GRAPH.
7182         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
7183         and ISPRINT if BIT_PRINT.
7185 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7187         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
7188         Don't use call-next-method in a cl-defmethod.
7190         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
7191         (eieio--class-p): Remove, provided by cl-defstruct.
7193 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
7195         Add seq-intersection and seq-difference to the seq library
7196         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
7197         functions.
7198         * test/automated/seq-tests.el: Add tests for seq-intersection and
7199         seq-difference.
7200         * doc/lispref/sequences.texi: Add documentation for seq-intersection
7201         and seq-difference.
7203 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7205         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
7207 2015-04-14  Sam Steingold  <sds@gnu.org>
7209         package--ensure-init-file: widen requires save-restriction
7211 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
7213         Improve the commit-msg Git hook for unibyte environments
7214         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
7215         in unibyte environments.  (Suggested by Paul Eggert
7216         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
7217         [:print:], based on UTF-8 sequences of the unprintable characters.
7219         Describe problems with cursor caused by Windows Magnifier
7220         * etc/PROBLEMS: Describe the problem with cursor shape on
7221         MS-Windows due to Windows Magnifier.
7222         (Bug#20271)
7224         Make [:print:] support non-ASCII characters correctly
7225         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
7226         (BIT_PRINT): New bit mask.
7227         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
7228         * src/character.c (printablep): New function.
7229         * src/character.h (printablep): Add prototype.
7230         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
7231         of 'print', 'alnum', and 'alphabetic'.
7232         * doc/lispref/searching.texi (Char Classes): Document the new
7233         behavior of [:print:].
7234         * etc/NEWS: Mention the new behavior of [:print:].
7236         Assign correct general-category and names to surrogates
7237         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
7238         surrogates.  This avoids assigning them the default
7239         general-category of 'Cn', i.e. unassigned codepoints.
7240         (unidata-get-name): Give surrogates synthetic names.
7242 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
7244         Assume C89 offsetof in xterm.c, xlwmenu.c
7245         * lwlib/xlwmenu.c (offset):
7246         * src/xterm.c (cvt_string_to_pixel_args):
7247         Use offsetof, not XtOffset.
7249 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7251         Assume C89 offsetof in widget.c
7252         * src/widget.c (XtOffset): Remove; no longer needed.
7253         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
7255         Fix think-o in previous patch
7256         * src/window.c (count_windows, get_leaf_windows):
7257         Don't optimize count_windows incorrectly.
7259 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7261         Avoid some int overflows in window.c
7262         * src/print.c (print_object):
7263         * src/window.c (sequence_number):
7264         * src/window.h (struct window.sequence_number):
7265         Don't assume window sequence number fits in int.
7266         * src/window.c (window_select_count):
7267         * src/window.h (struct window.use_time, window_select_count):
7268         Don't assume window use time fits in int.
7269         * src/window.c (Fsplit_window_internal):
7270         Don't assume user-supplied integer, or sum, fits in int.
7271         (Fset_window_configuration, count_windows, get_leaf_windows)
7272         (save_window_save, Fcurrent_window_configuration):
7273         Use ptrdiff_t for object counts.
7274         (Fset_window_configuration): Omit unused local 'n'.
7275         (count_windows): Simplify by writing in terms of get_leaf_windows.
7276         (get_leaf_windows): Don't store through FLAT if it's null.
7277         (extract_dimension): New static function.
7278         (set_window_margins, set_window_fringes, set_window_scroll_bars):
7279         Use it to avoid undefined behavior when converting user-supplied
7280         integer to 'int'.
7282 2015-04-13  Glenn Morris  <rgm@gnu.org>
7284         Minor doc copyedits
7285         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
7286         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
7288 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
7290         [Gnus] Catch the invalid-operation that idna.el will issue
7291         * lisp/gnus/gnus-art.el (gnus-use-idna):
7292         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
7293         * lisp/gnus/message.el (message-use-idna):
7294         Catch the invalid-operation that idna.el will issue.
7296 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7298         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
7300 2015-04-13  Sam Steingold  <sds@gnu.org>
7302         package--ensure-init-file: widen before looking for "(package-initialize)"
7304 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
7306         Change diff-switches default to `-u'
7307         (Bug#20290)
7308         * doc/emacs/files.texi (Comparing Files): Document the new default
7309         value of `diff-switches'.
7310         * doc/emacs/trouble.texi (Sending Patches): Document the preference
7311         for unified diff format.  Escape the plus in the suggested `-F' regexp
7312         value.
7313         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
7315 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7317         (gnus-group--setup-tool-bar-update): Fix last change
7318         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
7319         cursor-sensor-functions should be a list of functions.
7321 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
7323         Use gmm-called-interactively-p in Gnus
7324         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
7326 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7328         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
7329         (Bug#20321)
7330         * lisp/cus-start.el (read-buffer-function): Don't advertize
7331         iswitchb-read-buffer any more.
7332         (iswitchb): Don't tweak this obsolete group any more.
7334 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
7336         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
7338         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
7339         Adding a string after a constructor's argument list will use
7340         that string as the constructor function docstring.  If this string
7341         is absent but the struct itself was given a docstring, use that as
7342         the constructor's docstring.
7343         Fixes (bug#17284).
7345 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7347         Deprecate `intangible' and `point-entered' properties
7348         * lisp/emacs-lisp/cursor-sensor.el: New file.
7349         * lisp/simple.el (pre-redisplay-functions): New hook.
7350         (redisplay--pre-redisplay-functions): New function.
7351         (pre-redisplay-function): Use it.
7352         (minibuffer-avoid-prompt): Mark obsolete.
7353         (redisplay--update-region-highlight): Adapt it to work as a function on
7354         pre-redisplay-functions.
7355         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
7356         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
7357         than point-entered to make the prompt intangible.
7358         * lisp/forms.el: Move `provide' calls to the end.
7359         (forms-mode): Don't use `run-hooks' on a local var.
7360         (forms--make-format, forms--make-format-elt-using-text-properties):
7361         Use cursor-intangible rather than `intangible'.
7362         (forms-mode): Enable cursor-intangible-mode.
7363         * lisp/isearch.el (isearch-mode): Use defvar-local.
7364         (cursor-sensor-inhibit): Declare.
7365         (isearch-mode): Set cursor-sensor-inhibit.
7366         (isearch-done): Set it back.
7367         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
7368         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
7369         any more.
7370         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
7371         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
7372         Add Edebug spec.
7373         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
7374         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
7375         inhibit-point-motion-hooks any more.
7376         (ses--cell-at-pos, ses--curcell): New functions, extracted from
7377         ses-set-curcell.
7378         (ses-set-curcell): Use them.
7379         (ses-print-cell, ses-setup): Use cursor-intangible instead of
7380         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
7381         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
7382         Use ses--cell-at-pos.
7383         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
7384         extracted from ses-command-hook.  Make them work with multiple windows
7385         displaying the same buffer.
7386         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
7387         Enable cursor-intangible-mode.
7388         (ses-command-hook): Remove cell highlight and mode-line update code.
7389         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
7390         Update for new name of text-property holding the cell name.
7391         (ses-rename-cell): Don't mess with mode-line-process.
7392         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
7393         cursor-sensor-functions property instead of point-entered.
7394         (erc-insert-timestamp-right, erc-format-timestamp):
7395         Use cursor-intangible rather than `intangible'.
7396         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
7397         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
7398         cursor-sensor-mode if needed.
7399         (erc-echo-timestamp): Adapt to calling convention of
7400         cursor-sensor-functions.
7401         (erc-insert-timestamp-right): Remove unused vars `current-window' and
7402         `indent'.
7403         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
7404         (gnus-update-group-mark-positions): Remove unused `topic' var.
7405         (gnus-group-insert-group-line): Remove unused var `header'.
7406         (gnus-group--setup-tool-bar-update): New function.
7407         (gnus-group-insert-group-line): Use it.
7408         (gnus-group-update-eval-form): Declare local
7409         dynamically-bound variables.
7410         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
7411         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
7412         (gnus-group-prepare-topics, gnus-topic-update-topic)
7413         (gnus-topic-change-level, gnus-topic-catchup-articles)
7414         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
7415         Use inhibit-read-only.
7416         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
7417         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
7418         * lisp/textmodes/reftex-index.el (reftex-display-index):
7419         Use cursor-intangible-mode if available.
7420         (reftex-index-post-command-hook): Check cursor-intangible.
7421         * lisp/textmodes/reftex-toc.el (reftex-toc):
7422         Use cursor-intangible-mode if available.
7423         (reftex-toc-recenter, reftex-toc-post-command-hook):
7424         Check cursor-intangible.
7425         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
7426         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
7427         (sgml-tags-invisible): Use with-silent-modifications and
7428         inhibit-read-only.  Enable cursor-sensor-mode.
7429         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
7430         calling convention of cursor-sensor-functions.
7431         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
7432         (table-point-entered-cell-hook, table-point-left-cell-hook):
7433         Don't autoload.
7434         (table-cell-entered-state): Remove var.
7435         (table--put-cell-point-entered/left-property)
7436         (table--remove-cell-properties):
7437         Use cursor-sensor-functions rather than point-entered/left.
7438         (table--point-entered/left-cell-function): Merge
7439         table--point-entered-cell-function and table--point-left-cell-function
7440         and adjust to calling convention of cursor-sensor-functions.
7442         Update ldef-boots.el
7444         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
7446         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
7448         Collapse successive char deletions in the undo log
7449         * src/cmds.c (remove_excessive_undo_boundaries): New function,
7450         extracted from Fself_insert_command.
7451         (Fdelete_char, Fself_insert_command): Use it.
7452         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
7453         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
7455         xterm and OSC 52: Add NEWS entry, and tweak the code
7456         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
7457         top-level.
7458         (terminal-init-xterm-activate-set-selection): Set a terminal property.
7459         (xterm--set-selection): Use it instead of checking the value of
7460         `terminal-initted'.  Don't use string-bytes.
7462 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
7464         xterm.el: Implement OSC-52 functionality for setting the X selection
7465         * lisp/term/xterm.el (xterm-max-cut-length): New var.
7466         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
7467         (terminal-init-xterm, xterm--version-handler): Use them.
7469 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7471         Remove left over code from when we used an obsolete/loaddefs.el file
7472         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
7473         we used an obsolete/loaddefs.el file.
7475         * cedet/semantic/fw.el: Use declare.
7476         * cedet/semantic/fw.el (semantic-exit-on-input)
7477         (semanticdb-without-unloaded-file-searches): Use declare.
7478         (semantic-fw-add-edebug-spec): Remove.
7480         (completion-lisp-mode-hook): Use completion-separator-chars
7481         * lisp/completion.el (completion-lisp-mode-hook):
7482         Use completion-separator-chars rather than local key binding.
7484         * src/*.c: Set deactivate_mark buffer-locally
7485         (Bug#20260)
7486         * src/insdel.c (prepare_to_modify_buffer_1):
7487         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
7488         buffer-locally.
7490 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7492         python.el: Keep symmetry on sexp navigation with parens
7493         (Bug#19954)
7494         * lisp/progmodes/python.el
7495         (python-nav--forward-sexp): Add argument skip-parens-p.
7496         (python-nav-forward-sexp, python-nav-backward-sexp)
7497         (python-nav-forward-sexp-safe)
7498         (python-nav-backward-sexp-safe): Use it.
7499         * test/automated/python-tests.el
7500         (python-nav-forward-sexp-1): Fix test.
7502 2015-04-12  João Távora  <joaotavora@gmail.com>
7504         Don't use `setq-local' in Gnus code
7505         This might break upstream builds with older Emacsen
7506         * lisp/gnus/message.el (message-mode): Use `set' and
7507         `make-local-variable' instead of `setq-local'.
7509 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
7511         Update Makefile.in's .PHONY dependencies
7512         * Makefile.in (change-history-commit, master-branch-is-current)
7513         (no-ChangeLog): Now phony.
7515         Remove configure's --with-mmdf option
7516         * configure.ac (MAIL_USE_MMDF): Remove.
7517         * etc/NEWS: Document this.
7518         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
7519         (Bug#20308)
7521         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
7522         That way, 'make install' won't think it's a man page.
7523         Reported by Ashish SHUKLA in:
7524         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
7526         Improve 'make change-history' prereq tests
7527         * Makefile.in (gen_origin): Fix to match what's in the master branch.
7528         (no-ChangeLog, master-branch-is-current): New rules.
7529         (change-history): Depend on them, to avoid similar future problems.
7530         Escape the local-variables string to pacify Emacs when editing
7531         Makefile.in.
7533 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
7535         * test/automated/package-test.el (with-package-test): Kill Packages buffer
7537         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
7538         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
7539         "Upgrade" last, and use capitalized instead of all-caps.
7541         * lisp/emacs-lisp/package.el: Completely silence async operations
7542         (package--make-autoloads-and-stuff): Silence autoloads.
7543         (package--save-selected-packages): New function, silences
7544         `customize-save-variable'.
7545         (package--user-selected-p, package-install-from-buffer)
7546         (package-delete, package-install): Use it.
7547         (package-install-from-archive)
7548         (package-menu--perform-transaction): Silence.
7549         (package-menu-execute): Feedback when operation starts.
7551         Use delay-mode-hooks when visiting the init-file
7552         * lisp/emacs-lisp/package.el (package--ensure-init-file):
7553         delay-mode-hooks
7554         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
7556         * lisp/files.el: Only message when saving if save-silently is nil
7557         (save-silently): New variable.
7558         (files--message): New function.
7559         (find-file-noselect, save-buffer, basic-save-buffer)
7560         (basic-save-buffer-2, save-some-buffers, not-modified)
7561         (append-to-file): Use them.
7563 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
7565         Support debug declarations in pcase macros
7566         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
7567         (pcase-UPAT): Use it.  Remove "`".
7568         (pcase--edebug-match-macro): New function.
7569         (pcase-defmacro): Support debug declarations.
7570         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
7571         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
7572         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
7574         pcase.el: Edebug support for `app' and vector patterns
7575         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
7576         (pcase-UPAT): Use it. Support `app' patterns.
7577         (pcase-QPAT): Support vector patterns.
7579         edebug.el: Disambiguate vector specifications
7580         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
7581         `(vector ...)' as a vector specification, not as a sublist.
7583         (gnus-summary-refer-thread): Don't clobber unread articles
7584         This fixes a bug where `A T' causes "random" articles to become marked
7585         as read.
7586         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
7587         gnus-newsgroup-unreads remains sorted.
7589         mouse-sel.el: Fix mouse-sel-get-selection-function
7590         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
7591         Use gui--last-selected-text-primary instead of no longer existing
7592         gui-last-selected-text.
7594         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
7596         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
7598 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
7600         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
7602         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
7604         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
7605         (byte-compile--interactive): New var.
7606         (byte-compile--message): New function.
7607         (byte-compile-log-1, byte-force-recompile)
7608         (byte-recompile-directory, byte-recompile-file)
7609         (byte-compile-file, compile-defun)
7610         (byte-compile-file-form-defmumble, byte-compile)
7611         (byte-compile-file-form-defalias, display-call-tree): Use it.
7613         * lisp/files.el: Don't message when nothing happened
7614         (save-some-buffers, basic-save-buffer): Before messaging to say
7615         "nothing was saved" check if (called-interactively-p 'any).
7617 2015-04-12  João Távora  <joaotavora@gmail.com>
7619         Summary: Improve sexp-based movement in message-mode
7620         Works by giving citations and smileys a different syntax.  This helps
7621         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
7622         sexp-based movement.
7623         * lisp/gnus/message.el (message--syntax-propertize): New function.
7624         (message-mode): Set syntax-related vars.
7625         (message-smileys): New variable.
7626         * test/automated/message-mode-tests.el: New file
7628 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7630         Use bool for boolean in window.c
7631         * src/window.c: Omit unnecessary static function decls.
7632         (adjust_window_count, select_window, Fselect_window)
7633         (window_body_width, Fwindow_body_height, Fwindow_body_width)
7634         (set_window_hscroll, check_window_containing, Fwindow_at)
7635         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
7636         (unshow_buffer, replace_window, recombine_windows)
7637         (add_window_to_list, candidate_window_p, next_window)
7638         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
7639         (Fget_buffer_window, Fdelete_other_windows_internal)
7640         (replace_buffer_in_windows_safely, set_window_buffer)
7641         (Fset_window_buffer, Fforce_window_update)
7642         (temp_output_buffer_show, make_parent_window)
7643         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
7644         (resize_frame_windows, Fsplit_window_internal)
7645         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
7646         (Fresize_mini_window_internal, mark_window_cursors_off)
7647         (window_scroll, window_scroll_pixel_based)
7648         (window_scroll_line_based, scroll_command, Fscroll_other_window)
7649         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
7650         (Fmove_to_window_line, Fset_window_configuration)
7651         (delete_all_child_windows, apply_window_adjustment)
7652         (set_window_fringes, set_window_scroll_bars)
7653         (Fset_window_vscroll, foreach_window, foreach_window_1)
7654         (compare_window_configurations, Fcompare_window_configurations):
7655         Prefer 'bool', 'true', and 'false' for booleans.
7656         * src/window.h (WINDOW_MODE_LINE_LINES)
7657         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
7659 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
7661         Speed up byte-compilation and autoload generation by avoiding mode-hooks
7662         This prevents emacs-lisp-mode-hook from being run everytime an
7663         autoload file is generated, which can account for a fraction of
7664         package installation time depending on the hooks the user has
7665         configured.
7666         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
7667         * lisp/emacs-lisp/autoload.el (autoload-find-file)
7668         (autoload-find-generated-file): Use delay-mode-hooks.
7670         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
7671         (package-menu-refresh): Respect async and do new package checking.
7672         (list-packages): Use `package-menu-refresh' instead of repeating code.
7674         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
7675         (package--quick-help-keys): New variable.
7676         (package--prettify-quick-help-key): New function.
7677         (package-menu-quick-help): Use it.
7679         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
7680         (package--build-compatibility-table): require finder
7682         * test/automated/package-test.el: Fix new test
7684         * lisp/emacs-lisp/package.el: Silence async operations
7685         (package--silence): New variable.
7686         (package--message): New function.
7687         (package-import-keyring, package-refresh-contents)
7688         (package-compute-transaction, package-install, package-delete)
7689         (package-menu--perform-transaction, package-menu-execute): Use it.
7691         * test/automated/package-test.el: Test async functionality
7692         (package-test-update-archives-async): New test
7694 2015-04-11  Daiki Ueno  <ueno@gnu.org>
7696         Utilize `make-process' in epg.el
7697         * lisp/epg.el (epg-error-output): Abolish.
7698         (epg-context): New slot `error-buffer'.
7699         (epg--start): Use `make-process' and `make-pipe-process'.
7700         (epg--process-filter): Remove code separating stderr from stdout.
7701         (epg-wait-for-completion): Simplify `error-output' handling.
7702         (epg-reset): Dispose error buffer.
7704 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7706         * .gitignore: Ignore doc temps and outputs.
7708         Port commit-msg to MSYS Bash+Gawk
7709         See Eli Zaretskii in:
7710         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
7711         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
7712         (cent_sign, print_at_sign, at_sign): Revert previous change.
7713         (print_at_sign): Prepend "BEGIN".
7714         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
7716         Port commit-msg to broken MS-Windows shell
7717         * build-aux/git-hooks/commit-msg (cent_sign):
7718         Just use UTF-8 here rather than ASCII + printf, as the latter fails
7719         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
7720         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
7722 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
7724         Support GnuTLS v3.4 and later on MS-Windows
7725         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
7726         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
7727         GnuTLS DLL to load according to value of libgnutls-version.
7728         (Bug#20294)
7730 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7732         Minor quoting etc. fixes to misc manuals
7733         Fix some minor quoting and spacing issues.  Distinguish more
7734         clearly among grave accent and apostrophe (which are ASCII) and
7735         single quote (which is not).  Prefer the standard terms
7736         "apostrophe" and "grave accent" to alternative names that can be
7737         confusing.  Use apostrophes to single-quote ASCII text.
7738         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
7739         rather than approximating it in ASCII with grave accent.
7741 2015-04-11  Daiki Ueno  <ueno@gnu.org>
7743         Respect more keyword args in `make-process'
7744         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
7745         keywords as documented.
7747 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
7749         Extract ChangeLog entries when committing a directory
7750         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
7751         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
7752         Add a FIXME comment.
7753         (log-edit-changelog-entries): Extract from
7754         `log-edit-changelog-entries', handle FILE being a directory
7755         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
7757 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
7759         Fix problems found by --enable-gcc-warnings
7760         * src/process.c (create_process, Fmake_pipe_process)
7761         (Fmake_network_process): Omit unused locals.
7763         Fix commit-msg to handle scissors lines
7764         * build-aux/git-hooks/commit-msg:
7765         Ignore every line after a scissors line, such as a line generated
7766         by 'git commit -v'.  Problem reported by Johan Bockgård in:
7767         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
7769         port commit-msg to Gawk 3.0.4 (1999)
7770         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
7771         (print_at_sign, at_sign): New vars.  Use them to avoid problems
7772         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
7773         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
7775         Have commit-msg report commit failure
7776         * build-aux/git-hooks/commit-msg: If the commit is aborted,
7777         say so.  Simplify by doing this at the end.  Problem reported
7778         by Eli Zaretskii in:
7779         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
7781 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7783         Clean up LDAP Configuration section of EUDC manual
7784         * doc/misc/eudc.texi: Combine indices.
7785         (LDAP Configuration): Use command markup.  Add index entries.
7786         Change formatting.  Wrap long lines.  Add noindent markup.
7788 2015-04-10  Daiki Ueno  <ueno@gnu.org>
7790         Add facility to collect stderr of async subprocess
7791         * src/w32.h (register_aux_fd): New function declaration.
7792         * src/w32.c (register_aux_fd): New function.
7793         * src/process.h (struct Lisp_Process): New member stderrproc.
7794         * src/process.c (PIPECONN_P): New macro.
7795         (PIPECONN1_P): New macro.
7796         (Fdelete_process, Fprocess_status, Fset_process_buffer)
7797         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
7798         (Fcontinue_process): Handle pipe process specially.
7799         (create_process): Respect p->stderrproc.
7800         (Fmake_pipe_process): New function.
7801         (Fmake_process): Add new keyword argument :stderr.
7802         (wait_reading_process_output): Specially handle a pipe process when
7803         it gets an EOF.
7804         (syms_of_process): Register Qpipe and Smake_pipe_process.
7805         * doc/lispref/processes.texi (Asynchronous Processes): Document
7806         `make-pipe-process' and `:stderr' keyword of `make-process'.
7807         * lisp/subr.el (start-process): Suggest to use `make-process' handle
7808         standard error separately.
7809         * test/automated/process-tests.el (process-test-stderr-buffer)
7810         (process-test-stderr-filter): New tests.
7811         * etc/NEWS: Mention new process type `pipe' and its usage with the
7812         `:stderr' keyword of `make-process'.
7814 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
7816         Minor quoting etc. fixes to lispref manual
7817         * doc/lispref/tips.texi (Documentation Tips):
7818         Distinguish more clearly among grave accent, apostrophe,
7819         and single quote.
7820         * doc/lispref/README, doc/lispref/buffers.texi:
7821         * doc/lispref/commands.texi, doc/lispref/control.texi:
7822         * doc/lispref/customize.texi, doc/lispref/display.texi:
7823         * doc/lispref/elisp.texi, doc/lispref/files.texi:
7824         * doc/lispref/frames.texi, doc/lispref/hash.texi:
7825         * doc/lispref/help.texi, doc/lispref/internals.texi:
7826         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
7827         * doc/lispref/markers.texi, doc/lispref/modes.texi:
7828         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
7829         * doc/lispref/os.texi, doc/lispref/positions.texi:
7830         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
7831         * doc/lispref/text.texi, doc/lispref/tips.texi:
7832         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
7833         Use American-style double quoting in ordinary text,
7834         and quote 'like this' when single-quoting in ASCII text.
7835         Also, fix some minor spacing issues.
7837 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
7839         Handle symlinked test directory in tramp-tests.el
7840         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
7841         (tramp--test-check-files): Use `file-truename' for directories.
7843 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
7845         Fix 'recenter' when visual-line-mode is turned on
7846         * src/window.c (Frecenter): Use the same code for GUI and TTY
7847         frames alike; use vmotion only for "initial" frames.  This is
7848         because vmotion doesn't support visual-line-mode.  Rewrite the
7849         'iarg >= 0' case to use move_it_* functions instead of using
7850         vmotion, for the same reason.  Fix the clipping of the argument
7851         value to support scroll-margin in all cases and avoid unwarranted
7852         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
7853         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
7854         which see.
7856 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7858         * abbrev.el (define-abbrev-table): Refine last change.
7860         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
7861         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
7862         use of c[ad]+r", so as to keep the "cl-" prefix on all
7863         cl-lib definitions.
7865         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
7867         * lisp/cedet/semantic: Remove some dead code
7868         * lisp/cedet/semantic/util-modes.el
7869         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
7870         any more.
7871         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
7872         not supported any more.
7873         (semantic-safe): Use `declare'.
7874         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
7875         (semantic-tag-intangible-p): Remove unused functions.
7876         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
7877         Remove unused function.
7879         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
7880         (gnus-article-hide-text, gnus-article-unhide-text)
7881         (gnus-article-unhide-text-type): Remove special handling of
7882         `intangible' since that property is not used any more.
7883         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
7885 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
7887         Use the VC root in `log-edit-listfun'
7888         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
7889         `log-edit-listfun'.
7891 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
7893         Fix description of Unix time, mention new function.
7894         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
7895         Unix time.
7896         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
7897         (Basic Operations on Units): Mention `calc-convert-exact-units'.
7899 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
7901         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
7903 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
7905         (log-edit-insert-changelog-entries): Don't add newline after the last entry
7906         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
7907         Don't add newline after the last entry.
7909 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
7911         css-mode.el: Add "not" pseudo-class
7912         (Bug#20267)
7913         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
7914         list of CSS pseudo-classes.
7916 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7918         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
7920 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
7922         Stop messing with the EMACS env var
7923         * misc.texi (Interactive Shell): Remove description of EMACS env var.
7925 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7927         Adapt 'make change-history' to coding cookie
7928         * Makefile.in (change-history): Adjust to change of format of
7929         ChangeLog file, which now has a coding cookie before an indented
7930         copyright notice.
7932 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7934         Adapt 'make change-history' to coding cookie
7935         * Makefile.in (change-history): Adjust to change of format of
7936         ChangeLog file, which now has a coding cookie before an indented
7937         copyright notice.
7939         gitlog-to-changelog coding cookie and mv -i
7940         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
7941         for copyright notice prototype, so that we get a proper "coding:"
7942         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
7943         existing ChangeLog.  Problems reported by Eli Zaretskii in:
7944         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
7946         Merge from gnulib
7947         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
7948         2015-04-09 gitlog-to-changelog: port to MS-Windows
7950 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
7952         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
7953         (Bug#20212)
7955 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7957         Stop messing with the EMACS env var
7958         (Bug#20202)
7959         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
7960         * lisp/comint.el (comint-exec-1):
7961         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
7962         * lisp/progmodes/compile.el (compilation-start): Same and bring
7963         INSIDE_EMACS's format in line with other users.
7965         css-mode.el (css-smie-rules): Fix indentation after complex selectors
7966         (Bug#20282)
7967         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
7968         inner structure of selectors.
7970 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7972         python.el: Indent docstring lines to base-indent
7973         (Bug#19595)
7974         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
7975         an initial patch.
7976         * lisp/progmodes/python.el
7977         (python-indent-context): Add :inside-docstring context.
7978         (python-indent--calculate-indentation): Handle :inside-docstring.
7979         (python-indent-region): Re-indent docstrings.
7980         * test/automated/python-tests.el (python-indent-region-5)
7981         (python-indent-inside-string-2): Fix tests.
7983         python.el: Increase native completion robustness
7984         (Bug#19755)
7985         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
7986         this and providing useful ideas.
7987         * lisp/progmodes/python.el
7988         (python-shell-completion-native-output-timeout): Increase value.
7989         (python-shell-completion-native-try-output-timeout): New var.
7990         (python-shell-completion-native-try): Use it.
7991         (python-shell-completion-native-setup): New readline setup avoids
7992         polluting current context, ensures output when no-completions are
7993         available and includes output end marker.
7994         (python-shell-completion-native-get-completions): Trigger with one
7995         tab only.  Call accept-process-output until output end is found or
7996         python-shell-completion-native-output-timeout is exceeded.
7998 2015-04-08  Samer Masterson  <samer@samertm.com>
8000         * lisp/eshell: Make backslash a no-op in front of normal chars
8001         (Bug#8531)
8002         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
8003         (eshell-parse-backslash): Return escaped character after backslash
8004         if it is special.  Otherwise, if the backslash is not in a quoted
8005         string, ignore the backslash and return the character after; if
8006         the backslash is in a quoted string, return the backslash and the
8007         character after.
8008         * test/automated/eshell.el (eshell-test/escape-nonspecial)
8009         (eshell-test/escape-nonspecial-unicode)
8010         (eshell-test/escape-nonspecial-quoted)
8011         (eshell-test/escape-special-quoted): Add tests for new
8012         `eshell-parse-backslash' behavior.
8014 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
8016         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
8017         after the file name.
8018         (Bug#20276)
8020 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8022         Minor quoting etc. fixes to Emacs manual
8023         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
8024         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
8025         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
8026         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
8027         * doc/emacs/indent.texi, doc/emacs/macos.texi:
8028         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
8029         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
8030         * doc/emacs/search.texi, doc/emacs/trouble.texi:
8031         * doc/emacs/vc1-xtra.texi:
8032         Use American-style double quoting in ordinary text,
8033         and quote 'like this' when single-quoting in ASCII text.
8034         Also, fix some minor spacing issues.
8036         Minor quoting etc. fixes to elisp intro
8037         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
8038         American-style double quoting in ordinary text.  In ASCII text,
8039         consistently quote 'like this' instead of `like this', unless
8040         Emacs requires the latter.
8042 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
8044         * CONTRIBUTE: Mention log-edit-insert-changelog.
8046         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
8048 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8050         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
8052 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
8054         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
8055         (Bug#20270)
8056         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
8057         Fix inheritance of initargs.
8059 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
8061         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
8062         while dowloading information.
8064         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
8065         (package--ensure-init-file): Check file contents before visiting.
8066         (package-initialize): Call it.
8067         (package-install-from-buffer, package-install): Don't call it.
8069 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
8071         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
8072         (Bug#17517)
8074 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
8076         Fix nasty scoping bug in tramp-cache.el
8077         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
8079 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
8081         Add notice to visual commands section
8082         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
8083         such as git call less with its -F option which omits pagination if
8084         the contents is less than one page long.  This interferes with
8085         eshell's visual (sub-)commands.
8087 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
8089         ffap: Support environment variable expansion in file names
8090         (Bug#19839)
8091         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
8092         environment variable expansion in file names.
8094 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8096         Prefer double-quote to accent-grave in man pages
8098 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
8100         (Bug#20257)
8101         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
8103 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
8105         Update etc/PROBLEMS.
8106         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
8107         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
8108         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
8109         respectively); other minor updates and tweaks.  (Bug#20011)
8111 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8113         Add doc strings for some Isearch state vars
8114         * lisp/misearch.el (multi-isearch-buffer-list)
8115         (multi-isearch-file-list): Add doc strings.
8116         (Bug#20232)
8118 2015-04-07  Alan Mackenzie  <acm@muc.de>
8120         Always mark "<" and ">" in #include directives with text properties.
8121         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
8122         matcher" with an invocation of c-make-font-lock-search-function to allow
8123         fontification when there's no trailing space on an "#include <..>" line.
8125 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8127         Generate a ChangeLog file from commit logs
8128         * .gitignore: Add 'ChangeLog'.
8129         * build-aux/gitlog-to-changelog: New file, from Gnulib.
8130         * build-aux/gitlog-to-emacslog: New file.
8131         * CONTRIBUTE: Document the revised workflow.
8132         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
8133         instead of just special cases.
8134         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
8135         (ChangeLog, unchanged-history-files, change-history)
8136         (change-history-commit): New rules.
8137         * admin/admin.el (make-manuals-dist--1):
8138         Don't worry about doc/ChangeLog.
8139         * admin/authors.el: Add a FIXME.
8140         * admin/make-tarball.txt:
8141         * lisp/calendar/icalendar.el:
8142         * lisp/gnus/deuglify.el:
8143         * lisp/obsolete/gulp.el:
8144         * lwlib/README:
8145         Adjust to renamed ChangeLog history files.
8146         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
8147         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
8148         Remove obsolete discussion of merging ChangeLog files.
8149         New section "Maintaining ChangeLog history".
8150         * build-aux/git-hooks/pre-commit:
8151         Reject attempts to commit files named 'ChangeLog'.
8152         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
8153         * make-dist: Make and distribute top-level ChangeLog if there's a
8154         .git directory.  Distribute the new ChangeLog history files
8155         instead of scattered ChangeLog files.  Distribute the new files
8156         gitlog-to-changelog and gitlog-to-emacslog.
8157         (Bug#19113)
8159         Rename ChangeLogs for gitlog-to-changelog
8160         This patch was implemented via the following shell commands:
8161         find * -name ChangeLog |
8162         sed 's,.*,git mv & &.1,
8163         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
8164         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
8165         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
8166         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
8167         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
8168         sh
8169         git commit -am"[this commit message]"
8171 This file records repository revisions from
8172 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
8173 commit 2cf501ce1b77e6e409871eef7b9d31a08e73cfc0 (inclusive).
8174 See ChangeLog.1 for earlier changes.
8176 ;; Local Variables:
8177 ;; coding: utf-8
8178 ;; End:
8180   Copyright (C) 2015 Free Software Foundation, Inc.
8182   This file is part of GNU Emacs.
8184   GNU Emacs is free software: you can redistribute it and/or modify
8185   it under the terms of the GNU General Public License as published by
8186   the Free Software Foundation, either version 3 of the License, or
8187   (at your option) any later version.
8189   GNU Emacs is distributed in the hope that it will be useful,
8190   but WITHOUT ANY WARRANTY; without even the implied warranty of
8191   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8192   GNU General Public License for more details.
8194   You should have received a copy of the GNU General Public License
8195   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.