* lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
[emacs.git] / ChangeLog.2
blob9c79d7633977222cacdac0d9b218ca2528bfbece
1 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
3         Respect `prog-indentation-context' in python.el
4         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
5         (python-indent-context, python-indent--calculate-indentation)
6         (python-info-current-defun)
7         (python-info-dedenter-opening-block-message)
8         (python-info-line-ends-backslash-p)
9         (python-info-beginning-of-backslash)
10         (python-info-continuation-line-p): Use `prog-widen'.
11         (python-indent--calculate-indentation)
12         (python-indent--calculate-levels)
13         (python-indent-calculate-indentation): Use `prog-first-column'.
14         (python-indent--calculate-levels): Simplify.
15         Ignore also initial empty lines for syntax calculation.
16         * lisp/progmodes/python.el (python-indent-context): Return
17         :no-indent for first non-empty line, not just in line 1.
18         * test/automated/python-tests.el (python-indent-base-case)
19         (python-indent-inside-paren-1, python-indent-inside-paren-2)
20         (python-indent-inside-paren-3, python-indent-inside-paren-4)
21         (python-indent-inside-paren-5, python-indent-inside-paren-6)
22         (python-indent-after-backslash-1)
23         (python-indent-after-backslash-2)
24         (python-indent-after-backslash-3)
25         (python-indent-after-backslash-4, python-indent-inside-string-1):
26         Expect :no-indent for first non-empty line.
28 2015-07-04  Daniel Colascione  <dancol@dancol.org>
30         Factor isearch word description into new function
31         * lisp/isearch.el (isearch--describe-word-mode): New function.
32         (isearch-message-prefix, isearch-query-replace): Use it.
34 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
36         Fix mouse pointer on w32 when a menu is active
37         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
38         shape while a menu is in use.  This started happening since we now
39         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
41 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
43         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
44         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
45         parameter.  (Bug#17344)
47         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
48         * lisp/progmodes/compile.el (compilation-set-window): Take
49         `window-fringes' from argument window.  (Bug#20829)
51 2015-07-03  Glenn Morris  <rgm@gnu.org>
53         Update eieio tests for recent eieio-core change.
54         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
55         * test/automated/eieio-tests.el
56         (eieio-test-32-slot-attribute-override-2):
57         Replace the deleted eieio--class-v with cl--find-class.
59 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
61         Fix some issues with `window-divider-mode'
62         * lisp/frame.el (window-divider-default-places): New option.
63         (window-divider-mode): Remove option.
64         (window-divider-mode): Make it a "regular" minor mode.
65         (window-divider-width-valid-p): Drop frame- prefix.
66         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
67         prefix.  Handle `window-divider-default-places'.
68         (frame--window-divider-mode-set-and-apply): Remove.
69         (window-divider-default-bottom-width)
70         (window-divider-default-right-width): Drop :group entries.
71         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
72         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
73         (menu-bar-no-window-divider): Set `window-divider-default-places'
74         and call `window-divider-mode'.
75         * doc/emacs/frames.texi (Window Dividers): Document
76         `window-divider-default-places'.
78 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
80         Add cross references in documentation
81         * doc/emacs/display.texi (Displaying Boundaries):
82         * doc/emacs/search.texi (Word Search): Add cross references.
84 2015-07-02  Eli Zaretskii  <eliz@gnu.org>
86         ;* src/bidi.c (bpa_stack_entry): Update commentary for Unicode 8.0.
88 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
90         -batch should not affect ‘’ -> `' display
91         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
92         -batch (Bug#20926).
94 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
96         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
97         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
98           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
99         Use cl--find-class instead.
101         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
103 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
105         Some further fixes in Change Window node.  (Bug#20183)
106         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
107         by "resizing" in section title.  Add some concept indices.
108         Suggested by N. Jackson (Bug#20183).
110         Reference window dividers in Change Window section.
111         * doc/emacs/windows.texi (Change Window): Reference window
112         dividers.
114         Document new `window-divider-mode'.
115         * lisp/frame.el (window-divider-mode): Fix doc-string.
116         * doc/emacs/frames.texi (Window Dividers): New section.
118         Improve accessibility of window dividers.  (Bug#20183)
119         * lisp/faces.el (window-divider)
120         (window-divider-first-pixel, window-divider-last-pixel): Change
121         membership from `frames' to `window-divider' customization group.
122         * lisp/frame.el (window-divider): New customization group.
123         (window-divider-mode): New minor mode.
124         (window-divider-default-bottom-width)
125         (window-divider-default-right-width): New options.
126         (frame--window-divider-previous-mode): New variable.
127         (frame-window-divider-width-valid-p)
128         (frame--window-divider-mode-apply)
129         (frame--window-divider-mode-set-and-apply): New functions.
130         * lisp/menu-bar.el (menu-bar-options-save): Save
131         window-divider-mode settings.
132         (menu-bar-window-divider-customize)
133         (menu-bar-bottom-and-right-window-divider)
134         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
135         (menu-bar-no-window-divider): New functions.
136         (menu-bar-showhide-window-divider-menu): New variable.
137         (menu-bar-showhide-menu): Show/hide window divider menu.
138         * lisp/mouse.el (mouse-split-window-vertically)
139         (mouse-split-window-horizontally): Replace `error' by
140         `user-error'.  Bind `window-combination-resize' to nil.
141         (top-level): Add/reorder mouse key bindings on mode- and
142         vertical-line.
144 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
146         Don't display ‘’ as `' under X in en_GB
147         The curved quote setup code invokes (char-displayable-p ?‘),
148         but this isn’t reliable until after the X frame replaces the
149         terminal frame (Bug#20926).
150         * lisp/international/mule-cmds.el (set-locale-environment):
151         Move curved quote setup code from here ...
152         * lisp/startup.el (command-line): ... to here, after creating
153         the X frame.
155 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
157         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
159         Add argument to reverse the meaning of ido-restrict-to-matches
160         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
161         to reverse the meaning (Bug#15631).
163 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
165         Be more tolerant to fonts named "Foobar-12"
166         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
167         don't barf; instead, request a new fontset to be generated.  This
168         avoids unnecessarily rejecting fonts named against XLFD rules.  See
169         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
170         for the description of the original problem.
171         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
172         by a hyphen in a font's name.
174         Fix value of posn-at-pont in R2L lines
175         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
176         coordinate of -1, for a newline in a right-to-left line that
177         overflowed into the left fringe.
179 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
181         (cl--copy-slot-descriptor): Copy the `props' alist as well
182         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
183         Rename from cl--copy-slot-descriptor.
184         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
186 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
188         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
189         (xterm-query-timeout): New var.
190         (xterm--query): Use it.  Fallback on async method if we timeout before
191         getting the first byte of the reply (bug#12354).
193 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
195         Spelling fixes
197 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
199         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
201 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
203         In strings, prefer plain ` and ' to \` and \'
204         * lisp/allout.el (allout-insert-listified):
205         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
206         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
207         (ls-lisp-string-lessp):
208         * lisp/menu-bar.el (menu-bar-open):
209         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
210         * lisp/progmodes/compile.el (compile):
211         * lisp/progmodes/etags.el (tags-loop-scan):
212         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
213         * lisp/subr.el (posn-actual-col-row):
214         * lisp/term/pc-win.el (x-list-fonts):
215         * lisp/textmodes/texinfmt.el (texinfmt-version):
216         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
217         * lisp/time.el (display-time-world-list):
218         * lisp/tmm.el (tmm-menubar):
219         * src/buffer.c (syms_of_buffer):
220         * src/fileio.c (syms_of_fileio):
221         Omit unnecessary and confusing backslash before quote.
222         * lisp/erc/erc.el (erc-cmd-LASTLOG):
223         * lisp/progmodes/flymake.el (flymake-fix-file-name):
224         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
225         Fix string that was intended to escape a backslash and not a quote.
227 2015-06-30  Glenn Morris  <rgm@gnu.org>
229         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
231         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
232         Replace hard-coded lists with wildcard + filter-out.
234         * configure.ac (system-configuration-features): Add X11, NS.
236         Improve reproducibility of generated loaddefs file.
237         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
238         Make the return value the modtime of the input file (if no autoloads).
239         (update-directory-autoloads): In the "no autoloads" section,
240         use "most recent modtime" rather than "current time".
242 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
244         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
245         (Bug#20930)
247 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
249         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
251         Add seq-min and seq-max
252         Bump version number.
253         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
254         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
256 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
258         Make sure sleep-for always delays for as long as it's told
259         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
260         a loop, to ensure we always wait exactly the required amount of
261         time.  (Bug#15990)
263 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
265         Fix pointer signedness glitch
266         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
268 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
270         Don't block changes in mouse pointer inside 'track-mouse'
271         * etc/NEWS:
272         * doc/lispref/frames.texi (Mouse Tracking): Document the special
273         effect of setting 'track-mouse' to 'dragging'.
274         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
275         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
276         * lisp/mouse-drag.el (mouse-drag-throw):
277         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
278         to avoid changes in the shape of the mouse pointer.
279         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
280         pointer shape when do_mouse_tracking has the value of 'dragging',
281         not just any non-nil value.  (Bug#20934)
282         (syms_of_xdisp): DEFSYM 'dragging'.
284 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
286         * lisp/isearch.el (isearch-toggle-word): Fix toggle
288         * lisp/emacs-lisp/package.el (package-compute-transaction):
289         Don't assume version sorting.
291         * lisp/emacs-lisp/package.el (package--save-selected-packages):
292         Don't save before init time, to avoid overwriting configurations.
293         (Bug#20855)
295 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
297         Add cross references.
298         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
299         references.
301 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
303         cfengine.el: update for the upcoming CFEngine 3.7 release
304         Update for the upcoming CFEngine 3.7 release: support macros and
305         quoted context strings; reformat JSON; indent promise attributes 2
306         units by default; give function parameter descriptions in the eldoc
307         glue.
308         * cfengine.el: Update version and docs and fix name.  Autoload
309         `json-pretty-print'.  Support new features in 3.7.
310         (cfengine-parameters-indent): Set default promise attribute indent to
311         2 more than the promise itself.
312         (cfengine3-macro-regex): New variable to match the new macro syntax.
313         (cfengine3-font-lock-keywords): Use it to highlight macros.
314         (cfengine3-indent-line): Use it to indent macros to column 0.
315         (cfengine3-class-selector-regex): Update for the new quoted strings
316         format.
317         (cfengine3-reformat-json-string): New function to reformat a JSON
318         string using `json-pretty-print'.
319         (cfengine3-format-function-docstring): Use function parameter
320         description if it's provided by the cf-promises syntax dump.
322 2015-06-29  Michael R. Mauger  <michael@mauger.com>
324         Cygwin emacsclient handles w32 file names
326 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
328         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
330 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
332         * doc/lispref/text.texi (Sticky Properties): Improve wording.
333         (Bug#20924)
335         Allow font names that end in "-NN", where NN is a number
336         * src/font.c (font_load_for_lface): If the font-spec didn't match
337         any available fonts, try again without interpreting trailing "-NN"
338         as the font size.  For the description of the original problem, see
339         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
341         .gdbinit followup to changes in !USE_LSB_TAG
342         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
343         !USE_LSB_TAG, as Emacs no longer does.
345 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
347         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
348         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
350 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
352         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
353         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
355 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
357         * package.el (describe-package): Use symbol-at-point as additional guess
359         * package.el (describe-package): Convert the guess to a string
361 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
363         apropos-library quoting fix
364         * lisp/apropos.el (apropos-library): Quote library consistently
365         with the rest of the quoting used by apropos.
367         Clarify interpreter-mode-alist doc
368         * lisp/files.el (interpreter-mode-alist):
369         Reword to avoid confusing quoting that wasn't working anyway.
371 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
373         Sync with Tramp 2.2.12
374         * doc/misc/trampver.texi:
375         * lisp/net/trampver.el: Update release number.
376         * test/automated/tramp-tests.el (tramp-test13-make-directory):
377         Fix cleanup.
379 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
381         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
382         (bug#20913)
384 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
386         Bind grep-highlight-matches around the rgrep call
387         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
388         around the rgrep call (bug#20728).
390         Put "--color" before the other options in grep-command
391         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
392         before the other options in grep-command (bug#20912).
394         Add --color Grep option to the command dynamically
395         * lisp/progmodes/grep.el (grep-template, grep-find-template):
396         Update the description for <C>.  (Bug#20728)
397         (grep-compute-defaults): Don't add the --color option to
398         grep-options.  Only add it to grep-command.
399         (grep-expand-keywords): Expand the env value opts into <C>.
400         (grep-expand-template): Replace cf in the env with the opts list,
401         that can include -i and --color.
402         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
403         "--color=always" from the template, because we don't have to.
405 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
407         cl-extra fixes for most-negative-fixnum
408         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
409         Don't mishandle an argument equal to most-negative-fixnum,
410         whose absolute value equals itself.
411         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
413         Initialize cl--gensym-counter to 0
414         Previously it was initialized to a random value, which made it
415         harder to reproduce earlier Emacs runs.  The need for a random
416         value went away when Emacs introduced and used the #: syntax for
417         uninterned symbols (Bug#20862).
418         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
419         Document that cl--gensym-counter now starts with 0.
420         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
421         (cl--random-time): Move to near only remaining use.
422         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
424         Improve docstring for macroexp-let2
425         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
426         Improve as per suggestion by RMS in:
427         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
428         Also, rename args to match new doc string.
430 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
432         Fix VC test suite on MS-Windows
433         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
434         always starts with 3 slashes after the colon.
435         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
436         'w32-application-type' to invoke CVS on MS-Windows with properly
437         formatted CVSROOT directory name.
439         Add a new function w32-application-type
440         * src/w32proc.c (Fw32_application_type): New function.
442         Avoid error in TLS connections due to incorrect format
443         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
444         the call to 'error', instead of the unsupported %u.  Reported by
445         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
447 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
449         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
451 2015-06-26  Leo Liu  <sdl.web@gmail.com>
453         Fix indentation for with-output-to-string
454         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
455           `with-output-to-string' in elisp.
456           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
457           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
459 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
461         Minor corrections in ELisp manual
462         * doc/lispref/nonascii.texi (Character Properties): Correct
463         inaccuracies in description of values of the Unicode properties.
465         Fix invisible mouse pointers on Windows.
466         * src/w32fns.c: Include windowsx.h.
467         (w32_wnd_proc): If the mouse moved and the mouse pointer is
468         invisible, make it visible again even when the main (Lisp)
469         thread is busy.
470         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
471         garbaging the frame have the input thread call SetCursor.
473 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
475         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
476         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
477         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
478         * src/w32term.c (w32_hide_hourglass): Handle
479         f->pointer_invisible.
480         (w32_toggle_invisible_pointer): New function.
481         (w32_create_terminal): Add w32_toggle_invisible_pointer as
482         toggle_invisible_pointer_hook for this terminal.
484 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
486         Doc fix for deletion commands
487         'delete-char' does not respect the value of 'delete-active-region'.
488         * doc/emacs/killing.texi (Deletion):
489         Fix documentation for some single-char deletion commands.
491         * doc/emacs/help.texi (Apropos):
492         Improve documentation of 'apropos-do-all'.
494         * doc/emacs/help.texi (Help Summary):
495         Improve documentation of 'describe-mode'.
497 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
499         Fix submake dependency bug with .h files
500         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
501         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
502         before the submake in $(libsrc) would spin off a subsubmake
503         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
505 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
507         * lisp/character-fold.el (character-fold-table): Reuse `table'
509 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
511         Translate undisplayable ‘ to `
512         * doc/lispref/help.texi (Keys in Documentation):
513         * lisp/international/mule-cmds.el (set-locale-environment):
514         * lisp/term/w32console.el (terminal-init-w32console):
515         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
516         If ‘ is not displayable, transliterate it to `, not to '.  See:
517         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
519         Fix C99 incompatibilities in Cairo code
520         * src/image.c (xpm_load) [USE_CAIRO]:
521         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
522         Fix pointer signedness problem.
524 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
526         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
527         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
528           `with-output-to-string' should have the same indent as `progn'.
529           This is in line with the declaration of `with-output-to-string'.
531 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
533         Get ‘./configure; make -C src emacs’ to work
534         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
535         * lib-src/Makefile.in (../lib/libgnu.a):
536         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
538 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
540         Fix GC bugs --with-wide-int and Qnil == 0
541         Use the same alignment for the !USE_LSB_TAG case as for the
542         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
543         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
544         once we changed the representation of symbols so that Qnil == 0.
545         Problem reported by Eli Zaretskii (Bug#20862).
546         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
547         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
548         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
549         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
550         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
551         This optimization in the !USE_LSB_TAG case is no longer valid when
552         symbols are represented via offsets.  Change the only use to
553         assume that pointers might hide in objects.
554         * src/lisp.h (alignas) [!USE_LSB_TAG]:
555         Require support in this case, too.
556         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
557         This is OK, because the !USE_LSB_TAG case now applies only when
558         Lisp_Object is wider than void *, so there's no longer any need
559         to shift the offset.  Not shifting the offset means that
560         symbol representations have the same alignment as pointers,
561         which the GC assumes.
563 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
565         * doc/lispintro/emacs-lisp-intro.texi (Data types):
566         Improve documentation of 'substring'.
568 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
570         * lisp/character-fold.el (character-fold-table): Fix table generation
572 2015-06-24  Glenn Morris  <rgm@gnu.org>
574         * nextstep/Makefile.in (all): Make it the first target.
575         (../src/emacs${EXEEXT}): Add rule for making it.
577 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
579         * etc/NEWS: Fix mention to old function name
581         * lisp/character-fold.el: New file (Bug#20887)
582         (character-fold-to-regexp): New function.
583         * lisp/replace.el (replace-search): Check value of
584         `character-fold-search'.
585         * lisp/isearch.el: Move character-folding code to
586         character-fold.el
587         (isearch-toggle-character-fold): New command.
588         (isearch-mode-map): Bind it to "\M-sf".
589         (isearch-mode): Check value of `character-fold-search'.
591 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
593         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
594         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
595         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
597         * lisp/progmodes/xref.el: Avoid init-args in oref.
598         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
599         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
601 2015-06-24  Glenn Morris  <rgm@gnu.org>
603         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
605 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
607         * lisp/gnus/nnmaildir.el: Silence lexical warnings
608         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
609         functional style.
610         (nnmaildir--update-nov): Remove unused var `numdir'.
611         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
612         (nnmaildir-request-group, nnmaildir-request-create-group)
613         (nnmaildir-request-post, nnmaildir-request-move-article)
614         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
615         (nnmaildir-get-new-mail, nnmaildir-group-alist)
616         (nnmaildir-active-file): Declare.
617         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
618         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
619         `mark', `end', `new-mark', and `mark-sym'.
620         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
621         `nlist2'.
622         (nnmaildir-request-expire-articles):
623         Remove unused vars `article', `stop' and `nlist2'.
624         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
625         `end'.  Use nnmaildir--article when dyn-binding is needed.
626         Give the value directly in the `let' for `del-mark', `del-action',
627         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
628         (nnmaildir-close-server): Declare those local vars that need to be
629         dyn-bound.
631 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
633         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
635         Port selection info fix to clang
636         * src/keyboard.h (kbd_buffer_store_event_hold):
637         Don't assume C11 semantics for alignof (Bug#20756).
639         Fix bug that munged selection info
640         On some optimizing C compilers, copying a structure did not
641         copy the padding bytes between elements, and the type punning
642         between struct input_data and struct selection_input_data did
643         not work.  Change the C code to use a proper union type instead.
644         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
645         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
646         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
647         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
648         (mark_kboards):
649         Use union buffered_input_event, not struct input_event.
650         (clear_event, deliver_input_available_signal, process_special_events):
651         Remove unnecessary forward decls.
652         (kbd_buffer_store_buffered_event): New function, mostly just the
653         old kbd_buffer_store_event_hold, except its argument is of type
654         union buffered_input_event, not struct input_event.
655         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
656         not needed otherwise.  Argument is now of type
657         struct selection_input_event *, not struct input_event *.
658         All callers changed.
659         (clear_event): Arg is now of type union buffered_input_event *,
660         not struct input_event *.  All callers changed.
661         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
662         (union buffered_input_event): New type.
663         (kbd_buffer_store_event_hold): Now an inline function,
664         defined here.
665         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
666         (struct input_event): Use it.
667         * src/xselect.c (struct selection_event_queue):
668         Make elements be of type struct selection_input_event,
669         not struct input_event.
670         (selection_input_event_equal): New static function.
671         (x_queue_event): Use it.
672         (x_queue_event, x_decline_selection_request)
673         (x_selection_current_request, x_reply_selection_request)
674         (x_handle_selection_request, x_handle_selection_clear)
675         (x_handle_selection_event): Use struct selection_input_event,
676         not struct input_event.  All callers changed.
677         (x_convert_selection): Omit unused first arg.  All callers changed.
678         (Fx_disown_selection_internal): Omit unnecessary union.
679         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
680         rather than rolling our own equivalent.  Prefer sie.kind when
681         setting up that kind of structure.
682         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
683         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
684         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
685         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
686         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
687         (SELECTION_EVENT_TIME, x_handle_selection_event):
688         Arg is now of type struct selection_input_event *)
689         not struct input_event *.  All callers changed.
691 2015-06-23  Glenn Morris  <rgm@gnu.org>
693         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
695 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
697         * lisp/isearch.el: Fold many unicode characters to ASCII
698         (isearch-character-fold-search, isearch--character-fold-extras)
699         (isearch--character-fold-table): New variable.
700         (isearch--character-folded-regexp): New function.
701         (isearch-search-fun-default): Use them.
702         * lisp/replace.el (replace-character-fold): New variable.
703         (replace-search): Use it.
704         * etc/NEWS: Document it.
706 2015-06-23  Glenn Morris  <rgm@gnu.org>
708         Check for an input event before showing a dialog box.  (Bug#20813)
709         * lisp/subr.el (y-or-n-p):
710         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
711         as last-nonmenu-event.
713 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
715         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
716         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
717         (switch-to-prev-buffer, switch-to-next-buffer): Respect
718         switch-to-visible-buffer independent of the windows history.
720 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
722         * src/keyboard.c (last_timer_event): Remove unused var.
724 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
726         * test/automated/package-test.el (package-test-update-listing):
727         Fix test.
729 2015-06-23  Glenn Morris  <rgm@gnu.org>
731         Revert 2014-06-25 nextstep/Makefile change.
732         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
733         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
734         not as an order-only prerequisite.
736         * configure.ac (--with-ns): Enable by default on OS X.
738 2015-06-23  Leo Liu  <sdl.web@gmail.com>
740         Fix shell-for/backward-command to exclude spaces
741         * lisp/shell.el (shell-forward-command, shell-backward-command):
742           Handle the 'move case from re-search-forward/backward.
743           fixes debbugs:20873
745 2015-06-22  Juri Linkov  <juri@linkov.net>
747         * lisp/replace.el (query-replace-read-from): Add separator to
748         the local binding of text-property-default-nonsticky.  (Bug#20690)
750         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
751         (Bug#20785)
753 2015-06-22  Ken Brown  <kbrown@cornell.edu>
755         Enable CPU profiling on Cygwin
756         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
757         change that undefined this.
758         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
759         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
760           Cygwin.
762         Improve diagnostics of profiler-cpu-start
763         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
764         return -1 if the sampling interval is invalid.
765         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
766         fails.  (Bug#20843)
768 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
770         * lisp/emacs-lisp/package.el: Exclude packages by name
771         (package-hidden-regexps): New variable.
772         (package-menu--refresh): Use it.
773         (package-menu-hide-package): New command.
775         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
777 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
779         Fix debug-timer-check on systems without HAVE_TIMERFD
780         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
781         the expired timers, since wait_reading_process_output doesn't.
782         (debug_timer_callback): Enlarge the tolerance to 20 msec.
784         Fix RCS crashes in vc-test
785         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
786         ports of 'ci' on MS-Windows by always passing the -t- switch.
788 2015-06-22  Glenn Morris  <rgm@gnu.org>
790         * doc/emacs/package.texi (Packages):
791         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
793         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
795 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
797         Port tests to help-quote-translation
798         * test/automated/ert-x-tests.el (ert-test-describe-test):
799         * test/automated/package-test.el (package-test-describe-package)
800         (package-test-signed): Allow straight quotes, too.
802 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
804         Make find-function-on-key use the current window
805         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
806         Extract from `find-function-on-key', add a second argument.
807         (find-function-on-key): Use it (bug#19679).
808         (find-function-on-key-other-window)
809         (find-function-on-key-other-frame): New commands.
811 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
813         Revert "Define `map-elt' as a generalized variable"
814         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
816 2015-06-21  Ken Brown  <kbrown@cornell.edu>
818         Drop support for CPU profiling on Cygwin
819         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
820         (Bug#20843)
822 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
824         Fix some “nested” quoting confusion in doc strings
825         * lisp/emacs-lisp/advice.el (ad-map-arglists):
826         * lisp/kermit.el (kermit-clean-on):
827         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
828         * src/keyboard.c (Frecursive_edit):
829         Use curved quotes when quoting text containing apostrophe,
830         so that the apostrophe isn't curved in the output.
832 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
834         Define `map-elt' as a generalized variable
835         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
836         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
837         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
838         `setf' with `map-elt'.
839         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
841 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
843         Improve error handling in tramp-adb.el
844         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
845         Improve error handling.
847 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
849         Reuse `alist-get' in map.el
850         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
851         elements.
853 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
855         Fix bytecomp-tests--warnings when $TMPDIR has a long name
856         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
857         Allow the warning to begin on the 3rd, not only 2nd line, which
858         happens if temporary-file-directory has a very long name.
860         Expect 2 icalendar tests to fail on MS-Windows
861         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
862         (icalendar-real-world): Make them expected failures on MS-Windows.
864 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
866         Improve port of settings UI to older displays
867         * lisp/cus-start.el (standard): Don't assume curved quotes are
868         easily distinguishable when users are tinkering with a setting
869         that affects how curved quotes are generated.
871         Fix quoting in electric-quote-mode doc string
872         * lisp/electric.el (electric-quote-mode): Fix quoting.
873         This is a fallout from the recent change introducing
874         ‘help-quote-translation’.
876         Spelling fix
878         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
880         * src/doc.c (syms_of_doc): Remove unused symbols.
882 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
884         In ‘window-state-put’ undedicate target window.  (Bug#20848)
885         * lisp/window.el (window-state-put): Undedicate target window
886         before putting STATE into it.  (Bug#20848)
888 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
890         Merge from origin/emacs-24
891         a5e6f33 Fixes: debbugs:20832
892         b9f02cf Fixes: debbugs:20832
894 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
896         Fix file-in-directory-p when the directory is UNC
897         * lisp/files.el (file-in-directory-p): Support files and
898         directories that begin with "//".  (Bug#20844)
900 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
902         (Bug#20832)
903         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
904         in the minibuffer.
906 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
908         (Bug#20832)
909         * lisp/calendar/todo-mode.el (todo-show): Signal an error
910         if buffer for adding new todo file is empty but modified.
912 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
914         (filepos-to-bufferpos): Further tweaks to the utf-16 code
915         * lisp/international/mule-util.el (filepos-to-bufferpos):
916         Fix typo.  Move non-exact check to the utf-16 branch (the only one
917         affected).  Don't use byte-to-position for the utf-16 case.
919 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
921         Minor fixes in filepos-to-bufferpos
922         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
923         test for utf-8-emacs.  Exempt single-byte encodings from the
924         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
925         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
926         UTF-16 encoded files for CR-LF EOLs.
928 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
930         Improve the optional translation of quotes
931         Fix several problems with the recently-added custom variable
932         help-quote-translation where the code would quote inconsistently
933         in help buffers.  Add support for quoting 'like this', which
934         is common in other GNU programs in ASCII environments.  Change
935         help-quote-translation to use more mnemonic values: values are now the
936         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
937         traditional Emacs help-buffer quoting style `like this'.  Change the
938         default behavior of substitute-command-keys to match what's done in
939         set-locale-environment, i.e., quote ‘like this’ if displayable,
940         'like this' otherwise.
941         * doc/lispref/help.texi (Keys in Documentation): Document
942         new behavior of substitute-command-keys, and document
943         help-quote-translation.
944         * doc/lispref/tips.texi (Documentation Tips):
945         Mention the effect of help-quote-translation.
946         * etc/NEWS: Mention new behavior of substitute-command-keys,
947         and merge help-quote-translation news into it.
948         When talking about doc strings, mention new ways to type quotes.
949         * lisp/cedet/mode-local.el (overload-docstring-extension):
950         Revert my recent change to this function, which shouldn't be
951         needed as the result is a doc string.
952         * lisp/cedet/mode-local.el (mode-local-print-binding)
953         (mode-local-describe-bindings-2):
954         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
955         * lisp/cus-theme.el (describe-theme-1):
956         * lisp/descr-text.el (describe-text-properties-1, describe-char):
957         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
958         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
959         (eieio-help-constructor):
960         * lisp/emacs-lisp/package.el (describe-package-1):
961         * lisp/faces.el (describe-face):
962         * lisp/help-fns.el (help-fns--key-bindings)
963         (help-fns--compiler-macro, help-fns--parent-mode)
964         (help-fns--obsolete, help-fns--interactive-only)
965         (describe-function-1, describe-variable):
966         * lisp/help.el (describe-mode):
967         Use substitute-command-keys to ensure a more-consistent quoting
968         style in help buffers.
969         * lisp/cus-start.el (standard):
970         Document new help-quote-translation behavior.
971         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
972         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
973         (help-xref-url-regexp):
974         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
975         * lisp/wid-edit.el (widget-documentation-link-regexp):
976         Also match 'foo', in case we're in a help buffer generated when
977         help-quote-translation is ?'.
978         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
979         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
980         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
981         (Fsubstitute_command_keys): Document and implement new behavior.
982         (Vhelp_quote_translation): Document new behavior.
984 2015-06-18  Glenn Morris  <rgm@gnu.org>
986         * lisp/cus-start.el (help-quote-translation): Add :version.
988         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
990 2015-06-18  Alan Mackenzie  <acm@muc.de>
992         Make translation of quotes to curly in doc strings optional.
993         src/doc.c (traditional, prefer-unicode): new symbols.
994         (help-quote-translation): new variable.
995         (Fsubstitute_command_keys): make translation of quotes dependent on
996         `help-quote-translation'; also translate curly quotes back to ASCII
997         ones.
998         lisp/cus-start.el (top-level): Add a customization entry for
999         `help-quote-translation'.
1001 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
1003         * lisp/emacs-lisp/package.el: Don't always propagate async errors
1004         (package--with-work-buffer-async): Only propagate the error if the
1005         callback returns non-nil.
1006         (package--download-one-archive): Return nil on the signature
1007         checking callback if we accept unsigned.
1008         (package--download-and-read-archives): Return non-nil on the
1009         archive download callback.
1011 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
1013         Fix last fix"
1015         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
1016         * src/nsfns.m (Fx_create_frame):
1017         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
1018         image_cache_refcount before first x_default_parameter call.
1020 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
1022         Improve and extend filepos-to-bufferpos
1023         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
1024         Don't barf if F returns nil for some argument.
1025         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
1026         that every encoding of type 'charset' is single-byte.
1028 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
1030         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
1031         Properly delete packages.  (Bug#20836)
1033 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
1035         Update data files from just-released Unicode 8.0
1036         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
1037         status.
1038         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
1039         * admin/unidata/BidiMirroring.txt:
1040         * admin/unidata/BidiBrackets.txt:
1041         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
1043 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
1045         Document curved quotes a bit better
1046         * doc/emacs/basic.texi (Inserting Text):
1047         Mention C-x 8.  Change example to use curved quote rather
1048         than infinity, as this lets us give more ways to do it.
1049         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
1050         and quotation marks.
1051         * doc/emacs/text.texi (Quotation Marks):
1052         * doc/lispref/tips.texi (Documentation Tips):
1053         Add "curly quotes" and "curved quotes" to the index.
1054         * doc/emacs/text.texi (Quotation Marks):
1055         Give the C-x 8 shorthands for curved quotes.
1056         Cross-reference to "Quotation Marks".
1058 2015-06-17  Daiki Ueno  <ueno@gnu.org>
1060         Add pinentry.el for better GnuPG integration
1061         * lisp/pinentry.el: New file.
1062         * etc/NEWS: Add entry about pinentry.el.
1063         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
1064         (Bug#20550)
1066 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1068         * lisp/emacs-lisp/package.el: Slightly better error reporting.
1070 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
1072         (define-minor-mode): Use setq-default for :global minor modes
1073         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
1074         Use setq-default for :global minor modes (bug#20712).
1076 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
1078         Avoid infloop in redisplay with tall images
1079         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
1080         down near ZV.  (Bug#20808)
1081         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
1082         instead of CHARPOS.
1084 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1086         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1087         Fix error reporting.
1089         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
1091         * lisp/emacs-lisp/package.el: Revert buffer after any operation
1092         Call `package-menu--post-refresh' after any operation that changes
1093         the package database (`package-install' and `package-delete').  To
1094         avoid performance issues in large transactions, these functions
1095         add `post-refresh' to `post-command-hook' instead of calling it
1096         immediately.
1097         (package-menu--mark-or-notify-upgrades): New function.
1098         (list-packages): Add it to `package--post-download-archives-hook'.
1099         (package-menu--post-refresh): Lose the upgrade-checking code, add
1100         code to remove itself from `post-command-hook'.
1101         (package-install, package-delete): Add it to `post-command-hook'.
1102         (package-menu-execute): Don't call `package-menu--post-refresh'.
1104 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
1106         Add missing function xref-location-group for elisp-mode.
1107         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
1109 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
1111         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
1112         The behavior now matches the description in the manual.  (Bug#20783)
1114 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
1116         Update tutorials/TUTORIAL.cn
1117         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
1119 2015-06-17  Glenn Morris  <rgm@gnu.org>
1121         Generate char-script-table from Unicode source.  (Bug#20789)
1122         * admin/unidata/Makefile.in (AWK): New, set by configure.
1123         (all): Add charscript.el.
1124         (blocks): New variable.
1125         (charscript.el, ${unidir}/charscript.el): New targets.
1126         (extraclean): Also remove generated charscript.el.
1127         * admin/unidata/blocks.awk: New script.
1128         * admin/unidata/Blocks.txt: New data file, from unicode.org.
1129         * lisp/international/characters.el: Load charscript.
1130         * src/Makefile.in (charscript): New variable.
1131         (${charscript}): New target.
1132         (${lispintdir}/characters.elc): Depend on charscript.elc.
1133         (temacs$(EXEEXT)): Depend on charscript.
1135         * lisp/international/characters.el (char-script-table): Tweak
1136         some ranges to better match the source.  (Bug#20789#17)
1138         Remove "no-byte-compile: t" from a few files.
1139         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
1140         * lisp/obsolete/patcomp.el: No reason not to compile these.
1142 2015-06-16  Glenn Morris  <rgm@gnu.org>
1144         Fix some typos in copied Unicode data.  (Bug#20789)
1145         * lisp/international/characters.el (char-script-table):
1146         * lisp/international/fontset.el (script-representative-chars)
1147         (setup-default-fontset): Fix typos.
1149         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
1150         Don't print filename twice (it's in the prefix now).
1152         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
1153         No longer needed.
1155         Address a compilation warning.
1156         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
1157         Replace 't' with '_' in pcase.
1159         Address some check-declare warnings.
1160         * lisp/simple.el (tabulated-list-print):
1161         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
1162         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
1163         (ns-get-selection): Update declarations.
1165         Address some compilation warnings.
1166         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
1167         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
1168         Replace 't' with '_' in pcase.
1170         Address some compilation warnings.
1171         * lisp/face-remap.el (text-scale-adjust):
1172         * lisp/menu-bar.el (popup-menu-normalize-position):
1173         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
1174         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
1175         * lisp/emacs-lisp/generator.el (cps--transform-1):
1176         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
1177         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
1178         * lisp/progmodes/octave.el (octave-goto-function-definition)
1179         (octave-find-definition-default-filename):
1180         Replace 't' with '_' in pcase.
1182         * lisp/emacs-lisp/pcase.el (pcase--u1):
1183         Paper-over today's bootstrap failure.
1185 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
1187         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
1189         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
1191         Better confirmation message in `find-alternate-file' (Bug#20830)
1192         * lisp/files.el (find-alternate-file'): Improve the confirmation
1193         message to show the buffer name.
1195         Better docstring for null. (Bug#20815)
1196         * src/data.c (null): Improves the docstring, saying what null returns
1197         when OBJECT is non-nil.
1199 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
1201         * lisp/net/newst-treeview.el: Use lexical-binding.
1203         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
1204         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
1205         New auxiliary function, extracted from filepos-to-bufferpos.
1206         Make sure it terminates.
1207         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
1208         Add support for the `exact' quality.
1210 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
1212         Identify feeds in newsticker treeview with :nt-feed property
1213         * lisp/net/newst-treeview.el:
1214         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
1216 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
1218         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
1219         (pcase--self-quoting-p): Floats aren't self-quoting.
1220         (pcase): Tweak docstring.
1221         (pcase--u1): Deprecate the t pattern.  Improve error detection for
1222         the nil pattern.
1223         (\`): Tweak docstring.  Signal an error for unrecognized cases.
1224         (bug#20784)
1226 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
1228         Fix infloop in filepos-to-bufferpos
1229         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
1230         offset calculation, and make it conditional on the eol-type of the
1231         file's encoding.  (Bug#20825)
1233 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
1235         Fix handling of image cache refcounts.  (Bug#20802)
1236         This backports Eli Zaretskii's solution of this problem for W32
1237         to X and NS.
1238         * src/nsfns.m (image_cache_refcount): Define unconditionally.
1239         (unwind_create_frame): If the image cache's reference count
1240         hasn't been updated yet, do that now.
1241         (Fx_create_frame): Set image_cache_refcount unconditionally.
1242         * src/xfns.c (image_cache_refcount): Define unconditionally.
1243         (unwind_create_frame): If the image cache's reference count
1244         hasn't been updated yet, do that now.
1245         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
1246         unconditionally.
1247         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
1248         X and NS.
1250 2015-06-16  Nils Ackermann  <nils@ackermath.info>
1252         Improve reftex-label-regexps default value
1253         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
1254         keyvals label regexp more strict to better cope with unbalanced
1255         brackets common in math documents.
1257 2015-06-16  Glenn Morris  <rgm@gnu.org>
1259         * doc/emacs/calendar.texi (Format of Diary File):
1260         Move "nonmarking" from here...
1261         (Displaying the Diary): ... to here.
1263         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
1264         Swap the order of these nodes.
1265         * doc/emacs/emacs.texi: Update detailed menu for the above change.
1267         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
1268         Update date of examples.
1269         (Diary, Format of Diary File): Move example from former to latter.
1270         Reduce duplication.
1272         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
1273         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
1274         Don't set no-byte-compile in the outputs.
1275         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
1277 2015-06-15  Glenn Morris  <rgm@gnu.org>
1279         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
1280         * doc/emacs/calendar.texi (Diary, Format of Diary File):
1281         Update for above diary-file change.
1282         : * etc/NEWS: Mention this.
1284         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
1285         (apply-macro-to-region-lines): Use user-error.
1287         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
1288         (pages-directory-for-addresses): Doc fixes.
1290 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
1292         * lisp/info.el: Cleanup bytepos/charpos issues
1293         * lisp/international/mule-util.el: Use lexical-binding.
1294         (filepos-to-bufferpos): New function.
1295         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
1296         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
1297         (Info-read-subfile, Info-search): Use 0-based file positions.
1299         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
1300         (perl--syntax-exp-intro-keywords): New var.
1301         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
1302         (bug#20800).
1304 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1306         Fix quoting when making derived mode docstring
1307         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
1308         Nest regexp-quote inside format, not the reverse.
1309         Problem reported by Artur Malabarba in:
1310         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
1312 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
1314         ;* src/fontset.c: Update obsolete commentary.
1316         Fix current-iso639-language on MS-Windows
1317         * lisp/international/mule-cmds.el (set-locale-environment):
1318         Downcase the locale name before interning it.  This is so the
1319         'current-iso639-language' on MS-Windows matches the ':lang'
1320         property of font-spec objects.
1322         Limit Symbola usage some more
1323         * lisp/international/fontset.el (setup-default-fontset): Limit
1324         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
1325         (Bug#20727)
1327 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
1329         * lisp/emacs-lisp/map.el (map-let): Better docstring.
1331 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1333         Spelling fixes
1335 2015-06-14  Glenn Morris  <rgm@gnu.org>
1337         * lisp/version.el (emacs-repository-version-git): Demote errors.
1338         Check result is a hash.
1340 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
1342         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1343         Catch errors that happen before going async.  (Bug#20809)
1345 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
1347         Another improvement of documentation of set-fontset-font
1348         * doc/lispref/display.texi (Fontsets): Say explicitly that
1349         CHARACTER can be a single codepoint.
1350         * src/fontset.c (Fset_fontset_font): Doc fix.
1352         Another improvement for symbol and punctuation characters
1353         * lisp/international/fontset.el (setup-default-fontset): Exclude
1354         from Symbola character ranges for symbols and punctuation covered
1355         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
1356         installed and where its coverage of symbols and punctuation is
1357         known to be good.  (Bug#20727)
1359 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
1361         Some generic support for multi-mode indentation.
1362                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
1363                 variable.
1364                 (prog-first-column, prog-widen): New convenience functions.
1366 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
1368         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
1369         Don't assume that `tabulated-list-printer' will leave point at the
1370         end of the buffer.  (Bug#20810)
1372 2015-06-13  Glenn Morris  <rgm@gnu.org>
1374         Tweaks for getting repository version; a bit more like it was for bzr.
1375         * lisp/version.el (emacs-repository-version-git)
1376         (emacs-repository--version-git-1): New functions,
1377         split from emacs-repository-get-version.
1378         (emacs-repository-get-version): Make the second argument meaningful.
1380         * lisp/startup.el (command-line-1): Inform if skipping relative
1381         file names due to deleted PWD.
1383         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
1384         when starup directory is missing.  (Bug#18851)
1385         (errno.h): Include it.
1387 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
1389         Better fix for documenting `X as "`X"
1390         Fix suggested by Stefan Monnier.
1391         * lisp/help-fns.el (help-fns--signature):
1392         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
1393         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
1394         Don't treat `X specially, as help-fns--signature now handles this.
1396 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
1398         Improve the default fontset when Symbola is not installed
1399         * lisp/international/fontset.el (setup-default-fontset): Only
1400         prepend Symbola and FreeMono font specs for symbols and
1401         punctuation; do not replace the default spec for them.  This
1402         should have better results when Symbola/FreeMono are not
1403         installed.  (Bug#20727)
1405         Improve documentation of ':lang' in font specs
1406         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
1407         use of the ':lang' property of the font spec.
1408         * doc/emacs/frames.texi (Fonts): Document the language names that
1409         can be in the STYLE part of XLFD.
1410         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
1411         property.
1413         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
1415         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
1417         Revert last change in fontset.el
1418         * lisp/international/fontset.el (setup-default-fontset): Revert
1419         the change "Configure Symbola font only if installed", since font
1420         search is evidently not yet set up when this function is called.
1421         (Bug#20727)
1423 2015-06-12  Glenn Morris  <rgm@gnu.org>
1425         Ensure early startup warnings are visible at the end.  (Bug#20792)
1426         * lisp/emacs-lisp/warnings.el (display-warning):
1427         If startup isn't complete, delay the warning.
1428         * lisp/startup.el (normal-top-level, command-line):
1429         Let display-warning automatically handle the needed delays.
1430         Run delayed-warnings-hook.
1432         * lisp/version.el (emacs-repository-get-version):
1433         Avoid calling external executable if possible.  (Bug#20799)
1435 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1437         Document `X as "`X", not as "(` X)"
1438         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
1439         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
1441         * src/print.c (print_object): Minor simplification.
1443 2015-06-12  Glenn Morris  <rgm@gnu.org>
1445         * src/buffer.c (init_buffer): Add final newline to message.
1447 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1449         Configure Symbola font only if installed
1450         * lisp/international/fontset.el (setup-default-fontset):
1451         Don't specify the Symbola font if it's not installed.
1452         Likewise for FreeMono.  (Bug#20727)
1454 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
1456         Configure Symbola font only for symbols and punctuation
1457         * lisp/international/fontset.el (setup-default-fontset): Leave
1458         only symbols and punctuation in the fontset setup for Symbola
1459         font; remove "Greek and Coptic" and "Cyrillic Supplement".
1460         (Bug#20798)
1462 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
1464         Fix crash in fontset-info
1465         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
1466         non-nil.
1468 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1470         Port to Solaris 10 sparc + Sun C 5.13
1471         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
1472         Adjust to process.c change.
1473         * src/process.c (create_process): Declare volatile variables at
1474         top level of this function, so that they're less likely to be
1475         reused later in the function in the code executed by the vforked
1476         child.  Do not declare locals used only in the vforked child, as
1477         they might share memory with locals still live in the parent.
1478         Instead, use the same variables in the child as in the parent.
1479         This works around a subtle bug that causes a garbage collector
1480         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
1482 2015-06-12  Glenn Morris  <rgm@gnu.org>
1484         * lisp/startup.el (normal-top-level): Don't let *Messages* get
1485         a nil default-directory.
1487 2015-06-11  Glenn Morris  <rgm@gnu.org>
1489         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
1491         Some progress towards starting with PWD deleted.  (Bug#18851)
1492         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
1493         * lisp/startup.el (normal-top-level, command-line-1):
1494         * lisp/minibuffer.el (read-file-name-default):
1495         Handle default-directory being nil.
1497 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
1499         Fix "not a tty" bug on Solaris 10
1500         * configure.ac (PTY_OPEN): Define to plain 'open'
1501         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
1502         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
1503         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
1504         hosts that call grantpt which does its work via a setuid subcommand
1505         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
1506         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
1507         seems relevant in that case too.
1509 2015-06-11  Juri Linkov  <juri@linkov.net>
1511         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
1512         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
1513         (Bug#20785)
1515 2015-06-11  Glenn Morris  <rgm@gnu.org>
1517         * lisp/international/characters.el (char-script-table): Fix typo.
1519 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
1521         Fix quoting of help for functions with odd names
1522         While investigating Bug#20759, I discovered other quoting problems:
1523         C-h f mishandled characters like backslash and quote in function names.
1524         This fix changes the behavior so that 'C-h f pcase RET' now
1525         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
1526         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
1527         in src/lread.c's read1 function says that the backslash will be
1528         needed starting in Emacs 25, which implies that 'format' is
1529         correct and the old pcase documention was wrong to omit the backslash.
1530         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
1531         * lisp/help-fns.el (help-fns--signature):
1532         * lisp/help.el (help-add-fundoc-usage):
1533         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
1534         Use help--make-usage-docstring rather than formatting
1535         help-make-usage.
1536         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
1537         Return raw docstring.
1538         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
1539         raw docstring.  Take more care to distinguish raw from cooked dstrings.
1540         (describe-function-1): Let help-fns--signature substitute
1541         command keys.
1542         * lisp/help.el (help--docstring-quote): New function.
1543         (help-split-fundoc): Use it, to quote funny characters more
1544         systematically.
1545         (help--make-usage): Rename from help-make-usage, since this
1546         should be private.  Leave an obsolete alias for the old name.
1547         (help--make-usage-docstring): New function.
1548         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
1550 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
1552         * lisp/thingatpt.el (in-string-p): Revert last change,
1553         since in-string-p is not used in thingatpt.el but only from outside.
1554         Also, use lexical binding.
1556 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
1558         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
1559         * test/automated/let-alist.el (let-alist-cons): Test it.
1561 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1563         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
1565 2015-06-10  Glenn Morris  <rgm@gnu.org>
1567         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
1569         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
1570         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
1571         * admin/gitmerge.el (gitmerge-commit-message):
1572         Exclude "skipped" messages from ChangeLog once again.
1574         Slight namespace cleanup for thingatpt.el.
1575         * lisp/thingatpt.el (thing-at-point--in-string-p)
1576         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
1577         (thing-at-point--read-from-whole-string): Rename from
1578         old versions without "thing-at-point--" prefix.
1579         Keep old versions as obsolete aliases.  Update all uses.
1581         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
1582         Move requiring of finder from here...
1583         (checkdoc-package-keywords): ... to here.
1585         Use 'user-error' in a few calendar files.
1586         * lisp/calendar/appt.el (appt-add):
1587         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
1588         (calendar-generate):
1589         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
1590         Replace 'error' with 'user-error'.
1592         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
1594         * lisp/files-x.el (add-file-local-variable):
1595         Special-case 'lexical-binding'.  (Bug#20641)
1597         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
1598         No longer autoload.
1599         * doc/misc/autotype.texi (Executables):
1600         Undocument executable-self-display.
1602         * lisp/progmodes/executable.el (executable-self-display):
1603         Use non-obsolete tail syntax.  (Bug#20779)
1604         (executable-self-display): Doc update.
1606 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1608         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
1609         (finder-known-keywords): Silence byte-compiler.
1611 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
1613         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
1615         * lisp/progmodes/sh-script.el: Better handle nested quotes
1616         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
1617         (sh-font-lock-quoted-subshell): Make sure double quotes within single
1618         quotes don't mistakenly end prematurely the surrounding string.
1620         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
1622 2015-06-09  Glenn Morris  <rgm@gnu.org>
1624         * test/automated/Makefile.in (ELFILES): Sort.
1626         * Makefile.in (SUBDIR_MAKEFILES):
1627         * lwlib/Makefile.in (WARN_CFLAGS):
1628         Use built-in Make functions rather than echo+sed.
1630 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
1632         Update char-script-table
1633         * lisp/international/characters.el (char-script-table): Update
1634         from Unicode 8.0 Draft.
1636         Improve font selection for punctuation and other symbols
1637         * src/fontset.c (face_for_char): If the character's script is
1638         'symbol', and the font used for ASCII face has a glyph for it, use
1639         the font for the ASCII face instead of searching the fontsets.
1640         This comes instead of NS-specific code that used the current
1641         face's font instead, which is now disabled due to undesirable
1642         consequences.  (Bug#20727)
1644 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
1646         Skip past `#' to find BEG
1647         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
1648         past `#' to find BEG (bug#20771).
1649         * test/automated/elisp-mode-tests.el
1650         (elisp-completes-functions-after-hash-quote): New test.
1652 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
1654         Fix compilation warning/error in --without-x builds
1655         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
1656         code on HAVE_WINDOW_SYSTEM.
1658         Improve the default fontset wrt symbols
1659         * lisp/international/fontset.el (setup-default-fontset): Better
1660         setup of fontset-default for symbols: use Symbola and FreeMono.
1661         (Bug#20727)
1663 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
1665         Add new command checkdoc-package-keywords
1666         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
1667           defcustom.
1668         (checkdoc-list-of-strings-p): Add doc.
1669         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
1670         non-nil, call `checkdoc-package-keywords'.
1671         (checkdoc-get-keywords): New defun.
1672         (checkdoc-package-keywords): New command. Warns if the current file
1673         has package.el-style keywords that aren't in `finder-known-keywords'.
1674         * etc/NEWS: Add entry.
1676 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
1678         Avoid crashes when key-binding is called from a timer
1679         * src/keymap.c (Fkey_binding): Don't segfault if called with an
1680         empty vector as KEY.  (Bug#20705)
1682         Fix a thinko in arc-mode.el
1683         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
1684         non-Zip64 case.  (Bug#20769)
1686 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
1688         * lisp/emacs-lisp/package.el (package-delete): Make interactive
1690 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
1692         checkdoc.el (checkdoc-file): New function
1693         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
1694           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
1695           to the standard output.
1696         (bug#20754)
1698 2015-06-07  Glenn Morris  <rgm@gnu.org>
1700         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
1702         * src/font.c (syms_of_font) <font-log>: Doc fix.
1704         Remove the obsolete leading "*" from some C doc strings.
1705         * src/coding.c (syms_of_coding):
1706         * src/font.c (syms_of_font): Remove leading "*" from docs.
1707         * lisp/cus-start.el (enable-character-translation): Add it.
1709 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
1711         Move gen_origin from program to data
1712         That way, 'make change-history' needs to change only ChangeLog.2,
1713         instead of having to change two files.
1714         * ChangeLog.2: Add commit info for range that this file covers.
1715         * Makefile.in (new_commit_regexp): New macro.
1716         (change-history-nocommit): Simplify, by putting what used to be
1717         the gen_origin value into the data (ChangeLog.2) rather than
1718         into the program (gitlog-to-emacslog).
1719         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
1720         the input file (e.g., ChangeLog.2) rather than by having a
1721         constant in the program.  Substitute it into the output.
1723 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
1725         Escape any quotes in the function name
1726         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
1727         function name (bug#20759).
1729 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
1731         Adapt 'struct timespec' to next release of MinGW runtime
1732         * nt/inc/ms-w32.h (struct timespec): Don't declare if
1733         __struct_timespec_defined is defined.
1735 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
1737         Merge from gnulib
1738         This incorporates:
1739         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
1740         2015-06-05 stdio: Don't redefine gets when using C++
1741         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
1742         2015-06-02 file-has-acl: fix build on Mac OS X 10
1743         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
1744         2015-06-01 pthread_sigmask: discount system version if a simple macro
1745         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
1746         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
1747         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
1748         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
1749         * lib/gnulib.mk: Regenerate.
1751 2015-06-06  Juri Linkov  <juri@linkov.net>
1753         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
1754         before calling grep-compute-defaults because now it affects the
1755         command lines computed in grep-compute-defaults. (Bug#20728)
1757 2015-06-06  Glenn Morris  <rgm@gnu.org>
1759         Address some compilation warnings.
1760         * lisp/international/mule-cmds.el (w32-get-console-codepage)
1761         (w32-get-console-output-codepage):
1762         * lisp/progmodes/elisp-mode.el (xref-collect-references):
1763         * lisp/version.el (cairo-version-string): Declare.
1764         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
1766 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
1768         Fix display when a font claims large values of ascent and descent
1769         This fixes bug#20628.
1770         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
1771         coordinate of a hollow cursor glyph when the original glyph's
1772         ascent is too small.
1773         (get_font_ascent_descent, normal_char_ascent_descent)
1774         (normal_char_height): New functions.
1775         (handle_single_display_spec, append_space_for_newline)
1776         (calc_pixel_width_or_height, produce_stretch_glyph)
1777         (calc_line_height_property): Use normal_char_ascent_descent and
1778         normal_char_height.
1779         (x_produce_glyphs): When font-global values of ascent and descent
1780         are too large, use per-character glyph metrics instead, if
1781         possible.  But don't allow the glyph row's ascent and descent
1782         values become smaller than the values from the metrics of the
1783         font's "normal" character.
1784         * src/xftfont.c (xftfont_draw):
1785         * src/w32font.c (w32font_draw): Correct the values of ascent and
1786         descent used to draw glyphless characters' hex code in a box.
1787         * src/xterm.c (x_draw_glyph_string_background):
1788         * src/xdisp.c (x_produce_glyphs):
1789         * src/w32term.c (x_draw_glyph_string_background):
1790         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
1791         to detect fonts whose global ascent and descent values are too
1792         large to be used in layout decision, and redraw the background
1793         when that happens.
1794         * src/dispextern.h (FONT_TOO_HIGH): New macro.
1795         (get_font_ascent_descent): Add prototype.
1796         * src/xterm.c (x_new_font):
1797         * src/w32term.c (x_new_font):
1798         * src/nsterm.m (x_new_font):
1799         * src/font.c (font_open_entity):
1800         * src/composite.c (composition_gstring_width): Use
1801         get_font_ascent_descent to obtain reasonable values for ascent and
1802         descent of a font.
1804 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
1806         Add assertion in adjust_point_for_property
1807         * src/keyboard.c (adjust_point_for_property): Add eassert for
1808         current buffer being shown in selected window.
1810 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
1812         Replace uses of in-string-p; make it obsolete
1813         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
1814         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
1816 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
1818         Fix Dired display of an explicit list of files by ls-lisp.el
1819         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
1820         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
1821         correct for when displaying individual files separately, not as
1822         part of listing a directory, in which case these values are not
1823         recomputed by 'ls-lisp-insert-directory', but used verbatim.
1825         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
1827 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
1829         Do not adjust point in a non-selected window
1830         * src/keyboard.c (command_loop_1): Do not adjust point when
1831         current buffer is not shown in selected window (Bug#20590).
1833         * etc/DEBUG: Mention 'maybe_call_debugger'
1835 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
1837         Fix a unit test for map.el
1838         * test/automated/map-tests.el (test-map-let): Fix the test to work
1839         with the new syntax of `map-let'.
1841         * lisp/emacs-lisp/map.el (map-let): Better docstring.
1843         Better syntax for the map pcase pattern
1844         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
1845         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
1847         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
1849         Fix a byte-compiler error in map-put and map-delete
1850         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
1851         called with a symbol.
1853 2015-06-05  Glenn Morris  <rgm@gnu.org>
1855         * admin/gitmerge.el (gitmerge-commit-message):
1856         Revert to including "skipped" messages in ChangeLog once again.
1858 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
1860         Use string> instead of equiv lambda with string<
1861         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
1862         lambda with string<.
1864 2015-06-05  Glenn Morris  <rgm@gnu.org>
1866         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
1867         (map--delete-array): Fix typo.
1869         * test/automated/map-tests.el: Replace "assert" with "should".
1871         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
1872         (SUBDIRS_REL): Derive from SUBDIRS.
1874         Tweak some build messages.
1875         * lisp/Makefile.in ($(lisp)/loaddefs.el):
1876         * lisp/cus-dep.el (custom-make-dependencies):
1877         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
1878         * lisp/international/titdic-cnv.el (batch-titdic-convert):
1879         Don't say how to compile.
1881 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
1883         Omit U+0332 COMBINING LOW LINE in previous change
1884         It turns out that it does not work on Ubuntu 15.04.
1886         Fix transliteration of Bahá'í months
1887         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
1888         Improve quality of Latin transliteration of Bahá'í month names.
1890         Fix curved quotes in a few places
1891         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
1892         The strings in question are not doc strings, so this partially
1893         undoes the recent change that assumed they were doc strings.
1894         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
1895         * lisp/info.el (Info-finder-find-node):
1896         Use curved quotes.
1897         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
1898         Also allow curved quotes in doc strings.
1900 2015-06-04  Glenn Morris  <rgm@gnu.org>
1902         * lisp/Makefile.in (AM_V_at): Add missing definition.
1904         * lisp/Makefile.in: Quieten output a bit.
1905         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
1906         Don't echo directories, since the commands we invoke print them.
1908         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
1909         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
1910         (SUBDIRS_SUBDIRS): New variables.
1911         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
1912         Remove.
1913         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
1914         (update-subdirs, compile-main, compile-clean):
1915         Replace "setwins" usage with new "SUBDIRS" variables.
1917         * lisp/vc/compare-w.el (compare-windows-get-window-function):
1918         Fix :version tag.
1920 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1922         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
1924         Undo removal of x_clear_area call on expose for GTK3 or cairo.
1925         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
1926         exposed area.  (Bug#20677)
1928 2015-06-04  Glenn Morris  <rgm@gnu.org>
1930         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
1932         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
1934         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
1935         Rename from quail-lao-update-translation, since lao.el defines that.
1937 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
1939         Handle new-style advice in find-funct
1940         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
1941         Handle new-style advice.  Return the symbol's function definition.
1942         (Bug#20718)
1943         (find-function-library): Update accordingly.
1945 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
1947         Merge branch 'map'
1949         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
1951         Add new function string-greaterp
1952         * lisp/subr.el (string-greaterp): New function.  Also aliased to
1953         `string>'.
1954         * test/automated/subr-tests.el (string-comparison-test): Add unit
1955         tests for `string>'and `string<'.
1956         * src/fns.c (string-lessp): Better docstring.
1958 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
1960         Fix timezone-related functions on MS-Windows
1961         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
1962         'xputenv', even if no reallocation of tzvalbuf was necessary.
1963         This fixes a bug in timezone-related functions on MS-Windows.
1964         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
1966 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
1968         Don't pass raw directory name to 'error'
1969         * lisp/files.el (basic-save-buffer-2): Avoid format error if
1970         a directory name contains a string like "%s".
1972 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
1974         Override 'grep --color=always'
1975         * lisp/progmodes/xref.el (xref-collect-matches):
1976         Override --color=always in grep-find-template.
1978 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
1980         Fix error introduced recently in file-notify-tests.el
1981         * test/automated/file-notify-tests.el
1982         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
1983         (file-notify--deftest-remote): Revert previous patch, not
1984         necessary anymore.
1986 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
1988         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
1989         Starting from a display string after a newline, point went to the
1990         previous line.  Also, fix an inadvertent use of a buffer position
1991         with FETCH_BYTE.  (Bug#20701)
1993 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
1995         Instrument file-notify-test.el in order to catch hydra error.
1996         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
1997         Wrap body by `ignore-case', in order to trap non-local errors.
1999 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2001         Undo previous changes in non-toolkit scroll bar drawing.
2002         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
2003         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
2005 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2007         * .gitignore: Also ignore doc/*/*/*.html and .ps.
2009         Support quotes 'like this' in info files
2010         This is possible when 'makeinfo --disable-encoding' is used
2011         in Texinfo 5.
2012         * lisp/calc/calc-help.el (calc-describe-thing):
2013         * lisp/gnus/gnus-art.el (gnus-button-alist):
2014         * lisp/info.el (Info-find-index-name):
2015         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
2016         Also support quotes 'like this'.
2017         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
2018         * lisp/finder.el (finder-font-lock-keywords): Remove var that
2019         hasn't been used in years, instead of bothering to fix its quoting.
2021 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2023         * .gitignore: Remove !test/etags/html-src/*.html.
2024         It's no longer needed, since *.html was removed.  Sort.
2026 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
2028         Restore <D> instead of '.' in grep-find-template
2029         * lisp/cedet/semantic/symref/grep.el
2030         (semantic-symref-grep-use-template): Update a comment.
2031         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
2032         instead of '.' in grep-find-template (bug#20719).
2033         (rgrep): Pass nil as the directory to rgrep-default-command.
2034         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
2035         default value for DIR.
2036         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
2037         workaround.
2039 2015-06-02  Glenn Morris  <rgm@gnu.org>
2041         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
2043         * configure.ac (emacs_config_features): Add Cairo.
2045         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
2047 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
2049         Ensure, that autorevert works for remote files in file-notify-tests.el
2050         * test/automated/file-notify-tests.el (file-notify--test-desc):
2051         New defvar.
2052         (file-notify--test-remote-enabled)
2053         (file-notify-test00-availability, file-notify-test01-add-watch)
2054         (file-notify-test02-events): Use it.
2055         (file-notify--test-event-test): Check proper descriptor.
2056         (file-notify-test03-autorevert): Ensure, that
2057         `visited-file-modtime' has changed.
2058         (Bug#20392)
2060 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
2062         Add a pcase pattern for maps and `map-let' based on it
2063         * lisp/emacs-lisp/map.el (map-let): New macro.
2064         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
2065         * test/automated/map-tests.el: New test for `map-let'.
2067 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
2069         Reuse rgrep mechanics in xref-find-regexp
2070         * lisp/progmodes/grep.el (rgrep-default-command):
2071         Extract from `rgrep'.
2072         * lisp/progmodes/xref.el (xref-collect-references): Split from
2073         `xref-collect-matches'.  Only handle the case of symbol search.
2074         (xref-collect-matches): Instead of Semantic Symref, use
2075         `rgrep-default-command', to take advantage of its directory and
2076         file ignore settings.
2077         (xref--collect-match): Remove the last argument, leaving the
2078         regexp construction up to the caller.
2079         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
2080         Change to take the xref-collect- function to use as an argument.
2081         (elisp-xref-find): Update accordingly.
2082         * lisp/progmodes/etags.el (etags--xref-find-matches)
2083         (etags-xref-find): Same.
2085         Move xref-elisp-location to elisp-mode.el
2086         * lisp/progmodes/xref.el (xref-elisp-location)
2087         (xref-make-elisp-location, xref-location-marker): Remove here.
2088         (xref--xref): Don't limit the type of the location slot.
2089         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
2090         Define as a cl-struct here.
2091         (xref-location-marker): Move here.
2093 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
2095         Minor tweaks for .gitignore
2096         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
2097         ignore admin/notes/tags that might be ignored as TAGS on
2098         case-insensitive filesystems.  (Bug#20710)
2100 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2102         Generate curved quotes in ert doc
2103         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
2104         (ert-results-mode-menu)
2105         (ert-results-pop-to-backtrace-for-test-at-point)
2106         (ert-results-pop-to-messages-for-test-at-point)
2107         (ert-results-pop-to-should-forms-for-test-at-point)
2108         (ert-describe-test):
2109         Quote ‘like this’, not `like this', when generating doc strings
2110         and the like.
2111         * test/automated/ert-x-tests.el (ert-test-describe-test):
2112         Allow quoting ‘like this’.
2114 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
2116         Add test for previous commit
2117         * test/automated/replace-tests.el: New file.
2118         (query-replace--split-string-tests): Add test for previous commit.
2120         Avoid confusion in query-replace history when replacing NUL chars
2121         * lisp/replace.el (query-replace--split-string): New function.
2122         (query-replace-read-from): Rely on the 'separator' property
2123         instead of searching for the NUL character (Bug#20690).
2125 2015-06-02  Glenn Morris  <rgm@gnu.org>
2127         Merge from origin/emacs-24
2128         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
2130         * admin/gitmerge.el (gitmerge-commit-message):
2131         Exclude "skipped" messages from ChangeLog.
2133 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
2135         Sync with Tramp repository
2136         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
2137         messages.
2138         (tramp-handle-make-auto-save-file-name): When calling
2139         `make-auto-save-file-name' internally, make sure it uses Unix-like
2140         behavior, not Windows-like behavior.
2141         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
2142         the local case, because "chown" might fail on w32.
2143         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
2144         for XEmacs.
2146 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
2148         MS-Windows followup for batch stdout/stderr output changes
2149         * lisp/international/mule-cmds.el (set-locale-environment): In
2150         batch mode, use console codepages for keyboard and terminal
2151         encoding.  (Bug#20545)
2153         Update .gitattributes for DOS EOL files
2154         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
2155         CRLF end-of-line format.
2157         NS equivalents of xterm.c and w32term.c changes
2158         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
2159         glyph string background also when the font in use claims
2160         preposterously large global height value.  Helps to remove
2161         artifacts left from previous displays when glyphless characters
2162         are displayed as hex code in a box.
2163         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
2164         value for FRAME_LINE_HEIGHT, even when a font claims very large
2165         value for its height.
2167 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
2169         Avoid grave accent quoting in stderr diagnostics
2170         A few Emacs diagnostics go directly to stderr, and so can't easily
2171         contain curved quotes (as non-UTF-8 locales might mishandle them).
2172         Instead of bothering to add support for this rarity, reword the
2173         diagnostics so that they don't use grave accent to quote.
2174         * src/alloc.c (mark_memory): Fix comment.
2175         * src/buffer.c (init_buffer):
2176         * src/dispnew.c (init_display):
2177         * src/emacs.c (main, sort_args):
2178         * src/lread.c (dir_warning):
2179         * src/term.c (init_tty):
2180         * src/unexmacosx.c (unexec):
2181         * src/xfns.c (select_visual):
2182         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
2183         Reword stderr diagnostics to avoid quoting `like this'.
2184         * src/unexmacosx.c: Include errno.h.
2185         * src/xfns.c (select_visual): Encode value for locale.
2187 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
2189         Treat batch stdout/stderr like standard display
2190         Calls like (print FOO) could generate improperly encoded or
2191         hard-to-read output if FOO contains characters outside the system
2192         locale.  Fix this by treating batch stdout and stderr like
2193         interactive standard display, when it comes to transliterating and
2194         encoding characters (Bug#20545).
2195         * doc/emacs/mule.texi (Communication Coding):
2196         * doc/lispref/display.texi (Active Display Table):
2197         * doc/lispref/nonascii.texi (Locales):
2198         * etc/NEWS:
2199         * src/coding.c (syms_of_coding):
2200         * src/dispnew.c (syms_of_display):
2201         Document this.
2202         * src/print.c: Include disptab.h.
2203         (printchar_to_stream): New function, with much of the guts of the
2204         old Fexternal_debugging_output, except this one also uses the
2205         standard display table.
2206         (printchar, strout, Fexternal_debugging_output): Use it.
2208 2015-05-31  Glenn Morris  <rgm@gnu.org>
2210         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
2212 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
2214         Remove unused DEFSYMs
2215         Remove DEFSYMs that aren't used at the C level.  Also:
2216         * src/decompress.c (Qzlib_dll):
2217         * src/font.c (Qunicode_sip):
2218         * src/frame.c (Qtip_frame):
2219         * src/ftfont.c (Qserif):
2220         * src/gnutls.c (Qgnutls_dll):
2221         * src/xml.c (Qlibxml2_dll):
2222         Move from here ...
2223         * src/w32fns.c (syms_of_w32fns): ... to here,
2224         as these are used only on MS-Windows.
2226 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
2228         Use another default value for tramp-histfile-override
2229         * lisp/net/tramp-sh.el (tramp-histfile-override):
2230         Use ".tramp_history" as default.
2231         Fixes: debbugs:#20446
2233 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
2235         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
2237 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
2239         * etc/NEWS: Add an entry about map.el
2241         Improve the docstring of functions in map.el
2242         Since a map is not a data structure but a concept, adding information
2243         about the possible types of maps can be useful information.
2244         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
2245         each public function.
2247 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
2249         Faster implementation of map-empty-p
2250         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
2251         specific tests depending on the type of the map.
2253         * lisp/emacs-lisp/map.el: Better docstrings.
2255 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2257         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
2259 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
2261         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
2263         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
2265         Fix a false negative in `map-elt' with alists and values being nil
2266         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
2267         found but its associated value is nil, do not return the default
2268         value.
2269         * test/automated/map-tests.el: Add a regression test.
2271 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
2273         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
2275         Do not signal an error when trying to delete a key from an array
2276         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
2277         the key is present to avoid signaling an error.
2278         * test/automated/map-tests.el: Add a test for deleting non-existing
2279         keys from maps.
2281         * lisp/emacs-lisp/map.el: Better docstring.
2283         Minor improvement in map-elt.
2284         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
2285         doing a lookup in arrays, but check the boundaries of the array
2286         instead.
2287         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
2288         and a negative integer as key.
2290 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
2292         * test/automated/map-tests.el: Refactoring of test methods.
2294         * test/automated/map-tests.el: Renamed from map-test.el.
2296 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
2298         * lisp/emacs-lisp/map.el (map-into): Better error message.
2300         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
2302         Throw an error when converting a map into an unknown map type
2303         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
2304         * test/automated/map-test.el: Add a regression test.
2306         New library map.el similar to seq.el but for mapping data structures.
2307         * test/automated/map-test.el: New file.
2308         * lisp/emacs-lisp/map.el: New file.
2310 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
2312         Make sure there's no explicit tag name
2313         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
2314         there's no explicit tag name (bug#20629).
2316 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
2318         Remove format2
2319         * src/editfns.c, src/lisp.h (format2): Remove.
2320         It is more trouble than it's worth, now that we have CALLN.
2321         This is just a minor refactoring.
2322         * src/buffer.c (Fkill_buffer):
2323         * src/dbusbind.c (XD_OBJECT_TO_STRING):
2324         * src/fileio.c (barf_or_query_if_file_exists):
2325         Adjust to format2 going away.
2327         Don't misencode C-generated messages
2328         Also, be more consistent about calls to 'Fmessage' vs 'message'.
2329         * src/alloc.c (Fgc_status):
2330         Prefer AUTO_STRING to build_string for Fmessage call.
2331         * src/data.c (Fmake_variable_buffer_local)
2332         (Fmake_local_variable, Fmake_variable_frame_local):
2333         * src/doc.c (store_function_docstring):
2334         Use Fmessage, not message, since the argument can contain
2335         non-ASCII characters, and this can cause the resulting message
2336         to be incorrectly encoded for the current environment.
2337         * src/fns.c (maybe_resize_hash_table):
2338         * src/xselect.c (x_clipboard_manager_save_all):
2339         Use message, not Fmessage, since Fmessage's power isn't needed here.
2340         * src/process.c (Fmake_network_process): Reword message to avoid %s.
2341         * src/xdisp.c (vmessage): Document restrictions on message contents.
2342         (message_nolog) [false]: Remove unused code.
2344         Use \r rather than ^M in string literals
2345         This is less likely to cause problems on platforms that
2346         use CRLF (or CR!) termination for lines.
2348         Update .gitattributes to match current sources
2349         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
2350         * .gitattributes: Accommodate tests that insist on DOS format.
2351         Remove test/automated/data/decompress/foo-gzipped.
2352         Add etc/e/eterm-color.
2354 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
2356         Document 'face-ignored-fonts'
2357         * doc/emacs/mule.texi (Modifying Fontsets): Document
2358         face-ignored-fonts.  (Bug#20628)
2360         Add etags test for the new -Q option
2361         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
2362         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
2363         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
2364         test-case changes below.
2365         * test/etags/ETAGS.good_6: New file.
2366         * test/etags/cp-src/x.cc: New file.
2367         * test/etags/Makefile (CPSRC): Add x.cc.
2368         (check): Add one more test, for -Q.
2370 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
2372         Use list for the tags completion table, not obarray
2373         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
2374         list instead of an obarray
2375         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
2376         (tags-completion-table): Combine those lists.
2377         (tags-completion-table): Update the docstring.
2379 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
2381         Restore EOL format testing in etags
2382         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
2383         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
2384         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
2385         test-case changes below.
2386         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
2387         * test/etags/cp-src/c.C (B): Add back stray CR character.
2388         * test/etags/c-src/dostorture.c: Add back.
2389         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
2391 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
2393         Declare Emacs on MS-Windows to be DPI-aware
2394         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
2395         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
2396         This avoids Windows entering compatibility mode for Emacs,
2397         which causes fonts to look less nice.
2399 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
2401         Improve Tramp traces.
2402         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
2403         * lisp/net/tramp.el (tramp-debug-message): Use it.
2405 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
2407         backup-buffer minor reworking of internals
2408         * lisp/files.el (backup-buffer): Rework to avoid a couple of
2409         unused locals inadvertently introduced in the previous change.
2411         backup-buffer now reports .emacs.d/%backup% ills
2412         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
2413         fails due to disk space exhaustion or whatever, do not pretend
2414         that it succeeded.  More generally, do a better job of checking
2415         for I/O failures, and limit the scope of the condition-case to
2416         just the operations where file errors should be caught and ignored
2417         (Bug#20595).  Also, don't bother trying to delete later backups if
2418         an earlier deletion fails, as this is a sign of trouble and it's
2419         better to stop when there's trouble.
2421         copy-file now truncates output after writing
2422         * src/fileio.c (Fcopy_file): Truncate output after writing rather
2423         than before.  This is more likely to work than truncation before
2424         writing, if the file system is out of space or the user is over
2425         disk quota (Bug#20595).  Also, check for read errors.
2427 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2429         * lisp/emacs-lisp/package.el: Don't load from parent dir
2430         (package-load-all-descriptors): Don't load descriptors from
2431         directories above the package directories.
2433 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2435         Merge from gnulib
2436         This incorporates the following (Bug#20681):
2437         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
2438         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
2439         * lib/set-permissions.c: Copy from gnulib.
2441 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
2443         Improve Tramp traces.
2444         * lisp/net/tramp.el (tramp-call-process-region): New defun.
2445         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
2447 2015-05-29  Glenn Morris  <rgm@gnu.org>
2449         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
2451 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
2453         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
2454         The signature was changed in the cairo branch, merged on 2015-05-23.
2455         This oversight broke compiling only the non-toolkit X version.
2457 2015-05-29  Samer Masterson  <samer@samertm.com>
2459         * doc/lispref/os.texi: Update initial-buffer-choice docs.
2461 2015-05-29  Glenn Morris  <rgm@gnu.org>
2463         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
2464         Mark as an expected failure.
2466 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2468         Change package test to look for curved quotes
2469         * test/automated/package-test.el (package-test-describe-package)
2470         (package-test-signed): Search for curved single quotes as well as
2471         for grave accent and apostrophe.
2473 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
2475         gnus-art.el: Re-revert last change
2476         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
2477         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
2479 2015-05-28  Samer Masterson  <samer@samertm.com>
2481         Show files when `initial-buffer-choice' is non-nil
2482         * startup.el (command-line-1): When Emacs is given a file as an
2483         argument and `initial-buffer-choice' is non-nil, display both the file
2484         and `initial-buffer-choice'.  For more than one file, show
2485         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
2486         commands out of the command line arg parser.
2487         (initial-buffer-choice): Clarify docstring.
2489 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
2491         Fix last commit
2492         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
2493         (gnulib module qcopy-acl): Add back, as it is harmless.  This
2494         minimizes differences wrt lib/gnulib.mk.
2496         Fix the MS-Windows build as followup to gnulib update
2497         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
2498         set-permissions.c, as they don't compile on MinGW.
2499         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
2501 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
2503         Revert my change to gnus-art.el
2504         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
2505         It wasn't that important, and it caused a Gnus build to fail.  See:
2506         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
2508         New minor mode Electric Quote
2509         This lets you easily insert quotes ‘like this’ by typing
2510         quotes `like this', and similarly you can easily insert
2511         quotes “like this” by typing quotes ``like this'' (Bug#20545).
2512         * doc/emacs/basic.texi (Inserting Text):
2513         * doc/emacs/modes.texi (Minor Modes):
2514         * etc/NEWS: Document it.
2515         * doc/emacs/text.texi (Quotation Marks): New section.
2516         * lisp/electric.el (electric-quote-comment)
2517         (electric-quote-string, electric-quote-paragraph):
2518         New custom vars.
2519         (electric--insertable-p)
2520         (electric-quote-post-self-insert-function): New functions.
2521         (electric-quote-mode, electric-quote-local-mode): New minor modes.
2522         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
2523         Add curved single quotes to electric-pair-text-pairs.
2524         Set electric-quote-string in this buffer.
2526         A few more doc string fixes (Bug#20385)
2528         Accept curved quotes in doc strings
2529         * lisp/info-look.el (info-lookup-guess-custom-symbol):
2530         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
2532         Generate curved quotes in pseudo-info nodes
2533         * lisp/info.el (Info-virtual-index-find-node)
2534         (Info-virtual-index, Info-apropos-find-node, info-apropos):
2535         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
2537         Fix minor quoting problems in doc strings
2538         Most of these fixes involve escaping grave accents that are
2539         actually intended to be grave accents, not left quotes.
2540         (Bug#20385)
2542         Support curved quotes in doc strings
2543         Emacs's traditional doc string style has been to quote symbols
2544         `like this'.  This worked well on now-obsolete terminals where
2545         ` and ' were symmetric quotes, but nowadays curved quotes
2546         ‘like this’ look better.  Support quoting the new way too.
2547         (Bug#20385)
2548         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
2549         ‘like-this’ as well as `like-this'.
2550         * etc/NEWS: Mention this.
2551         * lisp/cedet/mode-local.el (overload-docstring-extension)
2552         (mode-local-print-binding, mode-local-describe-bindings-2):
2553         * lisp/cus-theme.el (describe-theme-1):
2554         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2555         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
2556         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2557         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
2558         (eieio-help-constructor):
2559         * lisp/emacs-lisp/package.el (describe-package-1):
2560         * lisp/faces.el (describe-face):
2561         * lisp/help-fns.el (help-fns--key-bindings)
2562         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
2563         (help-fns--interactive-only, describe-function-1):
2564         (describe-variable):
2565         * lisp/help.el (describe-mode):
2566         * lisp/international/mule-cmds.el (describe-input-method)
2567         (describe-language-environment):
2568         * lisp/international/mule-diag.el (describe-character-set)
2569         (print-coding-system-briefly, list-input-methods)
2570         (list-input-methods-1):
2571         Insert curved quotes rather than grave accent and apostrophe.
2572         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
2573         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
2574         (checkdoc-proper-noun-region-engine):
2575         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
2576         (lisp-cl-font-lock-keywords-2):
2577         * lisp/finder.el (finder-font-lock-keywords):
2578         * lisp/gnus/gnus-art.el (gnus-button-alist):
2579         * lisp/help-fns.el (help-do-arg-highlight)
2580         (describe-function-1, describe-variable):
2581         * lisp/help-mode.el (help-xref-symbol-regexp)
2582         (help-xref-info-regexp, help-xref-url-regexp):
2583         * lisp/help.el (describe-mode):
2584         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
2585         * lisp/wid-edit.el (widget-documentation-link-regexp):
2586         Parse symbols quoted ‘like-this’ as well as `like-this'.
2587         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
2588         Add "‘" and "’" to electric-pair-text-pairs.
2589         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
2590         (elisp-completion-at-point, elisp--preceding-sexp):
2591         Also treat "‘" and "’" as quoting chars.
2593         substitute-command-keys now curves quotes
2594         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
2595         * doc/lispref/help.texi (Keys in Documentation):
2596         * etc/NEWS: Document this.
2597         * src/doc.c (Fsubstitute_command_keys): Implement it.
2599 2015-05-28  Glenn Morris  <rgm@gnu.org>
2601         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
2602         (rmail-summary-by-topic, rmail-summary-by-senders):
2603         No longer strip leading/trailing whitespace.
2605         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
2606         (f90-no-block-limit): Add "enum".  (Bug#20680)
2607         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
2608         New tests.
2610 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
2612         * lisp/isearch.el (isearch--current-buffer): Give a default value.
2614         Un-revert changes mistakenly dropped by f9fabb2b
2616 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
2618         Merge from gnulib
2619         This incorporates:
2620         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
2621         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
2622         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
2623         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
2624         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
2625         2015-05-26 stdio: fix probe on mingw under gcc 5.1
2626         * admin/merge-gnulib (GNULIB_MODULES):
2627         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
2628         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
2629         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
2630         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
2631         Get latest versions from gnulib.
2632         * lib/get-permissions.c, lib/set-permissions.c: New files.
2633         * lib/gnulib.mk, m4/gnulib-comp.m4:
2634         Regenerate.
2635         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
2637 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
2639         Delete the old process in vc-setup-buffer
2640         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
2641         process here.
2642         (vc-do-command): Rather than here (bug#20608).
2644 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
2646         Avoid gratuitous delete-dups in face-at-point.
2647         * lisp/faces.el (face-at-point): Do not compute the properly
2648         ordered, duplicate-free list if only a single value is
2649         requested anyway.  (Bug#20519)
2651         Show the exact C-x 8 RET invocation in describe-char.
2652         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
2653         invocation instead of a template.  (Bug#20522)
2655 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
2657         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
2658         (package-menu--post-refresh): Call `tabulated-list-print' with the
2659         UPDATE argument.  This only affects the refresh action, the revert
2660         action still erases tags.
2661         (package-menu-get-status): Change `assq' to `assoc'.
2662         (package-menu--mark-upgrades-1): New function.
2663         (package-menu--mark-upgrades-pending): New variable.
2664         (package-menu-mark-upgrades): Use them to delay marking until
2665         after refresh is done.
2666         (package-menu--post-refresh): Call mark-upgrades-1 if
2667         mark-upgrades-pending is non-nil.
2669 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
2671         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
2673 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
2675         * lisp/isearch.el (isearch--current-buffer): New var
2676         (isearch-update): Set cursor-sensor-inhibit here.
2677         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
2679         Change inhibit-point-motion-hooks to t
2680         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
2681         to t and document it as obsolete.
2683 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
2685         Support ZIP files that use Zip64 extensions
2686         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
2687         format of central directory offsets used by Zip64 extensions.
2688         (Bug#20665)
2690 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
2692         New test tramp-test30-make-auto-save-file-name
2693         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
2694         (tramp-test31-special-characters)
2695         (tramp-test31-special-characters-with-stat)
2696         (tramp-test31-special-characters-with-perl)
2697         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
2698         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
2699         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
2700         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
2702         Improve tramp-handle-make-auto-save-file-name
2703         * tramp.el (tramp-auto-save-directory): Add :tags.
2704         (tramp-handle-make-auto-save-file-name): Let native
2705         `make-auto-save-file-name' use `auto-save-file-name-transforms',
2706         if `tramp-auto-save-directory' is not set.
2708 2015-05-27  Glenn Morris  <rgm@gnu.org>
2710         No longer set dired-directory in eshell.  (Bug#16477)
2711         * lisp/eshell/esh-mode.el (eshell-mode):
2712         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
2714         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
2716         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
2717         * lisp/progmodes/cc-mode.el (c-mode-help-address):
2718         Change to submit@debbugs.
2719         (c-mode-bug-package): New constant.
2720         (mail-position-on-field): Declare.
2721         (c-submit-bug-report): Insert X-Debbugs-Package header.
2722         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
2723         Mention debbugs.gnu.org.
2725 2015-05-26  Glenn Morris  <rgm@gnu.org>
2727         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
2728         (rmail-summary-by-recipients, rmail-summary-by-topic)
2729         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
2730         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
2732 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
2734         Handle curved quotes in info files
2735         * lisp/calc/calc-help.el (calc-describe-thing):
2736         * lisp/info.el (Info-find-index-name)
2737         (Info-try-follow-nearest-node, Info-fontify-node):
2738         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
2739         In info files, process quotes ‘like this’ the same way we process
2740         quotes `like this'.  This catches a few places we missed earlier.
2742 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
2744         xref-prompt-for-identifier: Use a list value
2745         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
2746         value, to be interpreted as a list of commands.
2747         (xref--prompt-p): New function.
2748         (xref--read-identifier): Use it.
2750 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
2752         Teach MS-Windows font back-end return per-glyph ascent/descent
2753         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
2754         values.
2755         * src/w32font.c (w32font_text_extents): Compute, cache, and
2756         accumulate per-glyph ascent and descent values, instead of copying
2757         global values from the font.  If the values are not available from
2758         the font data, i.e., non-TTF fonts, fall back on font-global values.
2759         (compute_metrics): Compute and return per-glyph ascent and descent
2760         values, if returned by GetGlyphOutlineW, falling back on
2761         font-global values.  (Bug#20628)
2762         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
2763         height of rectangle to be drawn, to be compatible with
2764         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
2765         box, when per-glyph ascent/descent values are used.
2767 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2769         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
2770         (tabulated-list-print): Don't sort if sorter is nil
2772 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
2774         Fix Bug#20621
2775         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
2776         are major modes which set `auto-save-mode' on their own rules;
2777         Tramp shall not overwrite such settings.
2778         (Bug#20621)
2780 2015-05-26  Glenn Morris  <rgm@gnu.org>
2782         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
2783         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
2784         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
2785         Doc updates.
2786         (vc-dir-mode): Remove unnecessary autoload.
2788 2015-05-25  Philipp Stephani  <phst@google.com>
2790         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
2791         (xterm--extra-capabilities-type): Add `getSelection'.
2792         (xterm--query): Add `no-async' argument.
2793         (xterm--init-activate-get-selection): New function.
2794         (terminal-init-xterm): Use it.
2795         (xterm--init-modify-other-keys): Rename from
2796         terminal-init-xterm-modify-other-keys.
2797         (xterm--init-bracketed-paste-mode): Rename from
2798         terminal-init-xterm-bracketed-paste-mode.
2799         (xterm--init-activate-set-selection): Rename from
2800         terminal-init-xterm-activate-set-selection.
2801         (xterm--selection-char): New function.
2802         (gui-backend-set-selection): Use it.  Use the &context to only apply
2803         this method in terminals where we enabled the feature.
2804         (gui-backend-get-selection): New method.
2806 2015-05-25  Daniel Colascione  <dancol@dancol.org>
2808         Add C-language keyword constants to C++
2809         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
2810         keyword constants to C++.
2812 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
2814         Make TAGS files more portable to MS-Windows
2815         * etc/NEWS: Document this.
2816         * lib-src/etags.c (readline_internal) [DOS_NT]:
2817         Don't treat CRs differently from GNUish hosts.
2818         * lisp/progmodes/etags.el (etags-goto-tag-location):
2819         Adjust STARTPOS to account for the skipped CRs in dos-style files.
2821 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2823         Improve fix of debbugs:20634 in tramp-sh.el
2825 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
2827         Fix a typo in last commit
2828         * lib-src/etags.c (C_entries): Fix a typo.
2829         * test/etags/ETAGS.good_1:
2830         * test/etags/ETAGS.good_2:
2831         * test/etags/ETAGS.good_3:
2832         * test/etags/ETAGS.good_4:
2833         * test/etags/ETAGS.good_5:
2834         * test/etags/CTAGS.good: Update due to the change in etags.c.
2836         Fix tagging of class members in C-like OO languages
2837         * lib-src/etags.c (longopts): Add new option --class-qualify and
2838         its shorthand -Q.
2839         (print_help): Add help text for --class-qualify.
2840         (main): Add handling of -Q.
2841         (consider_token, C_entries) <omethodparm>: Append argument types
2842         to Objective C methods only if --class-qualify was specified.
2843         Qualify C++, Objective C, and Java class members with their class
2844         names only if --class-qualify was specified.
2845         (C_entries): If --class-qualify was not specified, remove the
2846         namespace and class qualifiers from tag names of C++ methods.
2847         This allows to use etags.el as xref back-end without the
2848         tag-symbol-match-p method, which greatly increases the number of
2849         potentially false positives.  (Bug#20629)
2850         * doc/man/etags.1: Update to document the new --class-qualify
2851         option.
2852         * test/etags/ETAGS.good_1:
2853         * test/etags/ETAGS.good_2:
2854         * test/etags/ETAGS.good_3:
2855         * test/etags/ETAGS.good_4:
2856         * test/etags/ETAGS.good_5:
2857         * test/etags/CTAGS.good: Update due to changes in etags.c.
2859 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
2861         (cl-generic-define-method): Side effects are evil (bug#20644)
2862         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
2863         cons-cells that might be used as keys in an `equal' hash-table.
2865 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
2867         Make erc timestamps visible again
2868         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
2869         timestamps visible again (if requested).
2871 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
2873         Fix last change in etags.c that broke tagging compresed files
2874         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
2875         quoting of decompression shell command for MS-Windows/MS-DOS.
2877 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
2879         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
2880         (Bug#20639)
2882 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2884         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
2886 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
2888         Fix IPv6 addresses in Tramp
2889         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
2890         Add sqare brackets around host name.
2892 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
2894         Inhibit `epa-file-handler' in Tramp
2895         (Bug#20634)
2896         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
2897         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
2898         `epa-file-handler'.
2900 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2902         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
2903         (pcase-let): Document the behavior in case the pattern doesn't match.
2905 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2907         * lisp/emacs-lisp/tabulated-list.el: New optional print method
2908         (tabulated-list-print): New optional argument, UPDATE.  If
2909         non-nil, the list is printed by only adding and deleting the
2910         changed entries, instead of erasing the whole buffer.  This method
2911         is much faster when few or no entries have changed.
2912         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
2913         * etc/NEWS: Document it.
2915         * lisp/emacs-lisp/tabulated-list.el: Improve printing
2916         (tabulated-list--get-sorter): New function.
2917         (tabulated-list-print): Restore window-line when remember-pos is
2918         passed and optimize away the `nreverse'.
2920 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
2922         Simpilify etags TEX mode scanning
2923         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
2924         Remove static vars.
2925         (TeX_commands): Deduce escapes here instead.
2926         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
2927         This removes the need for a reset_input call.
2929         Improve etags I/O error reporting
2930         * lib-src/etags.c:
2931         Don't include sys/types.h and sys/stat.h; no longer needed.
2932         (infilename): New static var.
2933         (process_file_name): Don't call 'stat'.  Instead, just open the
2934         file for reading and report any errors.  Don't bother making
2935         a copy of the file argument; it's not needed.  Be more careful to
2936         use the failing errno when reporting an error.
2937         Quote the real name better (though no perfectly)
2938         when passing it to the shell.
2939         (reset_input): New function, which reports I/O errors.
2940         All uses of 'rewind' changed to use this function.
2941         (perhaps_more_input): New function, which also checks for
2942         I/O errors.  All uses of 'feof' changed to use this function.
2943         (analyze_regex): Report an error if fclose fails.
2944         (readline_internal): Report an error if getc fails.
2945         (etags_mktmp): Return an error if close fails.
2947         etags.c: avoid side effects in 'if'
2948         * lib-src/etags.c (process_file_name, Perl_functions)
2949         (TEX_decode_env): Hoist side effects into previous statement.
2951         .gitignore tweaks
2952         * .gitignore: Ignore all *.stamp files.  Sort.
2953         Ignore [0-9]*.txt (commonly used name for git patches)
2954         and /vc-dwim-log-* (vc-dwim temporary).
2956 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
2958         Fix last change in etags.c, which failed the test suite
2959         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
2960         before the last change.
2962 2015-05-23  Glenn Morris  <rgm@gnu.org>
2964         Remove charset map files from repository, generate in first bootstrap
2965         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
2966         (all): Create the stamp file.
2967         (extraclean): Delete the stamp file.
2968         * src/Makefile.in (lispintdir, charsets): New variables.
2969         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
2970         New rules.
2971         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
2972         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
2973         * etc/charsets/*.map: Remove from repository.
2975 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2977         Cleanup etags.c to use locale-independent code
2978         Although this doesn't alter behavior (as etags doesn't use
2979         setlocale), the new version is more clearly locale-independent and
2980         the executable is a bit smaller on my platform.
2981         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
2982         Include <c-ctype.h> instead of <ctype.h>.
2983         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
2984         (begtk, midtk):
2985         Remove; no longer needed.
2986         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
2987         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
2988         c_islower, c_tolower, respectively.
2989         (notinname, begtoken, intoken, endtoken): Rewrite as functions
2990         instead of macros, and initialize the tables at compile-time
2991         rather than at run-time.
2993         Put default action first in src/Makefile
2994         * src/Makefile.in (all): Put this rule before lisp.mk.
2995         That way, plain 'make' works in the src directory again.
2997 2015-05-23  Glenn Morris  <rgm@gnu.org>
2999         * Makefile.in: Fix extraclean rule.
3000         (extraclean_dirs): New.
3001         (extraclean): Use it.
3003 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3005         Avoid compiler warning in image.c on MS-Windows
3006         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
3007         warning in image.c.
3009 2015-05-23  Glenn Morris  <rgm@gnu.org>
3011         Fix --without-toolkit-scroll-bars builds.
3012         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
3013         Add new argument to x_clear_area1.
3014         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3015         Update x_clear_area arguments.
3017         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
3018         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
3019         Change to included version.
3020         (LOCAL, local, totalclean): Remove.
3021         (extraclean): Delete all generated files.
3023 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3025         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
3027         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
3029         tags-completion-at-point-function: Don't trust the find-tag function
3030         * lisp/progmodes/etags.el (tags-completion-at-point-function):
3031         Don't trust the find-tag function.
3033 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3035         Pacify --enable-gcc-warnings
3036         * src/frame.h (x_query_color): Remove redundant extern decl.
3037         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
3038         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
3039         (ftcrfont_text_extents, ftcrfont_draw):
3040         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
3041         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
3042         (x_ins_del_lines, frame_highlight, frame_unhighlight)
3043         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
3044         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
3045         (x_update_window_begin, x_connection_closed)
3046         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
3047         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
3048         (*x_gc_get_ext_data, x_extension_initialize)
3049         (x_cr_accumulate_data):
3050         Remove redundant static decl.  Many of these GCC doesn't complain
3051         about, but we might as well clean out the duplication while we're
3052         in the neighborhood.
3053         * src/xterm.c (x_fill_trapezoid_for_relief):
3054         Remove decl of nonexistent function.
3056 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3058         Replace gui-method macros with cl-generic with &context
3059         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
3060         (gui-method-declare, gui-call): Remove.
3061         (frame-creation-function): Use cl-defgeneric.
3062         (make-frame): Adjust callers.
3063         * lisp/menu-bar.el (menu-bar-edit-menu):
3064         Use gui-backend-selection-exists-p.
3065         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
3066         (gui-backend-get-selection): New cl-generic to replace
3067         gui-get-selection method.
3068         (gui-backend-set-selection): New cl-generic to replace
3069         gui-set-selection method.
3070         (gui-selection-owner-p): New cl-generic to replace
3071         gui-selection-owner-p method.
3072         (gui-backend-selection-exists-p): New cl-generic to replace
3073         gui-selection-exists-p method.  Adjust all callers.
3074         * lisp/server.el (server-create-window-system-frame): Don't ignore
3075         window-system spec even when unsupported.
3076         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
3077         * lisp/startup.el (handle-args-function, window-system-initialization):
3078         Use cl-defgeneric.
3079         (command-line): Adjust calls accordingly.
3080         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
3081         a window-system-initialization method.
3082         (handle-args-function, frame-creation-function): Use cl-defmethod.
3083         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3084         (gui-get-selection): Use cl-defmethod on the new functions instead.
3085         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
3086         a gui-backend-get-selection method.
3087         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
3088         Use cl-defmethod on the new functions instead.
3089         (msdos-window-system-initialization): Turn into
3090         a window-system-initialization method.
3091         (frame-creation-function, handle-args-function): Use cl-defmethod.
3092         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
3093         a window-system-initialization method.
3094         (handle-args-function, frame-creation-function): Use cl-defmethod.
3095         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3096         (gui-get-selection): Use cl-defmethod on the new functions instead.
3097         * lisp/term/x-win.el (x-window-system-initialization): Turn into
3098         a window-system-initialization method.
3099         (handle-args-function, frame-creation-function): Use cl-defmethod.
3100         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3101         (gui-get-selection): Use cl-defmethod on the new functions instead.
3102         * lisp/term/xterm.el (xterm--set-selection): Turn into
3103         a gui-backend-set-selection method.
3104         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
3105         (Fns_selection_owner_p): Remove unused arg `terminal'.
3106         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
3108 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3110         Revert "Fix etags Bug#20629 that broke C++ support."
3111         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
3113 2015-05-23  Jan D  <jan.h.d@swipnet.se>
3115         Fix etags Bug#20629 that broke C++ support.
3116         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
3117         from Sun May 10 (Bug#20629).
3119         Merge branch 'cairo'.
3120         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
3121         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
3123         Merge branch 'master' into cairo
3125         Fixes to compile cairo branch without cairo.
3126         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
3127         first argument.
3128         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
3129         USE_CAIRO.
3131 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
3133         * lisp/emacs-lisp/package.el: Always update selected-packages
3134         (package--update-selected-packages): New function.
3135         (package-menu-execute): Use it before starting the transaction,
3136         this way the list of selected packages is updated even when the
3137         transaction fails.
3138         (package-menu--perform-transaction): Don't edit selected-packages.
3140 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3142         Fix etags reading of compressed files
3143         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
3144         Include fcntl.h, for O_CLOEXEC.
3145         (process_file_name): Don't use 'popen', whose streams cannot be
3146         rewound.  Instead, uncompress the file to a temporary file,
3147         created by 'etags_mktmp', and read from that as usual.
3148         (etags_mktmp): New function.
3149         * test/etags/ETAGS.good_1:
3150         * test/etags/ETAGS.good_2:
3151         * test/etags/ETAGS.good_3:
3152         * test/etags/ETAGS.good_4:
3153         * test/etags/ETAGS.good_5: Update to be consistent with latest
3154         changes in etags.c regarding reading compressed files.
3156         Improve documentation of 'set-fontset-font'
3157         * doc/lispref/display.texi (Fontsets): Document the value of nil
3158         for the 3rd argument of 'set-fontset-font'.
3160         Fix documentation of forward-line
3161         * src/cmds.c (Fforward_line): Clarify the return value if the line
3162         at end of accessible portion of the buffer has no newline.
3163         * doc/lispref/positions.texi (Text Lines): Document what happens
3164         if the line at end of accessible portion of buffer has no newline.
3165         (Bug#20587)
3167 2015-05-22  Glenn Morris  <rgm@gnu.org>
3169         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
3171         * admin/charsets/mapconv (LC_ALL): Set to C.
3173         * Makefile.in: Add admin/charsets into top-level clean rules.
3174         (clean): Add admin/charsets.
3175         (maybeclean_dirs): New variable.
3176         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
3178         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
3180 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
3182         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
3184 2015-05-22  Glenn Morris  <rgm@gnu.org>
3186         Generate admin/charsets Makefile via configure, and make more portable.
3187         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
3188         (admin/charsets/Makefile): Generate it.
3189         * admin/charsets/Makefile.in: Rename from Makefile.
3190         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
3191         New variables, set by configure.
3192         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
3193         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
3194         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
3195         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
3196         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
3197         (all): Declare PHONY.
3198         (local): New PHONY target.
3199         (map_template): New template.  Use to define short PHONY aliases.
3200         (*.map): Add directory prefixes to targets and prerequisites.
3201         Respect make verbosity.
3202         (JISC6226.map): Replace non-portable sed append without newline.
3203         (install): Remove rule.
3204         (clean): Only delete temporary sedscript.
3205         (bootstrap-clean, distclean, maintainer-clean, extraclean)
3206         (totalclean): New PHONY rules.
3207         * admin/charsets/mapconv (BASE): Replace basename with expr.
3208         (FILE): Add "mapfiles" subdirectory.
3209         (AWK): New variable.  Use throughout in place of "awk".
3210         (main): Use "gunzip -c" in place of "zcat".
3211         Don't leave whitespace before "p", for older sed.
3212         * admin/charsets/mapfiles/PTCP154: Add final newline,
3213         to make older sed versions happy.
3215 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
3217         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
3218         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
3219         (auto-revert-notify-watch-descriptor): Use defvar-local.
3220         (find-file-hook, auto-revert-tail-mode, )
3221         (auto-revert-notify-add-watch): Use setq-local.
3222         (auto-revert-notify-add-watch): Don't call make-local-variable on
3223         kill-buffer-hook (bug#20601).
3225 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3227         Change defgeneric so it doesn't completely redefine the function
3228         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
3229         previously defined methods.
3230         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
3231         (cl--generic-prefill-dispatchers): Only define during compilation.
3232         (cl-method-qualifiers): Remove redundant alias.
3233         (help-fns-short-filename): Silence byte-compiler.
3234         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
3236 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
3238         (package-menu-execute): Remove reference to remove-dups
3240 2015-05-21  kwhite  <kwhite@gnu.org>
3242         * lisp/erc/erc.el: Hide network/channel messages
3243         (erc-network-hide-list, etc-channel-hide-list): New lists to define
3244         message types per network/channel.
3245         (erc-add-targets): New function to parse list of targets
3246         (erc-hide-current-message-p): Modified to check for new targets
3248 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3250         Don't quote nil and t in doc strings
3251         This is as per "Tips for Documentation Strings" in the elisp manual.
3252         For consistency, do the same in diagnostics and comments.
3254 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
3256         Fix a minor problem with mouse-face on mode line
3257         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
3258         mouse face also if the mouse pointer hovers above mode-line glyphs
3259         that don't come from any Lisp string.  (Bug#20620)
3261 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
3263         * lisp/emacs-lisp/package.el: Fix selected-package logic
3264         (package-menu-execute): Mark as selected all non-upgrade packages
3265         being installed.
3266         (package-menu--perform-transaction): Don't mark anything.
3268         * lisp/emacs-lisp/package.el: Mode-line progress report
3269         (package-menu--transaction-status): New variable.
3270         (package-menu-mode, package-menu--perform-transaction): Use it.
3272         * lisp/emacs-lisp/package.el: Better transaction messages
3273         (package-menu--partition-transaction): New function.
3274         (package-menu--prompt-transaction-p, package-menu-execute): Use
3275         it.
3276         (package-menu--perform-transaction): Don't do any messaging.
3278         * lisp/emacs-lisp/package.el: Revert async package transactions
3279         (package-menu-async): Update doc.
3280         (package-install-from-archive, package-download-transaction)
3281         (package-install, package-menu--perform-transaction)
3282         (package-menu-execute): Remove asynchronous functionality.
3284 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3286         Revert doc string changes to f90.el
3287         Problem reported by Glenn Morris in:
3288         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
3289         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
3290         Revert recent changes to doc strings, as it's intended that they
3291         use grave accent, not quote.
3293 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
3295         Improve parameter name
3297         Add new inline function `hash-table-empty-p'
3299 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
3301         Don't require help-fns when not needed
3302         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
3303         * lisp/emacs-lisp/elint.el:
3304         Don't require help-fns at the top level.
3305         * lisp/emacs-lisp/advice.el (ad-arglist):
3306         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
3307         Don't require help-fns.  (Bug#17001)
3309 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
3311         Fix slash collapsing in etags on MS-Windows
3312         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
3313         MS-Windows code from the Posix code, and support collapsing both
3314         forward- and back-slashes on MS-Windows.  Fixes a regression found
3315         by the test suite.
3317         Improve documentation of glyphless-char-display
3318         * doc/lispref/display.texi (Glyphless Chars): Improve
3319         documentation of glyphless character display.
3321         Fix "acronym" display of glyphless characters on w32
3322         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
3323         ignore "acronym" substitutes of 1 character for glyphless characters.
3325 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
3327         Add an automated test for let-when-compile
3328         * test/automated/subr-tests.el (let-when-compile): New test.
3330         Add let-when-compile macro instead of using pcase-let
3331         * lisp/subr.el (let-when-compile): New let-like macro that makes its
3332         bindings known to macros like `eval-when-compile' in the body.
3333         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
3334           `let-when-compile'. Also comment out the unused lexical var
3335           `el-kws-re'.
3336         The change greatly improves readability, while providing almost the
3337         same (even shorter) byte code: instead of pre-evaluating 10 variables,
3338         tossing them into a list, and destructuring that list a full screen
3339         page later, the variables are simply bound as they are evaluated,
3340         wrapped individually in `eval-when-compile'.
3342 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
3344         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
3345         (package-delete-button-action): New function.
3346         (describe-package-1): Add Delete button.
3348         * lisp/emacs-lisp/package.el: Better dependency description
3349         (package--used-elsewhere-p): New optional arg, ALL, and return
3350         package-desc objects instead of names.
3351         (package-delete): Update accordingly.
3352         (describe-package-1): Describe which packages require the package.
3354 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
3356         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
3357         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
3358         Fix doc-string (Bug#20533).
3360         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
3361         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
3362         (switch-to-buffer): If the selected window is strongly dedicated
3363         to its buffer, signal error before prompting for buffer name.  Handle
3364         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
3365         * doc/lispref/windows.texi (Switching Buffers): Document
3366         `switch-to-buffer-in-dedicated-window'.
3368 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3370         Prefer "this" to “this” in doc strings
3371         This mostly just straightens quotes introduced in my previous patch.
3372         Suggested by Dmitry Gutov in:
3373         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
3374         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
3375         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
3376         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
3377         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
3378         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
3379         Prefer straight double quotes to curved double quotes in doc strings.
3381         Fix minor quoting problems in doc strings
3382         These were glitches regardless of how or whether we tackle the
3383         problem of grave accent in doc strings.
3384         * lisp/calc/calc-aent.el (math-restore-placeholders):
3385         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
3386         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
3387         * lisp/leim/quail/hebrew.el ("hebrew-new")
3388         ("hebrew-biblical-sil"):
3389         * lisp/leim/quail/thai.el ("thai-kesmanee"):
3390         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
3391         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
3392         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
3393         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
3394         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
3395         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
3396         (semantic-tag-components):
3397         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
3398         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
3399         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
3400         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
3401         * lisp/emacs-lisp/generator.el (iter-next):
3402         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
3403         (gnus-article-mode-syntax-table):
3404         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
3405         * lisp/net/soap-client.el (soap-wsdl-get):
3406         * lisp/net/telnet.el (telnet-mode):
3407         * lisp/org/org-compat.el (org-number-sequence):
3408         * lisp/org/org.el (org-remove-highlights-with-change)
3409         (org-structure-template-alist):
3410         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
3411         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
3412         (handwrite-12pt, handwrite-13pt):
3413         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
3414         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
3415         * lisp/progmodes/verilog-mode.el (verilog-tool)
3416         (verilog-string-replace-matches, verilog-preprocess)
3417         (verilog-auto-insert-lisp, verilog-auto-insert-last):
3418         * lisp/textmodes/makeinfo.el (makeinfo-options):
3419         * src/font.c (Ffont_spec):
3420         Fix minor quoting problems in doc strings, e.g., missing quote,
3421         ``x'' where `x' was meant, etc.
3422         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
3423         Fix minor quoting problem in other string.
3424         * lisp/leim/quail/ethiopic.el ("ethiopic"):
3425         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
3426         Omit unnecessary quotes.
3427         * lisp/faces.el (set-face-attribute, set-face-underline)
3428         (set-face-inverse-video, x-create-frame-with-faces):
3429         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
3430         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
3431         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
3432         * lisp/net/tramp.el (tramp-methods):
3433         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
3434         * lisp/textmodes/artist.el (artist-ellipse-right-char)
3435         (artist-ellipse-left-char, artist-vaporize-fuzziness)
3436         (artist-spray-chars, artist-mode, artist-replace-string)
3437         (artist-put-pixel, artist-text-see-thru):
3438         * lisp/vc/ediff-util.el (ediff-submit-report):
3439         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
3440         Use double-quotes rather than TeX markup in doc strings.
3441         * lisp/skeleton.el (skeleton-pair-insert-maybe):
3442         Reword to avoid the need for grave accent and apostrophe.
3443         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
3444         Don't use grave and acute accents to quote.
3446 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
3448         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
3450 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3452         Try to port new etags tests to MS-Windows
3453         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
3454         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
3455         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
3456         Adjust to test-case changes below.
3457         * test/etags/Makefile (CSRC): Remove dostorture.c.
3458         Whatever it was trying to test, wasn't working portably.
3459         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
3460         just a line-ending problem.
3461         * test/etags/c-src/dostorture.c: Remove.
3462         * test/etags/cp-src/c.C: Remove stray CR.
3463         * test/etags/html-src/algrthms.html: Remove trailing CRs.
3464         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
3465         but if someone edits it later it should stay UTF-8-compatible.
3467 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
3469         Fix display of overlapping window-specific overlays
3470         * src/keyboard.c (adjust_point_for_property): When adjusting point
3471         due to display strings, ignore overlays that are specific to
3472         windows other than the currently selected one.
3473         * src/xdisp.c (handle_single_display_spec): If the display
3474         property comes from an overlay, arrange for buffer iteration to
3475         resume only after the end of that overlay.  (Bug#20607)
3477 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
3479         New command icomplete-force-complete-and-exit
3480         * lisp/icomplete.el (icomplete-force-complete-and-exit):
3481         New command
3482         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
3483         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
3484         (icomplete-minibuffer-map): Bind C-j to it.
3485         (icomplete-forward-completions, icomplete-backward-completions):
3486         Mention the new command in the docstring.
3487         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
3488         the previous fix for bug#17545.
3490 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
3492         Fix last commit
3494         In Elisp manual explain how to override window manager positioning (Bug#20552)
3495         * doc/lispref/frames.texi (Position Parameters): Give example of
3496         how to override a window manager positioning decision.
3498         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
3499         * src/frame.c (Fdelete_frame): In doc-string mention that frame
3500         can't be deleted if it has a surrogate minibuffer.
3501         * doc/lispref/frames.texi (Minibuffers and Frames)
3502         (Deleting Frames): Explain "surrogate minibuffer frames".
3504         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
3505         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
3507 2015-05-18  Glenn Morris  <rgm@gnu.org>
3509         Add option to ignore commit lines matching a pattern in ChangeLog.
3510         * build-aux/gitlog-to-changelog: Add --ignore-line option.
3511         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
3513 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3515         Don't skip new etags tests on non-UTF-8 hosts
3516         Problem reported by Eli Zaretskii for MS-Windows.
3517         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
3518         (LC_ALL): Set to C if the current locale isn't UTF-8.
3519         (.PHONY): Remove ediff_1 thru ediff_5.
3520         (check): Always run.
3522 2015-05-18  Glenn Morris  <rgm@gnu.org>
3524         * lisp/calculator.el (calculator-funcall):
3525         * lisp/textmodes/artist.el (artist-spray-random-points):
3526         Use standard degree/radian conversion utilities.
3528         Further lisp-complete-symbol related cleanup.
3529         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
3530         Unadvertise non-functional argument.  Replace obsolete alias.
3532 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
3534         Add a test case for Maven warning ouput
3535         * test/automated/compile-tests.el
3536         (compile-tests--test-regexps-data): Add a case for Maven warning
3537         ouput.
3538         (compile--test-error-line): Check the compilation message type, if
3539         it's specified in the test data.
3541 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
3543         Update Maven compilation-mode entry to distinguish warnings
3544         * lisp/progmodes/compile.el
3545         (compilation-error-regexp-alist-alist): Update Maven entry to
3546         distinguish warnings (bug#20556).
3548 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
3550         * test/automated/sgml-mode-tests.el: New file.
3552 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
3554         Improve handling of the first Git revision
3555         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
3556         there's no next entry, delete until the end of the buffer.
3557         (log-view-end-of-defun-1): Stop at eob.
3558         * lisp/vc/vc-annotate.el
3559         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
3560         when previous-revision is nil.
3561         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
3562         with `--' to avoid ambiguity.
3563         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
3564         returned revision string.
3565         (vc-git-annotate-time): Expect `^' before the first revision.
3566         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
3567         REV1 is nil, and REV2 is not.
3568         * lisp/vc/vc.el: Update the description of the `diff' function.
3570 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
3572         Allow checkdoc to be called in batch
3573         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
3574           is non-nil, echo the error with `warn'.
3575         How it can be used in -batch:
3576         (with-current-buffer (find-file "checkdoc.el")
3577           (checkdoc-current-buffer t))
3579 2015-05-18  Glenn Morris  <rgm@gnu.org>
3581         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
3583 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3585         * admin/notes/unicode: New section "binary files".
3587         Change new etags test to use UTF-8 encoding
3588         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
3589         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
3590         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
3591         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
3592         * test/etags/html-src/softwarelibero.html:
3593         Switch to UTF-8 encoding.
3594         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
3595         Remove Makefile, as it's too incestuous to have the test input
3596         include the build procedure.
3597         (UTF8_LOCALE, UTF_ENCODING): New macros.
3598         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
3599         (check): Skip if not UTF-8.
3600         (.PHONY): New rule.
3601         (FRC): Remove, as superseded by .PHONY.  All uses removed.
3602         (regexfile): Prefer printf to echo when outputting oddball chars.
3603         (.PRECIOUS): Remove, as these files are not built.
3605         Rename 'foo-gzipped' to 'foo.gz'
3606         * test/automated/data/decompress/foo.gz:
3607         Rename from test/automated/data/decompress/foo-gzipped,
3608         to make it easier for other tools to tell that it's compressed.
3609         * test/automated/zlib-tests.el (zlib--decompress):
3610         Adjust to renamed file.
3612 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
3614         Set up default-directory
3615         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
3616         binding for `v'.
3617         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
3618         appropriate value for default-directory.
3620 2015-05-17  Samer Masterson  <samer@samertm.com>
3622         * lisp/eshell/em-term.el (eshell-term-sentinel):
3623         No-op by default, only kills term buffer if
3624         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
3625         (eshell-destroy-buffer-when-process-dies): New custom to preserve
3626         previous behavior.
3628         eshell: Introduce new buffer syntax
3629         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
3630         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
3631         needed (Bug#19319).
3632         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
3633         (eshell-get-target): Remove shorthand-specific code.
3634         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
3635         '#<buffer-name>'.
3637 2015-05-17  Jan D  <jan.h.d@swipnet.se>
3639         Merge branch 'master' into cairo
3641 2015-04-26  Jan D  <jan.h.d@swipnet.se>
3643         Merge branch 'master' into cairo
3645         Add PBM support for cairo.
3646         * src/image.c (xcolor_to_argb32): New function.
3647         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
3648         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
3649         XImagePtr if ! USE_CAIRO.
3650         (pbm_load): Add cairo support.
3652 2015-04-12  Jan D  <jan.h.d@swipnet.se>
3654         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
3655         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
3656         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
3657         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
3658         x_free_cr_resources.
3660         Handle specified bg in images.  Use generic libpng code for PNG:s.
3661         * src/image.c (get_spec_bg_or_alpha_as_argb)
3662         (create_cairo_image_surface): New functions when USE_CAIRO.
3663         (xpm_load): Call the above functions.  Handle XPM without mask
3664         when USE_CAIRO.
3665         (png_load_body): Handle USE_CAIRO case.
3666         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
3667         instead.
3668         (jpeg_load_body): Call create_cairo_image_surface.
3669         (gif_load, svg_load_image): Handle specified background, call
3670         create_cairo_image_surface.
3671         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
3673 2015-04-11  Jan D  <jan.h.d@swipnet.se>
3675         Support GIF and Tiff with cairo.
3676         * configure.ac: Allow jpeg with cairo.
3677         Allow tiff and gif with cairo.
3678         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
3679         (tiff_load): Create cairo image surface if USE_CAIRO.
3680         (gif_load): Ditto.
3682         Support JPEG with USE_CAIRO.
3683         * configure.ac: Allow jpeg with cairo.
3684         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
3686 2015-04-05  Jan D  <jan.h.d@swipnet.se>
3688         Support RSVG and cairo.
3689         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
3690         * src/dispextern.h (struct image): add cr_data2 if cairo.
3691         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
3692         (x_clear_image): Free cr_data and cr_data2 if set.
3693         (xpm_load): Assign data to cr_data2.
3694         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
3696 2015-04-03  Jan D  <jan.h.d@swipnet.se>
3698         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
3699         * configure.ac (HAVE_RSVG): Move after cairo.
3700         (USE_CAIRO): Disable rsvg, don't disable Xpm.
3701         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
3702         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
3703         don't return early.
3704         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
3705         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
3706         and create a surface.
3708         Tool tips for menus did not show any text.
3709         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
3710         tip frames, the geometry may be wrong.
3712         Merge branch 'master' into cairo, fixes tooltips not shown.
3714         Merge branch 'master' into cairo
3716         Add CAIRO_CFLAGS to lwlib/Makefile.in
3717         * Makefile.in (CAIRO_CFLAGS): Add.
3719 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3721         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
3723 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3725         Draw outermost line using black relief and erase corners also for cairo.
3726         * xterm.c [USE_CAIRO]: Include math.h.
3727         (enum corners) [USE_CAIRO]: New enum.
3728         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
3729         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
3730         than 1, draw the outermost line using the black relief.
3732         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
3734 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3736         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
3738         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
3740         Use int instead of unsigned int for width and height args.
3741         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
3742         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
3743         width and height args.
3745         Modernize k&r cairo-related function declarations.
3746         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
3747         (xg_print_frames_dialog): Modernize k&r declarations.
3748         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
3749         (Fx_print_frames_dialog): Modernize k&r declarations.
3750         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
3751         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
3752         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
3753         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
3754         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
3755         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
3756         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
3757         (x_clear_area): Modernize k&r declarations.
3759         Implement wave-style variant of underlining for cairo.
3760         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
3761         (x_draw_underwave) [USE_CAIRO]: Use it.
3763         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
3765 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3767         Fix fringe bitmap initialization for cairo.
3768         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
3769         cairo image surface.
3770         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
3772 2015-02-11  Jan D  <jan.h.d@swipnet.se>
3774         Add cairo drawing.
3775         * configure.ac (with-cairo): New option.
3776         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
3777         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
3778         Output "Does Emacs use cairo?".
3779         * lisp/version.el (emacs-version): Add cairo version.
3780         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
3781         (FONT_OBJ): Add comment about ftcrfont.
3782         (ALL_CFLAGS): Add CAIRO_CFLAGS.
3783         (LIBES): Add CAIRO_LIBS.
3784         * src/dispextern.h (struct image): Add cr_data for cairo.
3785         (x_cr_init_fringe): Declare.
3786         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
3787         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
3788         * src/fringe.c (x_cr_init_fringe): New function name that shares code
3789         with w32_init_fringe.
3790         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
3791         * src/ftfont.c (ftfont_info_size); New global variable.
3792         (ftfont_open2): New extern function almost the same as old ftfont_open,
3793         but takes the font_object as argument.
3794         (ftfont_open): Build font object and call ftfont_open2.
3795         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
3796         * src/gtkutil.c (xg_clear_under_internal_border)
3797         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
3798         queue_draw if not cairo.  Change args to x_clear_area.
3799         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
3800         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
3801         (xg_print_frames_dialog): New functions for printing.
3802         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
3803         (xg_print_frames_dialog): Declare.
3804         * src/image.c: Add defined (USE_CAIRO) for PNG.
3805         Add !defined USE_CAIRO for W32 PNG code.
3806         (x_clear_image): If cairo, destroy the surface in cr_data.
3807         (png_load): Add new cairo compatible implementation.
3808         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
3809         * src/xfns.c: New section Printing.
3810         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
3811         (x-print-frames-dialog): New printing functions.
3812         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
3813         cairo.
3814         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
3815         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
3816         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
3817         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
3818         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
3819         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
3820         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
3821         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
3822         Declare.
3823         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
3824         (max_fringe_bmp, fringe_bmp): New variables.
3825         (x_gc_get_ext_data, x_extension_initialize)
3826         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
3827         (x_set_cr_source_with_gc_foreground)
3828         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
3829         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
3830         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
3831         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
3832         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
3833         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
3834         (x_update_begin): Create cairo surface if needed.
3835         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
3836         (x_update_end): Paint cairo drawing surface to xlib surface.
3837         (x_clear_under_internal_border, x_after_update_window_line): Adjust
3838         arguments to x_clear_area.
3839         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
3840         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
3841         of XSetClipMask.
3842         (x_set_glyph_string_clipping)
3843         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
3844         instead of XSetClipRectangles.
3845         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
3846         x_fill_rectangle instead of XFillRectangle.
3847         (x_draw_glyph_string_foreground)
3848         (x_draw_composite_glyph_string_foreground)
3849         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
3850         of XDrawRectangle.
3851         (x_draw_relief_rect): Add code for USE_CAIRO.
3852         Call x_reset_clip_rectangles instead of XSetClipMask.
3853         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
3854         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
3855         instead of XSetClipMask.
3856         (x_draw_image_foreground, x_draw_image_foreground_1):
3857         x_draw_rectangle instead of XDrawRectangle.
3858         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
3859         XFillRectangle.
3860         (x_draw_image_glyph_string): If img has cr_data, use it as
3861         a cairo surface.
3862         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
3863         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
3864         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
3865         x_reset_clip_rectangles instead of XSetClipMask.
3866         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
3867         (x_clear_area1): New function that calls XClearArea.
3868         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
3869         non-cairo.
3870         (x_clear_frame): x_clear_window instead of XClearWindow.
3871         (x_scroll_run): Set frame garbaged if cairo.
3872         (XTmouse_position): Initialize *part to 0.
3873         (x_scroll_bar_create): Adjust arguments to x_clear_area.
3874         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
3875         x_fill_rectangle instead of XFillRectangle.
3876         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
3877         arguments to x_clear_area.
3878         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
3879         (handle_one_xevent): Adjust arguments to x_clear_area.
3880         Destroy cairo surface for frame if ConfigureNotify.
3881         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
3882         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
3883         x_reset_clip_rectangles instead of XSetClipMask.
3884         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
3885         x_reset_clip_rectangles instead of XSetClipMask.
3886         (x_clear_frame_area): Adjust arguments to x_clear_area.
3887         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
3888         (x_term_init): Call x_extension_initialize if cairo.
3889         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
3890         x_cr_destroy_fringe_bitmap for cairo.
3891         (x_initialize): Call x_cr_init_fringe for cairo.
3892         * src/xterm.h: Add include of cairo header files.
3893         (x_bitmap_record): Add img if cairo.
3894         (x_gc_ext_data): New struct for cairo.
3895         (x_display_info): Add ext_codes for cairo.
3896         (x_output): Add cr_context and cr_surface for cairo.
3897         (x_clear_area): Change arguments from Display*/Window to frame pointer.
3898         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
3899         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
3900         (x_cr_draw_frame, x_cr_export_frames): Declare.
3902 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
3904         Fix integer-valued `mouse-highlight' (Bug#20590)
3905         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
3907 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
3909         MS-Windows followup for ASCIIfication of curved quotes
3910         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
3911         test for curved quotes being displayable, after switching the
3912         terminal encoding.  (Bug#20545)
3914 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3916         Spelling fixes
3918 2015-05-17  Jan D  <jan.h.d@swipnet.se>
3920         Add comment that x_shift_glyphs_for_insert is never called.
3921         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
3922         comment that this function is never called.
3924 2015-05-16  Glenn Morris  <rgm@gnu.org>
3926         * src/lisp.mk: Remove from repository and generate at build-time.
3927         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
3928         (shortlisp_filter): New variable.
3929         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
3930         (distclean): Remove lisp.mk.
3931         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
3932         * lisp/loadup.el: Tweak layout to make it easier to parse.
3933         * make-dist: Do not distribute src/lisp.mk.
3935 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3937         Display shorter dates in Git annotate output
3938         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
3939         format (when not overridden with vc-git-annotate-switches).
3940         (vc-git-annotate-time): Support the short format, as well as ISO
3941         8601 that has been used until now (bug#5428).
3943 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3945         ASCIIfy curved quotes on displays lacking them
3946         * lisp/international/mule-cmds.el (set-locale-environment):
3947         If curved quotes don't work, display straight ASCII approximations
3948         (Bug#20545).
3950 2015-05-16  Glenn Morris  <rgm@gnu.org>
3952         Small src/Makefile simplification.
3953         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
3954         * src/Makefile.in (lisp): Derive from shortlisp.
3955         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
3957 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
3959         * lisp/help-mode.el (help-go-forward): Doc fix.
3960         (Bug#20577)
3962         * doc/lispref/debugging.texi (Profiling): Improve indexing.
3963         (Bug#20576)
3965 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3967         Use `unless' to have one fewer `not'
3968         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
3969         have one fewer `not'.
3971         Remove redundant :group declarations from vc-git.el
3972         * lisp/vc/vc-git.el (vc-git-diff-switches)
3973         (vc-git-annotate-switches, vc-git-resolve-conflicts)
3974         (vc-git-program, vc-git-root-log-format): Remove the redundant
3975         :group declarations.
3977 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
3979         Removes the predicate from lisp-complete-symbol (Bug#20456)
3980         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
3981         and remove it from the docstring.
3983 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
3985         Add new option vc-git-resolve-conflicts
3986         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
3987         (vc-git-find-file-hook): Add to after-save-hook only when the
3988         above is non-nil.
3989         (vc-git-resolve-when-done): Update to honor the new variable.
3990         (Bug#20292)
3992 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
3994         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
3995         (tabulated-list-init-header): Document new behavior.
3996         (tabulated-list-print-fake-header): No nothing if
3997         `tabulated-list--header-string' is nil.
3998         (tabulated-list--header-string): Add a docstring.
3999         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
4000         * etc/NEWS: Document it.
4002 2015-05-15  Leo Liu  <sdl.web@gmail.com>
4004         Revert "Fix cps--gensym"
4005         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
4006           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
4008 2015-05-15  Glenn Morris  <rgm@gnu.org>
4010         Replace AC_SUBST_FILE in configure with include in Makefiles.
4011         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
4012         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
4013         (AUTO_DEPEND): New output variable.
4014         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
4015         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4016         (lwlib_deps_frag): Replace by conditional include.
4017         * lwlib/autodeps.mk: Remove file.
4018         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
4019         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4020         (oldxmenu_deps_frag): Replace by conditional include.
4021         * oldXMenu/autodeps.mk: Remove file.
4022         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
4023         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4024         (lisp_frag): Replace by an include.
4025         (deps_frag): Replace by conditional include.
4026         * src/autodeps.mk: Remove file.
4028         Tweak japanese.el's loading of dependencies.
4029         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
4030         * lisp/language/japanese.el: Use require rather than load.
4031         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
4032         Provide a feature.
4033         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
4034         Provide a feature in the generated file.
4036 2015-05-15  Jan D  <jan.h.d@swipnet.se>
4038         Fix NS warnings.
4039         * nsmenu.m (ns_popup_dialog)
4040         * nsimage.m (initFromXBM:width:height:fg:bg:)
4041         * nsfns.m (Fx_create_frame): Remove unused variables.
4042         (Fns_read_file_name): Initialize fname, remove ret.
4043         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
4044         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
4045         variable.
4046         (init): Add parantesis in if.
4047         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
4049 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4051         Fix a enum conversion warning in macfont.m
4052         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
4053         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
4055 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
4057         Support de-alt dictionary with Aspell.
4058         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
4059         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
4061 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4063         cus-start.el: Add ns-confirm-quit.
4064         * cus-start.el: Add ns-confirm-quit.
4066         Fix warnings on OSX 10.10.
4067         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
4068         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
4069         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
4070         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
4071         * nsimage.m (allocInitFromFile, setPixmapData): Only call
4072         setScalesWhenResized for OSX < 10.6.
4073         * nsterm.h (EmacsScroller): Declare scrollerWidth.
4074         * nsterm.m (ns_copy_bits): New function that does not use deprecated
4075         NSCopyBits.
4076         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
4077         (runAlertPanel): New function.
4078         (applicationShouldTerminate:): Call runAlertPanel.
4079         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
4080         for OSX < 10.10.
4081         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
4082         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
4083         (draggingEntered:): Returns NSDragOperation.
4084         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
4086 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4088         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
4089         (package--init-file-ensured): New variable.
4090         (package-initialize, package--ensure-init-file): Use it.
4092 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4094         Honor :fore/background for XBM on NS (Bug#14969).
4095         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
4096         initFromXBM takes bg, fg args, remove flip arg.
4097         (ns_image_from_XBM): Add bg, fg args.
4098         * image.c (x_create_bitmap_from_data)
4099         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
4100         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
4101         Remove flip arg.
4102         (initFromSkipXBM): Move code to initFromXBM.
4103         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
4104         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
4105         false.
4106         Remove bit flipping (bitPat, swt), generated incorrect images when
4107         width/height wasn't a multiple of 8.
4108         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
4109         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
4110         flip arg.
4112 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4114         * lisp/emacs-lisp/package.el: Be more careful with the init file
4115         (package--ensure-init-file): Check that user-init-file is set,
4116         exists, is readable, and is writable.  (Bug#20584)
4117         Also expand the docstring.
4119 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
4121         Sync with upstream verilog-mode revision 6232468
4122         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
4123         (verilog-highlight-grouping-keywords): Fix use of face when
4124         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
4125         Pompa.
4126         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
4127         parent is reset, bug906. Reported by Ken Schmidt.
4128         (verilog-auto-inout-module): Add fourth regexp argument to
4129         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
4130         bug856. Reported by John Tillema.
4131         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
4132         modport if signal attachment is itself a modport.  Reported by
4133         Matthew Lovell.
4134         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
4135         always_comb and always_latch, bug844.  Reported by Greg Hilton.
4136         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
4137         with many curly-bracket pairs, bug663.
4138         (verilog-set-auto-endcomments): Fix end comments for functions of
4139         type void, etc.  Reported by Alex Reed.
4140         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
4141         caused by indent-line-to deleting tabls pre 24.5.
4142         (verilog-nameable-item-re): Fix nameable items that can have an
4143         end-identifier to include endchecker, endgroup, endprogram,
4144         endproperty, and endsequence.  Reported by Alex Reed.
4145         (verilog-label-be): When auto-commenting a buffer, consider
4146         auto-comments on all known keywords (not just a subset thereof).
4147         Reported by Alex Reed.
4148         (verilog-auto-end-comment-lines-re)
4149         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
4150         Automatically comment property/endproperty blocks to match other
4151         similar blocks like sequence/endsequence, function/endfunction,
4152         etc. Reported by Alex Reed.
4153         (verilog-set-auto-endcomments): Detect the function- or task-name
4154         when auto-commenting blocks that lack an explicit
4155         portlist. Reported by Alex Reed.
4156         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
4157         allow post-AUTO user fixups, bug826. Reported by Dennis
4158         Muhlestein.
4159         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
4160         is nil, fix indenting initial/final to match always statements,
4161         bug825. Reported by Tim Clapp.
4162         (verilog-extended-complete-re): Fix indentation of DPI-C imports
4163         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
4164         Mao and Jason Forkey.
4165         (verilog-read-decls): Fix parsing typed interfaces.  Fix
4166         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
4167         Fix localparam not being ignored in AUTOINSTPARAM,
4168         bug889. Reported by Shannon Hill.
4169         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
4170         bug793.  Reported by Pierre-David Pfister.
4171         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
4172         verilog-auto-arg-format to support newlines in AUTOARG. Reported
4173         by Jie Xiao.
4174         (verilog-batch-execute-func): Do not batch re-auto files loaded by
4175         Local Variables. Fix printing "no changes to be saved" with
4176         verilog-batch. Reported by Dan Dever.
4177         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
4178         interface-only modules, bug721.  Reported by Dean Hoyt.
4179         Author: Alex Reed <acreed4@gmail.com>
4180         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
4181         treat '<keyword>:<identifier>' as the start of a labeled
4182         statement, bug905.  Reported by Enzo Chi.
4183         (verilog-directive-re, verilog-compiler-directives)
4184         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
4185         directives (plus some extras) when determining indentation, bug
4186         901.  Reported by Bernd Beuster.
4187         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
4188         iff expression doesn't start with word-character, bug900.
4189         (verilog-optional-signed-range-re, verilog-optional-signed-re):
4190         Fix incorrect indentation/alignment of unsigned declarations,
4191         bug897.
4192         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
4193         always constructs, bug895.
4194         (verilog-calc-1): Fix verilog-mode constraint indentation,
4195         bug324. Reported by Eric Mastromarchi.
4196         (verilog-beg-of-statement): Fix indenting for some forms of
4197         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
4198         continued assignment incorrect if first line ends with ']',
4199         bug437. Reported by Dan Dever.  Fix indention of cover inside an
4200         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
4201         blocks, bug842.
4202         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
4203         bug859. Reported by Kaushal Modi.
4204         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
4205         (verilog-backward-token): Fix indenting sensitivity lists with
4206         named events, bug840.  Reed.
4207         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
4208         nil not honoring 'forever', 'foreach', and 'do' keywords.
4210 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4212         Check for invalid GTK+ monitor scales
4213         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
4214         INT_MAX for too-large scales.  All callers changed to assume the
4215         result is valid (Bug#20432).
4216         (xg_frame_set_char_size, xg_update_scrollbar_pos):
4217         Calculate scale only if needed.
4218         show ASCII approximations instead.
4220 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
4222         Fix daemon crashes when linum-mode is turned on early on
4223         * src/window.c (Fwindow_end): Don't try calling display engine
4224         functions on initial-frame frame.  (Bug#20565)
4226         Fix selective diff browsing in Ediff
4227         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
4228         beginning of the region before searching for the
4229         ediff-regexp-focus-* regexps.  (Bug#20568)
4231 2015-05-14  Jan D  <jan.h.d@swipnet.se>
4233         Fixes Bug#20142.
4234         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
4235         in the main loop, even for Gtk 3 (Bug#20142).
4237         Don't access display after i/o error (Bug#19147).
4238         * xterm.c (x_connection_closed): Add third arg ioerror.
4239         If ioerror, set display to 0 (Bug#19147).
4240         (x_error_quitter): Call x_connection_closed with third arg false.
4241         (x_io_error_quitter): Call x_connection_closed with third arg true.
4243         Handle GTK_SCALE, fixes Bug#20432.
4244         * gtkutil.c (xg_get_gdk_scale): New function.
4245         (xg_frame_set_char_size)
4246         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
4247         (xg_get_default_scrollbar_height)
4248         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
4249         when setting sizes (Bug#20432).
4251 2015-05-13  Leo Liu  <sdl.web@gmail.com>
4253         Fix cps--gensym
4254         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
4256 2015-05-13  Glenn Morris  <rgm@gnu.org>
4258         Fix bootstrap (void function cl-member).
4259         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
4260         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
4262 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4264         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
4265         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
4266         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
4267         Avoid defalias for closures which are not immutable.
4268         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
4269         dispatchers table with various entries.
4270         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
4271         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
4273 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
4275         Improve tagging of C bindings in DEFVAR_*
4276         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
4277         from DEFVAR_*.
4279 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
4281         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
4283 2015-05-12  Glenn Morris  <rgm@gnu.org>
4285         * lisp/progmodes/tcl.el (tcl-filter):
4286         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
4288         Add basic VC push support.
4289         * lisp/vc/vc.el (vc-push): New autoloaded command.
4290         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
4291         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
4292         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
4293         (vc-bzr-push): New.
4294         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
4295         (vc-git-pull): Reimplement using vc-git--pushpull.
4296         (vc-git-push): New.
4297         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
4298         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
4299         * doc/emacs/maintaining.texi (Pulling / Pushing):
4300         Rename from "VC Pull".  Mention pushing.
4301         (VC With A Merging VCS, VC Change Log): Update xrefs.
4302         (Branches): Update menu.
4303         * doc/emacs/emacs.texi: Update menu.
4304         * etc/NEWS: Mention this.
4306 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
4308         Improve the seq pcase pattern and the `seq-let' macro
4309         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
4310         object is a sequence, and binds each element of ARGS to the
4311         corresponding element of the sequence.
4313 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
4315         Fix tags created from DEFVAR_* declarations in C
4316         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
4317         to make tags extracted from DEFVAR_* declarations more accurate.
4319         Add a test suite for etags
4320         * test/etags/: New test suite, adapted from
4321         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
4322         whose original author is Francesco Potortì <pot@gnu.org>.
4324         Fix tagging of symbols in C enumerations
4325         * lib-src/etags.c (consider_token): Don't tag symbols in
4326         expressions that assign values to enum constants.  See
4327         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
4328         for details.
4329         (C_entries): Reset fvdef to fvnone after processing a preprocessor
4330         conditional and after a comma outside of parentheses.
4332 2015-05-12  Glenn Morris  <rgm@gnu.org>
4334         * lisp/url/url-handlers.el (url-file-name-completion)
4335         (url-file-name-all-completions): Silence compiler.
4337         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
4339         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
4341 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
4343         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
4344         (cl--generic-mandatory-args): Remove.
4345         (cl--generic-split-args): New function.
4346         (cl-generic-define, cl--generic-lambda): Use it.
4347         (cl-generic-define-method): Use it as well, and add support for
4348         context args.
4349         (cl--generic-get-dispatcher): Handle &context dispatch.
4350         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
4351         (cl--generic-dispatchers): Pre-fill.
4352         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
4354 2015-05-11  Glenn Morris  <rgm@gnu.org>
4356         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
4358 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
4360         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
4361         * lisp/term/rxvt.el: Require term/xterm.
4362         (rxvt-function-map): Use xterm-rxvt-function-map.
4363         (rxvt-standard-colors): Move before first use.
4364         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
4365         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
4366         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
4367         Move shared bindings between rxvt and xterm to it.
4368         (xterm-function-map): Use it.  Move the xterm-paste binding to
4369         xterm-rxvt-function-map (bug#20444).
4370         (xterm-standard-colors): Move before first use.
4371         (xterm--push-map): New function.
4372         (xterm-register-default-colors): Take standard colors as argument.
4373         (terminal-init-xterm): Use it.  Adjust call to
4374         xterm-register-default-colors.
4376 2015-05-11  Glenn Morris  <rgm@gnu.org>
4378         * lisp/term/x-win.el: Quieten --without-x compilation.
4379         (x-own-selection-internal, x-disown-selection-internal)
4380         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
4381         Declare.
4383         * Makefile.in (emacslog): Remove srcdir.
4384         (ChangeLog): Update for the above.
4386 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4388         Spelling fix
4390 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4392         python.el: better limit for looking-back calls
4393         * lisp/progmodes/python.el (python-shell-accept-process-output):
4394         Use last comint prompt start as limit for looking-back.
4396 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
4398         CEDET (srecode-insert-fcn): Fix use of oref on a class
4399         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
4400         a class.  Reported by Pierre Lorenzon.
4401         (srecode-template-inserter-point): Remove declaration.
4403         CEDET (srecode-create-dictionary): Avoid obsolete object name
4404         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
4405         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
4407 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4409         C-x 8 shorthands for curved quotes, Euro, etc.
4410         Although C-x 8 lets you insert arbitrary Unicode characters,
4411         it's awkward to use this to insert commonly used symbols such as curved
4412         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
4413         characters commonly found in English text and in basic math.
4414         For example, assuming the Alt key works on your keyboard and iso-transl
4415         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
4416         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
4417         (Bug#20499)
4418         * doc/emacs/mule.texi (Unibyte Mode):
4419         A few other printing characters now work too.
4420         * etc/NEWS: Document this.
4421         * lisp/international/iso-transl.el (iso-transl-char-map):
4422         Also support the following characters:
4423         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
4425 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
4427         Add xref-find-regexp
4428         * lisp/progmodes/xref.el (xref-find-function): Describe the
4429         `matches' action.
4430         (xref-find-regexp): New command, using it.
4431         (xref-collect-references): Rename to xref-collect-matches.
4432         (xref--collect-reference): Rename to xref--collect-match.
4433         (xref-collect-matches, xref--collect-match): Accept new argument,
4434         KIND.  Update accordingly.
4435         (xref--regexp-to-extended): New function.
4436         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
4437         `matches' action.
4438         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
4439         * lisp/progmodes/etags.el (etags-xref-find):
4440         Support the `matches' action.
4441         (etags--xref-find-matches): New function.
4443 2015-05-10  Glenn Morris  <rgm@gnu.org>
4445         * Makefile.in: Fixes for recent change-history changes.
4446         (change-history-nocommit): Update footer regexp.
4447         Ensure output script stays executable.
4449 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
4451         New version of `seq-let' based on a pcase pattern
4452         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
4453         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
4455 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
4457         Add basic HTML5 tags and a template
4458         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
4459         (html-tag-alist): Add HTML5 tags.
4460         (html-tag-help): Add new tags descriptions.
4461         (html-navigational-links): Template for nav links.
4462         (html-html5-template): Template for a HTML5 page.
4464 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
4466         semantic/symref/grep: Don't use word boundaries
4467         * lisp/cedet/semantic/symref/grep.el
4468         (semantic-symref-perform-search): Instead of wrapping input in
4469         word boundaries, check that the characters before and after are
4470         not word constituents.
4472         semantic/symref/grep: Support regexp search
4473         * lisp/cedet/semantic/symref.el
4474         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
4475         the search type is regexp.
4476         * lisp/cedet/semantic/symref/grep.el
4477         (semantic-symref-perform-search): Support the regexp search type.
4478         Pass -E to Grep when it's used.
4480         semantic-symref-regexp: Allow to input an arbitrary string
4481         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
4482         Allow to input an arbitrary string interactively.
4484         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
4485         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
4486         Remove tag-symbol-match-p from the default value
4487         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
4489         Declare find-tag obsolete
4490         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
4491         xref-find-definitions.
4493 2015-05-10  Jan D  <jan.h.d@swipnet.se>
4495         Draw composite string correctly (Bug#20537).
4496         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
4497         (ns_draw_glyph_string): Call it (Bug#20537).
4499 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
4501         Avoid infloop in ERC
4502         * lisp/simple.el (line-move-to-column): Ignore field boundaries
4503         while computing line beginning position.  (Bug#20498)
4505 2015-05-08  Glenn Morris  <rgm@gnu.org>
4507         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
4508         * build-aux/gitlog-to-emacslog: Check called from right directory.
4509         (srcprefix): Remove.
4511         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
4512         * Makefile.in (ChangeLog): No longer pass "distprefix".
4513         * make-dist: Update "make ChangeLog" syntax for the above change.
4515         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
4516         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
4518         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
4520         Add command-line option-parsing to gitlog-to-emacslog.
4521         * build-aux/gitlog-to-emacslog: Add command-line options.
4522         By default, refuse to remove an existing output file.
4523         * Makefile.in (CHANGELOG): Update default.
4524         (ChangeLog): Do not test for existing file.
4525         (change-history-nocommit): Ensure temp file does not exist.
4527         Quieten --without-x compilation.
4528         * lisp/term/common-win.el: Provide a feature.
4529         * lisp/term/x-win.el (term/common-win): Require it.
4531         * lisp/dired-aux.el (dired-do-print): Require lpr.
4533         Quieten compilation, eg in --without-x builds.
4534         * lisp/dired-aux.el (lpr-printer-switch):
4535         * lisp/frame.el (tool-bar-height):
4536         * lisp/linum.el (font-info):
4537         * lisp/window.el (font-info, overflow-newline-into-fringe)
4538         (tool-bar-height):
4539         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
4540         * lisp/gnus/gnus-util.el (iswitchb-mode):
4541         * lisp/mail/rmailmm.el (libxml-parse-html-region):
4542         * lisp/net/nsm.el (gnutls-peer-status)
4543         (gnutls-peer-status-warning-describe):
4544         * lisp/net/shr.el (libxml-parse-xml-region):
4545         * lisp/url/url-http.el (gnutls-peer-status): Declare.
4547 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
4549         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
4550         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
4551         `subclass' since they're never called with a class.
4552         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
4553         srecode-dictionary-child-p.
4555 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
4557         help--binding-locus: Document argument POSITION.
4558         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
4560 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
4562         Merge from gnulib.
4563         * doc/misc/texinfo.tex: Get latest version.
4565 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
4567         ffap.el (ffap-read-file-or-url): Fix completing-read call
4568         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
4569           `completing-read' should be a symbol.
4571 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
4573         Verify file modifications by other programs
4574         * src/filelock.c (lock_file): Check whether the file was modified
4575         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
4577         Fix keyboard macros that include function keys
4578         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
4579         keys in the macro before returning.  (Bug#20454)
4581 2015-05-08  Glenn Morris  <rgm@gnu.org>
4583         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
4584         "Copyright-paperwork-exempt".  (Bug#20324)
4586         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
4587         (log-edit-rewrite-tiny-change): New variable.
4588         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
4589         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
4590         * etc/NEWS: Mention this.
4592         * lisp/calc/calc.el (math-zerop): Declare.
4594         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
4596 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
4598         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
4599         Support the case when BINDINGS is a single tuple.  (Bug#20525)
4601         * etc/NEWS: Fix typo in commit 14bb519
4603 2015-05-07  Jan D  <jan.h.d@swipnet.se>
4605         Warn for multiple display crash for all Gtk+ versions.
4606         * configure.ac: Warn for multiple display crash for all Gtk+
4607         versions.  Output URL to Gtk+ bug (Bug#20452).
4609         ns-win.el (ns-paste-secondary): Use gui-get-selection.
4610         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
4612 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
4614         * lisp/emacs-lisp/package.el: New "external" package status
4615         An external package is any installed package that's not built-in
4616         and not from `package-user-dir', which usually means it's from an
4617         entry in `package-directory-list'.  They are treated much like
4618         built-in packages, in that they cannot be through the Package Menu
4619         deleted and are not considered for upgrades.
4620         (package-desc-status): Identify if a package is installed outside
4621         `package-user-dir'.
4622         (package-menu--print-info-simple)
4623         (package-menu--status-predicate): Add support for it.
4624         * etc/NEWS: Document it.
4626 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4628         * lisp/mail/rmail.el: Use lexical-binding
4629         (rmail-bury): Remove unused var `buffer-to-bury'.
4630         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
4631         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
4632         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
4633         (rmail-insert-inbox-text): Remove unused var `movemail'.
4634         (rmail-add-mbox-headers): Remove unused var `limit'.
4635         (rmail-undelete-previous-message): Remove unused var `value'.
4636         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
4637         `resent-reply-to'.
4638         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
4639         (rmail-restore-desktop-buffer): Rename arguments.
4641 2015-05-06  Glenn Morris  <rgm@gnu.org>
4643         * Makefile.in (change-history-commit): Add missing piece of previous.
4645         Avoid unnecessary bumping of Makefile.in's timestamp.
4646         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
4647         (emacslog): New variable.
4648         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
4649         (unchanged-history-files): Use $emacslog rather than Makefile.in.
4650         (change-history-nocommit): Store hash in $emacslog.
4651         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
4652         * admin/update_autogen (changelog_files): Update for the above.
4654         * Makefile.in: Don't always insist on removing existing "ChangeLog".
4655         (CHANGELOG): New variable.
4656         (no-ChangeLog): Remove.
4657         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
4658         (change-history-nocommit): Use a temp file rather than insisting
4659         on deletion of any existing "ChangeLog".
4661         * build-aux/gitlog-to-emacslog: Allow specification of output.
4663         * admin/update_autogen: Add option to update ChangeLog.
4664         (usage): Mention -H.
4665         (changelog_flag, changelog_n, changelog_files): New variables.
4666         (main): Check for -H, and maybe run change-history-nocommit.
4668 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4670         * lisp/subr.el (delete-dups): Pre-size the hashtable.
4672         (define-modify-macro): Make sure cl--arglist-args is defined
4673         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
4674         cl--arglist-args is defined (bug#20517).
4676 2015-05-06  Glenn Morris  <rgm@gnu.org>
4678         * Makefile.in (change-history-nocommit): New.
4680 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
4682         Only cancel timer when it is non-nil
4683         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
4684         timer when it is non-nil
4685         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
4687 2015-05-06  Glenn Morris  <rgm@gnu.org>
4689         Quieten cedet compilation
4690         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
4691         Invert fboundp test to quieten on current Emacs.
4692         * lisp/cedet/ede/config.el (ede-shell-run-something)
4693         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
4694         (semanticdb-refresh-table): Declare.
4695         (ede-preprocessor-map): Require semantic/db.
4697         Quieten cc-mode compilation
4698         * lisp/progmodes/cc-awk.el (c-forward-sws):
4699         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
4700         Declare.
4702 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
4704         lisp/subr.el (delete-dups): Avoid nreverse.
4706 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
4708         * lisp/subr.el (delete-dups): Make it destructive again.
4710 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4712         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
4714 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4716         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
4717         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
4718         (testcover--read): Rename from testcover-read.  Change calling convention.
4719         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
4720         (testcover-start): Use add-function.  Move edebug-all-defs binding to
4721         testcover--read.
4722         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
4723         (testcover-mark): Remove unused var `item'.
4724         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
4726 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
4728         lisp/subr.el (delete-dups): Use a hash table
4729         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
4730           use a hash table. This can result in ~500 times speed-up for typical
4731           collections of size 5000, like that of `load-library'.
4733 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
4735         CEDET: Avoid `oref' on classes in a few more cases
4736         * lisp/cedet/ede/generic.el (ede-find-target):
4737         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
4738         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
4739         var `prefix'.
4741         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
4742         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
4743         (semantic-symref-perform-search): Remove unused var `pat'.
4745         CEDET (srecode-compile-inserter): Avoid `oref' on classes
4746         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
4747         Avoid `oref' on classes (bug#20491).
4748         (srecode-compile-split-code): Remove unused var `key'.
4750 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
4752         Clean up pulse.el a little
4753         * lisp/cedet/pulse.el (pulse): Remove.
4754         (pulse-momentary-timer): Save instead of the stop time.
4755         (pulse-momentary-highlight-overlay): Call
4756         pulse-momentary-unhighlight first thing. Treat
4757         pulse-momentary-overlay as a single value, not a list. Save the
4758         created timer. Only pass the stop time to the timer.
4759         (pulse-tick): Update accordingly.
4760         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
4761         single value. Cancel the timer.
4763 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
4765         Support the biblatex journaltitle field
4766         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
4767         Support the biblatex journaltitle field.
4769 2015-05-05  Glenn Morris  <rgm@gnu.org>
4771         Minor declare-function improvement
4772         * lisp/emacs-lisp/bytecomp.el
4773         (byte-compile-macroexpand-declare-function):
4774         Handle declarations after calls.  (Bug#20509)
4776         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
4778         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
4780 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
4782         Pulse using a timer
4783         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
4784         (pulse-momentary-highlight-overlay): Set up the timer instead of
4785         calling `pulse'
4786         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
4787         (pulse-tick): New function.
4788         (pulse-momentary-unhighlight): Cut off the stop time.
4789         (pulse-delay): Update the docstring WRT to not using sit-for.
4791         Add semantic/symref/grep file patterns for ruby-mode
4792         * lisp/cedet/semantic/symref/grep.el
4793         (semantic-symref-filepattern-alist): Add patterns for
4794         ruby-mode. Clarify the docstring.
4796         Don't require match
4797         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
4798         match. That doesn't work for every command, and some identifier
4799         completion tables are bound to be imperfect anyway.
4801 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
4803         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
4804         (semantic-grammar--template-expand): New function.
4805         (semantic-grammar-header, semantic-grammar-footer): Use it.
4806         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
4807         (semantic-grammar-file-regexp): Refine regexp.
4808         (semantic-grammar-eldoc-get-macro-docstring):
4809         Use elisp-get-fnsym-args-string when available.
4810         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
4811         instead of the old eldoc-* names.
4812         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
4813         from elisp-mode.el.  Tweak calling convention.
4814         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
4815         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
4816         elisp--get-fnsym-args-string.
4817         (elisp--highlight-function-argument): Add `prefix' arg.
4818         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
4819         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
4821 2015-05-05  Glenn Morris  <rgm@gnu.org>
4823         * lisp/help-fns.el (describe-function-1):
4824         Handle builtins with advertised calling conventions.  (Bug#20479)
4826 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
4828         Merge branch 'seq-let'
4830         Update `seq-let' documentation
4831         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
4832         with the support of  `&rest'.
4834         Add support for &rest in `seq-let'
4835         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
4836         in the argument list.
4837         * test/automated/seq-tests.el: Add a test for parsing and binding
4838         `&rest' in `seq-let'.
4840 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
4842         Spelling fixes
4844 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
4846         * eieio-custom.el (eieio-object-value-get): Add missing increment
4847         (Bug#20467)
4849         (eieio-object-value-create): Adjust to new slots representation
4850         (Bug#20467)
4851         * eieio-custom.el (eieio-object-value-create):
4852         Fix missed adjustment to new representation of slots metadata.
4854 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
4856         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
4858 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
4860         Work around "Attempt to modify read-only object"
4861         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
4862         elisp--xref-find-definitions, to work around "Attempt to modify
4863         read-only object" error.
4865         Only skip some variables that have function counterparts
4866         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
4867         Only skip minor-mode-named variable if it's defined in a Lisp
4868         file, and it's in minor-mode-list (bug#20506).
4869         * test/automated/elisp-mode-tests.el
4870         (elisp-xref-finds-both-function-and-variable)
4871         (elisp-xref-finds-only-function-for-minor-mode): New tests.
4873 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4875         Buttonize the whole line, including the number at the beginning
4876         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
4877         previous change.
4878         (xref--insert-xrefs): Buttonize the whole line, including the
4879         number at the beginning.
4881         Make sure we're inside the let bindings
4882         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
4883         Make sure we're inside the let bindings.
4884         * test/automated/elisp-mode-tests.el
4885         (elisp-completes-functions-after-let-bindings): New test.
4887 2015-05-04  Glenn Morris  <rgm@gnu.org>
4889         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
4890         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
4891         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
4892         Remove outdated declarations.
4894         Replace instances of "(eval-when-compile (autoload ...))"
4895         * lisp/gnus/gnus-art.el (nneething-get-file-name):
4896         Declare rather than autoload.
4897         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
4898         Remove pointless autoload.
4899         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
4900         (gnus-topic-create-topic, gnus-topic-enter-dribble):
4901         Declare rather than autoload.
4902         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
4903         (mailcap-extension-to-mime): Autoload at run-time.
4904         * lisp/gnus/mm-util.el (latin-unity-massage-name)
4905         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
4906         (latin-unity-representations-present-region):
4907         Declare rather than autoload.
4908         * lisp/gnus/mml-smime.el (epg-make-context)
4909         (epg-passphrase-callback-function): Autoload at run-time.
4910         (epg-context-set-signers, epg-context-result-for)
4911         (epg-new-signature-digest-algorithm)
4912         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
4913         (epg-sign-string, epg-encrypt-string)
4914         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
4915         (epg-configuration, epg-expand-group, epa-select-keys):
4916         Declare rather than autoload.
4917         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
4918         Autoload at run-time.
4919         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
4920         (gnus-registry-get-id-key, gnus-registry-action):
4921         Declare rather than autoload.
4922         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
4923         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
4924         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
4925         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
4926         (spam-stat-split-fancy): Remove pointless autoloads.
4927         * lisp/net/mairix.el: Load gnus-util when compiling.
4928         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
4929         (message-field-value): Declare rather than autoload.
4930         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
4931         Check gnus-alive-p is fbound.
4932         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
4933         (vm-check-for-killed-summary, vm-error-if-folder-empty)
4934         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
4935         Declare rather than autoload.
4937         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
4939         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
4940         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
4942         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
4944         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
4946         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
4947         * lisp/emacs-lisp/package.el (epg-signature-status):
4948         Fix declarations.
4950         * lisp/play/gametree.el (gametree-show-children-and-entry)
4951         (gametree-apply-layout, gametree-mouse-show-subtree)
4952         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
4954         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
4955         Handle cl-defgeneric, cl-defmethod.
4957 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4959         Highlight both type and symbol name
4960         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
4961         Highlight both type and symbol name.
4963         Insert, highlight and align line numbers in xref output
4964         * lisp/progmodes/etags.el (xref-location-line): Specialize for
4965         xref-etags-location.
4966         * lisp/progmodes/xref.el (xref-location-line): New generic method.
4967         (xref-file-location): Add reader for the line slot.
4968         (xref--location-at-point): Skip to the `xref-location' property.
4969         (xref--collect-reference): Drop the line number from description.
4970         (xref--insert-xrefs): Insert, highlight and align line numbers.
4972 2015-05-04  Daniel Colascione  <dancol@dancol.org>
4974         Fix previous commit
4976 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
4978         Don't pulse the indentation, or the newline
4979         * lisp/cedet/pulse.el (pulse-lighten-highlight)
4980         (pulse-reset-face): Fall back to the inherited background
4981         attribute in FACE.
4982         (pulse-momentary-highlight-region): Add autoload cookie.
4983         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
4984         indentation, or the newline, if the line's non-empty
4985         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
4987 2015-05-04  Daniel Colascione  <dancol@dancol.org>
4989         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
4990         * doc/lispref/positions.texi (Excursions): Document
4991         `save-mark-and-excursion'.
4992         * lisp/font-lock.el (font-lock-fontify-block): Use
4993         `save-mark-and-excursion' instead of `save-excursion', restoring
4994         Emacs 24 behavior.
4995         * lisp/simple.el (save-mark-and-excursion--save)
4996         (save-mark-and-excursion--restore): New functions.
4997         (save-mark-and-excursion): New user macro.
4998         * src/editfns.c (Fsave_excursion): Mention
4999         `save-mark-and-excursion' in `save-excursion' documentation.
5001 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5003         Classify lone symbol inside let varlist as variable
5004         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5005         Classify lone symbol inside let varlist as variable.
5006         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
5007         New test.
5009         Add xref-pulse-on-jump
5010         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
5011         Add autoload cookie.
5012         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
5013         (xref--maybe-pulse): New function.
5014         (xref-pop-marker-stack, xref--pop-to-location)
5015         (xref--display-position): Use it.
5016         (xref--location-at-point): Use back-to-indentation.
5018 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
5020         * lisp/org/org-{macs,list}.el: Fix lexical warnings
5021         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
5022         (org-list-get-next-item, org-list-get-prev-item)
5023         (org-list-get-children): Mark unused arg `struct'.
5024         (org-list-use-alpha-bul-p): Remove unused var `bul'.
5025         (org-toggle-checkbox): Mark unused var.
5026         (org-update-checkbox-count): Remove unused var `box-num'.
5027         (org-adapt-indentation): Declare.
5028         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
5029         (org-list-send-list): Remove unused var `txt'.
5030         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
5031         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
5032         * lisp/org/org-macs.el: Use `declare'.
5033         (org-with-limited-levels): Declare dyn-bound vars.
5035 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
5037         Fix minor issues with CEDET on MS-Windows
5038         * lisp/cedet/semantic/symref/idutils.el
5039         (semantic-symref-parse-tool-output-one-line): Fix the search
5040         regexp to match MS-Windows file names with drive letters.
5041         (Bug#19468)
5042         * lisp/cedet/semantic/symref/grep.el
5043         (semantic-symref-grep-use-template): Remove "--color=always" from
5044         Grep switches on MS-Windows.
5045         (semantic-symref-grep-shell): Use shell-file-name as the default
5046         value, so this works not only on Posix platforms.
5047         (semantic-symref-perform-search): Use shell-quote-argument instead
5048         of literal '..' for portable quoting of Grep command-line
5049         argument.  Use shell-command-switch instead of a literal "-c".
5050         * lisp/cedet/semantic/bovine/gcc.el
5051         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
5052         for an absolute file name in a portable way.
5054 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
5056         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
5057         (package-import-keyring, package-refresh-contents)
5058         (package-compute-transaction, package--save-selected-packages)
5059         (package-install-from-archive, package-delete)
5060         (package-menu--perform-transaction): Use `inhibit-message'
5061         instead.
5062         (package--compile): Set `warning-minimum-level' to :error.
5064 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
5066         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
5067         (terminal-init-screen): Use it (bug#20356).
5068         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
5069         (xterm--extra-capabilities-type): New const.
5070         (xterm-extra-capabilities): Use it.
5071         (xterm--version-handler): Lower the pseudo-version for `screen'.
5073 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
5075         xref--insert-xrefs: Tweak the faces
5076         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
5077         Always insert a newline at the end (to avoid mouse-face background
5078         tail at the last line).
5080         elisp-completion-at-point: Prioritize being quoted over funpos
5081         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5082         Only consider function position when not inside quoted form
5083         (bug#20425).
5084         * test/automated/elisp-mode-tests.el: New file.
5086         Stop vc-print-log from jumping to the top
5087         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
5088         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
5089         is not specified.
5090         (vc-incoming-outgoing-internal): Always pass nil.
5091         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
5092         call it, and don't set vc-sentinel-movepoint (bug#15322).
5093         (vc-print-root-log): Don't fetch the root working revision, nor
5094         pass it to vc-print-log-internal.
5096 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
5098         Fix display of keyboard layouts for right-to-left scripts
5099         * lisp/international/quail.el (quail-insert-kbd-layout): Force
5100         left-to-right paragraph direction.
5102 2015-05-02  K. Handa  <handa@gnu.org>
5104         * cmds.c (internal_self_insert): When we insert spaces for
5105         padding, set point before the padding spaces, not after them.
5107 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
5109         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
5111 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
5113         Fix etags-xref-find for references
5114         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
5115         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
5116         directory if no tags tables are loaded (bug#19468).
5118 2015-05-02  Philipp Stephani  <phst@google.com>
5120         Update the options in whitespace-style defcustom
5121         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
5122         `repeat' because the option is really set-like.  Add missing
5123         options.  Reorder options to match the order in the
5124         documentation.  (Bug#20346)
5126 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
5128         Fix error diagnostics of c-macro-expand
5129         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
5130         too early if no start-marker string was found -- that generally
5131         means cpp exited abnormally, and we still want to show its error
5132         messages to the user.
5134         Don't require Texinfo 5.0 for Emacs documentation
5135         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
5136         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
5137         "@codequoteundirected on", respectively, to avoid requiring
5138         Texinfo 5.x for Emacs documentation.
5140 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
5142         * lisp/files.el (pwd):
5143         When called with a prefix argument, insert the current default
5144         directory at point.
5146 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
5148         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
5149         * lisp/isearch.el (isearch-mode-map): Don't inhibit
5150         function-key-map remapping for backspace (bug#20466).
5152 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
5154         Implement xref-find-references in etags and elisp-mode
5155         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
5156         (elisp-xref-find): Use it.
5157         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
5158         * lisp/progmodes/xref.el (xref-collect-references):
5159         (xref--collect-reference): New functions.
5161 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
5163         Prefer plain characters to Texinfo circumlocutions
5164         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
5165         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
5167         Fix single-quoting style in PDF manuals
5168         The PDF versions of the GNU manuals used curved single quotes to
5169         represent grave accent and apostrophe, which made it a pain to cut
5170         and paste code examples from them.  Fix the PDF versions to use
5171         grave accent and apostrophe for Lisp source code, keystrokes, etc.
5172         This change does not affect the info files, nor does it affect
5173         ordinary uses of curved single quotes in PDF.
5174         * doc/emacs/docstyle.texi: New file, which specifies treatment for
5175         grave accent and apostrophe, as well as the document encoding.
5176         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
5177         * doc/lispintro/emacs-lisp-intro.texi:
5178         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
5179         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
5180         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
5181         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
5182         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
5183         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
5184         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
5185         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
5186         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
5187         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
5188         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
5189         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
5190         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
5191         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
5192         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
5193         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
5194         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
5195         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
5196         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
5197         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
5198         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
5199         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
5200         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
5201         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
5202         * doc/misc/woman.texi:
5203         Use it instead of '@documentencoding UTF-8', to lessen the need for
5204         global changes like this in the future.
5205         * doc/emacs/Makefile.in (EMACS_XTRA):
5206         * doc/lispintro/Makefile.in (srcs):
5207         * doc/lispref/Makefile.in (srcs):
5208         Add dependency on docstyle.texi.
5209         * doc/misc/Makefile.in (style): New macro.
5210         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
5211         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
5212         Use it.
5214 2015-05-01  Glenn Morris  <rgm@gnu.org>
5216         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
5218         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
5219         (help-fns--signature): Declare.
5221         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
5223 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
5225         New macro seq-let, providing destructuring support to seq.el
5226         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
5227         to `cl-destructuring-bind' but works on all sequence types supported
5228         by `seq.el'.  Bump version number to 1.6.
5229         * test/automated/seq-tests.el: Add tests for seq-let.
5230         * doc/lispref/sequences.texi: Add documentation for seq-let.
5232 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
5234         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
5236 2015-05-01  Glenn Morris  <rgm@gnu.org>
5238         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
5240 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
5242         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
5243         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
5244         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
5245         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
5246         (Bug#20445).
5248 2015-05-01  K. Handa  <handa@gnu.org>
5250         * mule-cmds.el (input-method-use-echo-area): Change :type to
5251         'boolean.
5253 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
5255         Start using proportional fonts in eww by default
5256         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
5257         it seems to work well.
5259         Fix links in tables in shr
5260         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
5261         makes (some) links in tables not work.
5263 2015-05-01  Jan D  <jan.h.d@swipnet.se>
5265         (ns-get-cut-buffer-internal): Remove this alias.
5266         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
5268 2015-04-30  Glenn Morris  <rgm@gnu.org>
5270         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
5271         Update for 2015-02-08 change to indirect-function.
5273         * lisp/term/ns-win.el (ns-get-selection-internal):
5274         Remove declaration for function deleted 2014-10-21.
5276         * lisp/dom.el: Load subr-x when compiling, for when-let.
5278         Silence some compilation warnings
5279         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
5280         * lisp/emulation/cua-base.el (delete-active-region):
5281         * lisp/net/net-utils.el (w32-get-console-output-codepage):
5282         * lisp/term/ns-win.el (ns-own-selection-internal)
5283         (ns-disown-selection-internal, ns-selection-owner-p)
5284         (ns-selection-exists-p, ns-get-selection):
5285         Declare for compiler..
5287         Function declaration updates prompted by 'make check-declare'
5288         * lisp/emacs-lisp/package.el (lm-homepage):
5289         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
5290         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
5291         * lisp/gnus/mml.el (libxml-parse-html-region):
5292         * lisp/gnus/nnrss.el (libxml-parse-html-region):
5293         * lisp/net/eww.el (libxml-parse-html-region):
5294         * lisp/net/shr.el (libxml-parse-html-region):
5295         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
5296         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
5297         * lisp/vc/vc-git.el (vc-annotate-convert-time):
5298         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
5299         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
5300         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
5301         Update declaration.
5303         Remove compatibility code for 20-year old function renaming
5304         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
5305         Make it an obsolete alias.
5306         (idlwave-shell-filter): Change all uses to comint-output-filter.
5308 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
5310         Add ace-window face config
5311         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
5312         configuration.
5314 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
5316         Unclutter 'make doc' output a bit
5317         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
5318         Use make subst rather than sh IFS to split target string apart.
5319         This makes 'make' output easier to follow.
5321         Merge from gnulib
5322         * doc/misc/texinfo.tex: Update from gnulib.
5324 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
5326         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
5327         (package-menu--print-info): Obsolete.
5328         (package-menu--print-info-simple): New function.
5329         (package-menu--refresh): Use it, simplify code, and improve
5330         performance.
5331         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
5332         Tiny performance improvement.
5334         * lisp/emacs-lisp/package.el (package--message): inhibit-message
5336 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
5338         Omit -Wstrict-overflow workaround in GCC 5
5339         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
5340         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
5342         Merge from gnulib
5343         This incorporates:
5344         2015-04-29 extern-inline: no need for workaround in GCC 5.1
5345         2015-04-26 file-has-acl: port to CentOS 6
5346         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
5348 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
5350         Set next-error-* in xref--xref-buffer-mode
5351         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
5352         `next-error-last-buffer'.
5353         (xref--next-error-function): New function.
5354         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
5356 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5358         python.el: Fix warnings on looking-back calls missing LIMIT
5359         * lisp/progmodes/python.el (python-shell-accept-process-output):
5360         Pass LIMIT arg to looking-back.
5362 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5364         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
5365         (package--download-and-read-archives): Use pushnew instead of
5366         append.  If something terrible happened during a previous
5367         download, simply refreshing should now make things work again.
5369 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
5371         Introduce etags-xref-find-definitions-tag-order
5372         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
5373         New variable.
5374         (etags--xref-find-definitions): Use it (bug#19468).
5376 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
5378         PATH- and completion-related fixes in Eshell on MS-Windows
5379         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
5380         MS-Windows, prepend "." to list of directories produced from PATH,
5381         as Windows always implicitly searches the current directory first.
5382         (eshell-force-execution): Make it have a non-nil default value on
5383         MS-Windows and MS-DOS.
5384         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
5385         eshell-force-execution is non-nil, complete on readable files and
5386         directories, not only executables.  When running on MS-Windows,
5387         prepend "." to list of directories produced from PATH, as Windows
5388         always implicitly searches the current directory first.
5390 2015-04-29  Sam Steingold  <sds@gnu.org>
5392         bury RCIRC buffers when there is no activity
5393         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
5394         (rcirc-bury-buffers): new function
5395         (rcirc-next-active-buffer): when there is no new activity, use
5396         `rcirc-bury-buffers' to hide all RCIRC buffers
5398 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
5400         Fix DBUS query result parsing for secrets-search-items
5401         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
5402         parsing.  The function assumed that return value of the
5403         SearchItems method called on a collection is a list of two lists,
5404         however this is true only when no collection is specified.  GNOME
5405         had used to incorrectly return a list of two lists in both cases,
5406         but this was already fixed:
5407         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
5408         incorrect information in the secrets-search-items’ docstring.
5409         (Bug#20449)
5411 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5413         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
5414         (byte-compile--message): Use `inhibit-message' instead of hiding
5415         the previous message with (message nil).
5417 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
5419         Remove the deprecated INTERNAL_FIELD macro by expanding it
5420         * src/lisp.h (INTERNAL_FIELD): Remove.
5421         (DEFVAR_KBOARD): Modify accordingly.
5422         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
5423         * syntax.c: Adjust users.
5424         * src/buffer.c (compact_buffer): Use BVAR.
5426 2015-04-29  Glenn Morris  <rgm@gnu.org>
5428         Replace an obsolete function alias
5429         * lisp/isearch.el (isearch-yank-x-selection):
5430         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
5431         (mouse-drag-secondary-moving):
5432         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
5433         Replace obsolete alias x-get-selection with gui-get-selection.
5435 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
5437         * lisp/mail/rmailsum.el: Use lexical-binding.
5439 2015-04-29  Glenn Morris  <rgm@gnu.org>
5441         * test/automated/package-test.el (package-test-update-archives-async):
5442         Skip test on hydra.nixos.org.
5444 2015-04-28  Glenn Morris  <rgm@gnu.org>
5446         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
5447         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
5448         (foldout-mouse-hide-or-exit): Use new names for outline functions.
5450         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
5451         Update for 2014-06-26 hideif.el change.
5453         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
5454         (rmail--decode-and-apply): New function.
5455         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
5457         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
5459 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5461         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
5462         (package-menu--refresh): Delegate obsolete-hiding to
5463         `package--remove-hidden'.
5464         (package--remove-hidden): Disregard high-priority package if it is
5465         older than the installed one.
5467 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
5469         Update source file encoding list
5470         Update admin/notes/unicode, along with coding system cookies in
5471         other files, so that the two match each other better.
5472         * admin/notes/unicode: lisp/language/ethio-util.el and
5473         lisp/language/ethiopic.el also use utf-8-emacs.
5474         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
5475         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
5476         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
5477         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
5478         * etc/refcards/sk-survival.tex:
5479         Add "coding: utf-8" so that this file is not mishandled in a
5480         Latin-1 or Big-5 locale.
5481         * lisp/international/robin.el, lisp/org/ox-ascii.el:
5482         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
5483         * lisp/language/ethio-util.el: Fix trailer.
5485 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
5487         Fix synchronous invocation of Ispell
5488         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
5489         value to ispell-process-directory before calling ispell-init-process.
5490         Don't call set-process-coding-system if ispell-async-processp is nil.
5491         (Bug#20448)
5493 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5495         * lisp/emacs-lisp/package.el: Skip space and comments in init file
5496         (package--ensure-init-file): Insert snippet at first
5497         non-whitespace non-comments line.  Respects local-vars at the top
5498         of the file.
5500 2015-04-28  Glenn Morris  <rgm@gnu.org>
5502         * lisp/mail/rmail.el (rmail-copy-headers):
5503         Handle rmail-nonignored-headers being nil.  (Bug#18878)
5505         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
5507         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
5508         Don't get confused by a bzrlib version mismatch warning.
5510 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5512         Change default location of EUDC options file
5513         * NEWS: Document change to EUDC options file's default location.
5514         * lisp/net/eudc-vars.el (eudc-options-file): Use
5515         `locate-user-emacs-file' to change default options file location.
5517 2015-04-27  Glenn Morris  <rgm@gnu.org>
5519         * test/automated/package-test.el (package-test-update-archives-async):
5520         Try to handle the test server script dying.
5522 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5524         * lisp/saveplace.el (save-place-mode): New minor mode.
5525         (save-place): Redefine as an obsolete alias.
5527         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
5528         * lisp/midnight.el: Use lexical-binding.
5529         (midnight-mode): Make it a proper minor mode.
5530         (midnight-buffer-display-time): Make arg non-optional.
5531         (midnight-find): Remove.
5532         (clean-buffer-list-kill-never-regexps)
5533         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
5534         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
5535         contain functions.
5536         (clean-buffer-list): Use cl-find.
5537         Allow clean-buffer-list-kill-never-regexps to contain functions.
5539 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
5541         Bump version of seq.el to 1.5
5542         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
5543           from seq-doseq.  Bump version number of seq.el.
5545 2015-04-27  Glenn Morris  <rgm@gnu.org>
5547         * lisp/mail/rmail.el (rmail-reply):
5548         Decode subject before matching "Re:" prefix.  (Bug#20396)
5550 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5552         * lisp/emacs-lisp/package.el: Small improvements
5553         (package--with-work-buffer-async): More informative error.
5554         (package-install-user-selected-packages): Rename to
5555         `package-install-selected-packages'.
5557 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5559         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
5560         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
5561         (eieio--class-make): Remove leftover `tag'.
5563 2015-04-27  Glenn Morris  <rgm@gnu.org>
5565         * lisp/gnus/message.el (gnus-extract-address-components):
5566         Remove bogus declaration that was masking previous problem.
5568 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
5570         * lisp/gnus/message.el (message-insert-formatted-citation-line):
5571         Fix typo.  (Bug#20318)
5573 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5575         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
5577         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
5578         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
5579         the buffer in yet another frame.
5580         (reftex-toc-visit-location): Make sure toc-window has focus at the end
5581         when `final' is nil.
5582         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
5583         silence warnings.  Use `--' to clarify that it's internal.
5584         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
5585         (reftex-toc-promote): Clarify unused argument.
5586         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
5587         Add `reftex--' prefix.  Fix all users.
5588         (reftex-toc-promote-prepare): Use _ for dummy variable.
5589         (reftex-toc-restore-region): Rename `m
5591 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
5593         Fix a typo in bibtex.el
5594         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
5595         last change.  (Bug#20429)
5597         Fix redisplay of frame after loading new fonts
5598         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
5599         frame because new fonts were loaded, disable all redisplay
5600         optimizations on that frame by calling SET_FRAME_GARBAGED.
5601         (Bug#20410)
5603 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5605         * lisp/info.el (Info-menu): Properly provide the `default'
5606         (Bug#20391)
5608         * elisp-mode.el: Catch errors from `documentation'
5609         (Bug#20418)
5610         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
5611         Catch errors from documentation.
5612         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
5614 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
5616         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
5617         Remove redundant ":group 'package".
5619 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
5621         Fix a typo in rmail.el
5622         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
5623         last commit.  (Bug#20429)
5625 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
5627         Introduce xref-prompt-for-identifier
5628         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
5629         (xref--read-identifier): Use it
5630         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
5632 2015-04-26  João Távora  <joaotavora@gmail.com>
5634         `tex-insert-quote' after single `'' opens quotes instead of closing
5635         Without this, it's very hard to precede double quotes with the
5636         apostrophe character, i.e. insert the sequence '``
5637         (quote-backquote-backquote), commonly useful in portuguese, for
5638         instance.
5639         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
5640         chars making `tex-insert-quote' be in the "opening" context.
5642 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
5644         Pass `id' to `completing-read' as def instead of initial input
5645         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
5646         as the default value instead of initial input
5647         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
5649 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
5651         Don't freeze with unreadable processes
5652         Don't freeze if an exiting process can't be read from. (Bug#19860).
5653         This fixes a bug I introduced in
5654         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
5655         "* process.c: Add sanity checks for file descriptors."
5656         Dmitry Gutov did most of the legwork in finding the problem.
5657         * src/process.c (wait_reading_process_output):
5658         Treat non-running processes that can't be read from
5659         the same as other non-running processes.
5661 2015-04-25  Alan Mackenzie  <acm@muc.de>
5663         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
5664         * lisp/subr.el (remove-yank-excluded-properties): put
5665         `with-silent-modifications' around only the last three lines of code.
5667 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
5669         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
5670         (package--all-keywords): Deleted variable.
5672         * etc/NEWS: Document package-hiding functionality
5674 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
5676         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
5678         Clarify the doc string of 'replace-regexp-in-string'
5679         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
5681         Improve doc string of 'insert-buffer-substring'
5682         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
5684         MS-Windows followup for the recent gnulib update
5685         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
5686         acl-internal.c.
5688 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
5690         Spelling fixes
5692         Merge from gnulib
5693         This incorporates:
5694         2015-04-24 file-has-acl: new module, split from acl
5695         2015-04-24 manywarnings: add GCC 5.1 warnings
5696         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
5697         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
5698         2015-04-15 acl: On Linux, check for acls without libacl
5699         2015-04-14 tempname: avoid unused parameter warnings (trivial)
5700         * lib/acl-internal.c: New file, from gnulib.
5701         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
5702         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
5703         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
5704         Update from gnulib.
5706         Port --enable-gcc-warnings to GCC 5.1 x86-64
5707         * lib-src/ebrowse.c (dump_sym):
5708         * lib-src/hexl.c (main):
5709         * src/ccl.c (ccl_driver):
5710         * src/character.c (string_escape_byte8):
5711         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
5712         * src/gnutls.c (Fgnutls_boot):
5713         * src/gtkutil.c (xg_check_special_colors):
5714         * src/image.c (x_build_heuristic_mask):
5715         * src/print.c (safe_debug_print, print_object):
5716         * src/term.c (produce_glyphless_glyph):
5717         * src/xdisp.c (get_next_display_element)
5718         (produce_glyphless_glyph):
5719         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
5720         Don't use a signed format to print an unsigned integer, or vice
5721         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
5722         * src/image.c (png_load_body, jpeg_load_body):
5723         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
5725 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
5727         Add new faces to tsdh-light-theme
5728         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
5729         definitions for Info-quoted, ace-jump-face-foreground,
5730         hl-paren-face, show-paren-match, and show-paren-mismatch.
5732 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
5734         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
5736 2015-04-24  Glenn Morris  <rgm@gnu.org>
5738         * build-aux/gitlog-to-emacslog:
5739         Use raw log format rather than wrapped one.
5741 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5743         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
5744         (seq-doseq): Fix out-of-scope binding.
5745         Don't call `seq-length at every iteration.
5746         Reduce `if's from 3 to 2 per iteration.
5747         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
5749 2015-04-24  Glenn Morris  <rgm@gnu.org>
5751         * lisp/textmodes/text-mode.el (text-mode-hook):
5752         Move text-mode-hook-identify to default.
5754         * lisp/mouse.el (minor-mode-menu-from-indicator):
5755         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
5757         * lisp/help-fns.el (describe-function): More type checking.
5758         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
5760         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
5761         (Bug#20325)
5763 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
5765         shr: strip leading whitespace when expanding URLs
5766         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
5768 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
5770         Clarify "co-authored" some more
5772         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
5774         Clarify doc strings of functions that search for properties
5775         * src/textprop.c (Fnext_char_property_change)
5776         (Fprevious_char_property_change)
5777         (Fnext_single_char_property_change)
5778         (Fprevious_single_char_property_change, Fnext_property_change)
5779         (Fnext_single_property_change, Fprevious_property_change)
5780         (Fprevious_single_property_change): Clarify doc strings wrt return
5781         value and the optional LIMIT argument.  (Bug#20411)
5783 2015-04-24  Glenn Morris  <rgm@gnu.org>
5785         * test/automated/message-mode-tests.el (message-mode-propertize):
5786         Handle non-writable HOME; eg on hydra.nixos.org.
5788 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
5790         Avoid starting threads by w32-shell-execute
5791         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
5792         local file names, before invoking ShellExecute.  (Bug#20220)
5794 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
5796         Fix following doc-links in `widget-documentation-link-action'
5797         * lisp/wid-edit.el (widget-documentation-link-action): Make
5798         following doc-links less simplistic (Bug#20398).
5800 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5802         Improve EUDC manual
5803         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
5805 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5807         Omit needless "\ " after multibyte then newline
5808         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
5809         (print_object): When print-escape-multibyte is non-nil and a
5810         multibyte character is followed by a newline or formfeed, followed
5811         by a hex digit, don't output a needless "\ " before the hex digit.
5812         * test/automated/print-tests.el (print-hex-backslash): New test.
5814 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
5816         Add a new `inhibit-message' variable
5817         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
5818         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
5819         `inhibit_message' is non-zero.
5820         * etc/NEWS: Add an entry.
5821         * doc/lispref/display.texi: Add an entry for `inhibit-message',
5822           mention it in `message'.
5824 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
5826         Fix last fix in `display-buffer-record-window'.
5827         * lisp/window.el (display-buffer-record-window): Fix last fix.
5829 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
5831         Minor edits in CONTRIBUTE
5832         * CONTRIBUTE: Rearrange instructions about log messages.
5833         Use "Git" capitalized all over.
5834         Use 2 spaces between sentences.
5836 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
5838         * lisp/files.el (basic-save-buffer): Fix argument
5840         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
5841         In case `(and (null custom-file) init-file-had-error)' do the same
5842         thing we'd do if `(null user-init-file)', which is to either error out
5843         or return nil.  This is in line with `custom-save-all' which would
5844         throw an error in that situation. (bug#20355)
5846         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
5847         (package-menu-hide-low-priority): New variable, see its doc.
5848         (package-archive-priorities): Update doc.
5849         (package-desc-priority): New function.
5850         (package-desc-priority-version): Use it.
5851         (package--remove-hidden): New function.
5852         (package-menu--refresh): Use it.
5854         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
5855         (package-menu--hide-obsolete): New variable.
5856         (package--remove-hidden): Use it.
5857         (package-menu-hide-obsolete): New interactive function to toggle
5858         the variable.
5859         (package--quick-help-keys): Document it.
5860         (package-menu-async): Add :version tag.
5861         (package-menu-mode-map): Bind package-menu-hide-obsolete.
5862         (package-desc-status): Indicate non-installed obsolete packages as
5863         avail-obso.
5864         (package-menu-mark-install): Allow installation of avail-obso.
5865         (package-menu--status-predicate): Sort avail-obso with available.
5867 2015-04-22  Alan Mackenzie  <acm@muc.de>
5869         On C-y, stop some text property entries being written into buffer-undo-list
5870         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
5871         `with-silent-modifications'.
5873 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
5875         In display-buffer-record-window record selected window if necessary.
5876         * lisp/window.el (display-buffer-record-window): Store selected window
5877         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
5879 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
5881         Fix reftex-citation bug
5882         * reftex-cite.el (reftex-extract-bib-entries): Fix
5883         `wrong-type-argument stringp nil' error that occurs when AUCTeX
5884         integration is enabled and there are no citations in the document
5885         so far.
5887 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
5889         Add or reset based on the presence of MERGE_HEAD
5890         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
5891         `vc-git-resolve-when-done' to `after-save-hook' in either case.
5892         (vc-git-conflicted-files): Add a TODO.
5893         (vc-git-resolve-when-done): Depending on the presence of
5894         MERGE_HEAD, either update the resolved file in the index, or
5895         remove it from there.  (Bug#20292)
5897 2015-04-21  Glenn Morris  <rgm@gnu.org>
5899         * lisp/custom.el (custom-declare-group): No need to purecopy
5900         custom-current-group-alist members following recent change to set
5901         it to nil before dumping.
5903         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
5904         (Bug#20399)
5906 2015-04-21  Daniel Colascione  <dancol@dancol.org>
5908         Unbreak no-op buffer save message
5909         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
5910         (basic-save-buffer): Accept called-interactively as an argument instead of
5911         directly invoking called-interactively-p, which will always yield nil
5912         in that context.
5914 2015-04-21  Alan Mackenzie  <acm@muc.de>
5916         CC Mode: Do nothing in before/after-change-functions for text property changes
5917         Fixes bug#20266.
5918         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
5919         yank-handled-properties buffer local, and remove 'category from it.
5920         (c-called-from-text-property-change-p): New function.
5921         (c-before-change): Don't do anything if a call of the new function
5922         returns non-nil.
5923         (c-after-change): Don't do much if a call of the new function returns
5924         non-nil.
5925         (c-extend-after-change-region): Put changes to text property 'fontified
5926         inside c-save-buffer-state.
5928 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
5930         Fix byte-compiler warnings about looking-back.
5931         * lisp/vc/log-view.el (log-view-end-of-defun-1):
5932         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
5933         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
5934         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
5935         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
5936         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
5937         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
5938         * lisp/org/org.el (org-insert-heading, org-sort-entries):
5939         * lisp/org/org-mouse.el (org-mouse-end-headline)
5940         (org-mouse-context-menu):
5941         * lisp/org/org-clock.el (org-clock-cancel):
5942         * lisp/man.el (Man-default-man-entry):
5943         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
5944         (rmail-ensure-blank-line):
5945         * lisp/mail/footnote.el (Footnote-delete-footnote):
5946         * lisp/mail/emacsbug.el (report-emacs-bug):
5947         * lisp/info.el (Info-follow-reference, Info-fontify-node):
5948         * lisp/info-look.el (info-lookup-guess-custom-symbol):
5949         * lisp/help-fns.el (help-fns--key-bindings):
5950         * lisp/files.el (hack-local-variables):
5951         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
5952         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
5953         (viper-complete-filename-or-exit):
5954         * lisp/emulation/viper-cmd.el (viper-backward-indent):
5955         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
5956         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
5957         * lisp/cus-edit.el (custom-face-edit-value-create):
5958         * lisp/calendar/todo-mode.el (todo-set-item-priority)
5959         (todo-filter-items-1, todo-convert-legacy-files)
5960         (todo-prefix-overlays): Add explicit second arg to looking-back.
5962 2015-04-20  Glenn Morris  <rgm@gnu.org>
5964         Avoid non-nil current-load-list at startup
5965         * src/process.c (init_process_emacs): Move Fprovide statement...
5966         (syms_of_process): ... to here.
5968         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
5970         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
5972 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
5974         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
5975         (Bug#20330)
5977 2015-04-20  Glenn Morris  <rgm@gnu.org>
5979         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
5981         Tweak exec-path in uninstalled case
5982         * src/callproc.c (init_callproc): If running uninstalled, do not
5983         include eventual installation libexec directory in exec-path.
5985 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
5987         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
5988         (package-menu-filter): Accept a list of keywords.
5989         (package--all-keywords): New variable to cache known keywords.
5990         (package-all-keywords): Populate it if necessary.
5991         (package-refresh-contents): Reset it.
5993         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
5994         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
5995         as special keywords which match agains package archive and status
5996         respectively.
5997         * etc/NEWS: Document it.
5999 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
6001         Describe and index "empty overlays".
6002         * doc/lispref/display.texi (Overlays): Improve indexing.
6003         (Managing Overlays): Describe "empty" overlays.
6004         (Overlay Properties, Finding Overlays): Add cross-reference to
6005         where empty overlays are described.
6007 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6009         Spelling fixes
6011         Quote 'like this' in top-level files
6012         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
6013         Prefer to single-quote 'like this' (instead of the older style
6014         `like this').
6015         * configure.ac: Fix some space-before-tab problems that 'git commit'
6016         complained about.
6018         Use bool for boolean in textprop.c, undo.c
6019         * src/textprop.c (soft, hard): Now constants instead of macros.
6020         (validate_plist): Rewrite to avoid need for boolean local.
6021         (interval_has_all_properties, interval_has_some_properties)
6022         (interval_has_some_properties_list, add_properties)
6023         (remove_properties, get_char_property_and_overlay)
6024         (Fnext_single_char_property_change)
6025         (Fprevious_single_char_property_change, add_text_properties_1)
6026         (Fremove_text_properties, Fremove_list_of_text_properties)
6027         (copy_text_properties):
6028         * src/tparam.c (tparam1):
6029         * src/undo.c (record_change, record_property_change)
6030         (syms_of_undo):
6031         Use 'true' and 'false' for booleans.
6033 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
6035         Call `smerge-start-session' even when dealing with a stash conflict
6036         * lisp/vc/vc-git.el (vc-git-find-file-hook):
6037         Call `smerge-start-session' even when dealing with a stash
6038         conflict (bug#20292).
6040 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
6042         Add option to eshell/clear to clear scrollback.
6043         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
6044         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
6045         scrollback contents are cleared.
6046         * etc/NEWS: Describe change.
6047         * doc/misc/eshell.texi: Add entry for `clear'.
6049 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6051         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
6052         where either will do.
6054 2015-04-19  Steve Purcell  <steve@sanityinc.com>
6056         Assume package archive-contents are UTF8-encoded
6057         * lisp/emacs-lisp/package.el (package--read-archive-file):
6058         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
6059         downloaded and cached archive-contents files, so that non-ASCII
6060         characters in package descriptions are displayed correctly in the
6061         `list-packages' menu. (Bug#20231)
6063 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
6065         Abort when looking at stashed changes
6066         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
6067         stashed changes (bug#20292).
6069 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6071         Refactor low-level printing for simplicity
6072         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
6073         PRINTPREPARE; doable now that we assume C99.  All callers changed.
6074         (PRINTCHAR): Remove, as it adds more mystery than clarity.
6075         All callers changed.
6076         (strout): Assume that caller computes length.  All callers changed.
6077         (print_c_string): New function.
6078         (write_string, write_string_1): Compute length instead of asking
6079         the caller to compute it.  All callers changed.
6080         (write_string): Simplify by using write_string_1.
6081         (write_string_1): Simplify by using print_c_string.
6082         (Fterpri): Compute default val more clearly.
6083         (Fprin1_to_string, print_object):
6084         Assume C99 to avoid unnecessary nesting.
6085         (print_object): Prefer print_c_string to multiple printchar, or
6086         to calling strout with -1 length.  Coalesce into sprintf when
6087         this is easy.
6089 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
6091         Prefer "Bug#1234" in commit messages (Bug#20325)
6092         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
6093         as this isn't useful for Git.
6094         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
6096 2015-04-18  Glenn Morris  <rgm@gnu.org>
6098         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
6099         (Bug#19506)
6101 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
6103         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
6104         (Bug#19505)
6106 2015-04-18  Glenn Morris  <rgm@gnu.org>
6108         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
6110         * doc/emacs/misc.texi (Sorting): Small edit.
6111         (Bug#19896)
6113         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
6115 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
6117         css-mode.el: Support multi-line comment filling
6118         (Bug#20256)
6119         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
6120         comment filling.
6121         (css-adaptive-fill): New function.
6122         (css-mode): Set `adaptive-fill-function'.
6123         (scss-mode): Set `comment-continue'.
6125 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
6127         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
6129 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
6131         Minor improvements in Bulgarian input methods
6132         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
6133         Replace U+042C with U+045D, as the former character is not used in
6134         the modern Bulgarian language.
6135         (Bug#20350)
6137 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6139         Improve EUDC manual
6140         * eudc.texi (LDAP Configuration): Mention simple and SASL
6141         authentication schemes.  Add index items.  Shorten example server
6142         name.
6144 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
6146         Don't show both feature and function with the same name
6147         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6148         Don't show both feature and function with the same name.
6150         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
6151         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6152         Avoid returning both the variable and the function for the same
6153         minor mode.
6155 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
6157         Fix fontification of keywords clobbered by the prompt.
6158         * lisp/comint.el (comint-output-filter): Remove the uses of
6159         with-silent-modifications I introduced as part of the last change.
6160         This fixes, e.g., erratically missing highlighting when running
6161         ./configure --help; ./configure in a shell-mode buffer with
6162         compilation-shell-minor-mode turned on.
6164 2015-04-17  Glenn Morris  <rgm@gnu.org>
6166         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
6168 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
6170         * lisp/indent.el (indent-region): Don't deactivate the mark
6171         (Bug#20357)
6173 2015-04-17  Sam Steingold  <sds@gnu.org>
6175         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
6177 2015-04-16  Leo Liu  <sdl.web@gmail.com>
6179         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
6181 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
6183         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
6185 2015-04-16  Glenn Morris  <rgm@gnu.org>
6187         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
6189 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
6191         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
6192         * configure.ac (LIBJPEG): Leave it empty for MinGW.
6194 2015-04-16  Glenn Morris  <rgm@gnu.org>
6196         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
6197         to avoid rogue setting after startup.
6199 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
6201         Pre-4.6 GCC succeeds with unknown option
6202         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
6203         (Bug#20338)
6205 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6207         '[:graph:]' now excludes whitespace, not just ' '
6208         * doc/lispref/searching.texi (Char Classes):
6209         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
6210         sans whitespace (not sans space).
6211         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
6212         not just space.
6213         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
6215 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6217         (looking-back): Make the second arg non-optional.
6218         * lisp/subr.el (substitute-key-definition-key, special-form-p)
6219         (macrop): Drop deprecated second arg to indirect-function.
6220         (looking-back): Make the second arg non-optional.
6222         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
6223         command is actually sent to the shell.
6225 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6227         Port jpeg configuration to Solaris 10 with Sun C
6228         * configure.ac: Check for jpeglib 6b by trying to link it, instead
6229         of relying on cpp magic that has problems in practice.  Check for
6230         both jpeglib.h and jerror.h features.  Remove special case for
6231         mingw32, which should no longer be needed (and if it were needed,
6232         should now be addressable by hotwiring emacs_cv_jpeglib).
6233         (Bug#20332)
6235 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6237         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
6238         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
6239         Move to elisp-mode.el.
6240         (lisp-mode-variables): (Re)move elisp-specific settings.
6241         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
6242         from lisp-mode-variables.
6243         (elisp--font-lock-flush-elisp-buffers): New function, moved from
6244         lisp-mode.el.
6246         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
6247         Avoid pathological slowdown at top-level in large file.
6249 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6251         Standardize names of ChangeLog history files
6252         Suggested by Glenn Morris in:
6253         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
6254         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
6255         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
6256         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
6257         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
6258         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
6259         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
6260         Remove.
6262         Split top-level entries into pre- and post-April 7
6263         This more clearly distingiushes pre-April-7 ChangeLog entries (which
6264         are for top-level files only) from post-April-7 entries (which are
6265         about files at all levels.  Problem reported by Glenn Morris in:
6266         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
6267         * ChangeLog.1: Move post-April-7 entries from here ...
6268         * ChangeLog.2: ... to this new file.
6269         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
6271 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6273         Fix recent cus-start changes that added customize-rogues
6274         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
6275         vars early.
6276         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
6278 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
6280         Define cl-concatenate as an alias to seq-concatenate
6281         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
6282           code by making cl-concatenate an alias to seq-concatenate.
6284 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6286         * src/lread.c (intern_1): Make sure we'd find the symbol we add
6287         (Bug#20334)
6288         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
6290 2015-04-15  Glenn Morris  <rgm@gnu.org>
6292         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
6294 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6296         Clean up gnus-uu saving code slightly
6297         * gnus-uu.el (gnus-uu-save-article): Make the
6298         save-restriction/widen calls make more sense.
6300 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6302         Make [:graph:] act like [:print:] sans space
6303         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
6304         [:graph:] so that it matches everything that [:print:] does,
6305         except for space.
6306         * doc/lispref/searching.texi (Char Classes):
6307         * etc/NEWS:
6308         * lisp/emacs-lisp/rx.el (rx):
6309         Document [:graph:] to be [:print:] sans ' '.
6310         * src/character.c, src/character.h (graphicp): New function.
6311         * src/regex.c (ISGRAPH) [emacs]: Use it.
6312         (BIT_GRAPH): New macro.
6313         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
6314         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
6315         Return BIT_GRAPH for RECC_GRAPH.
6316         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
6317         and ISPRINT if BIT_PRINT.
6319 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
6321         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
6322         Don't use call-next-method in a cl-defmethod.
6324         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
6325         (eieio--class-p): Remove, provided by cl-defstruct.
6327 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
6329         Add seq-intersection and seq-difference to the seq library
6330         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
6331         functions.
6332         * test/automated/seq-tests.el: Add tests for seq-intersection and
6333         seq-difference.
6334         * doc/lispref/sequences.texi: Add documentation for seq-intersection
6335         and seq-difference.
6337 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
6339         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
6341 2015-04-14  Sam Steingold  <sds@gnu.org>
6343         package--ensure-init-file: widen requires save-restriction
6345 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
6347         Improve the commit-msg Git hook for unibyte environments
6348         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
6349         in unibyte environments.  (Suggested by Paul Eggert
6350         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
6351         [:print:], based on UTF-8 sequences of the unprintable characters.
6353         Describe problems with cursor caused by Windows Magnifier
6354         * etc/PROBLEMS: Describe the problem with cursor shape on
6355         MS-Windows due to Windows Magnifier.
6356         (Bug#20271)
6358         Make [:print:] support non-ASCII characters correctly
6359         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
6360         (BIT_PRINT): New bit mask.
6361         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
6362         * src/character.c (printablep): New function.
6363         * src/character.h (printablep): Add prototype.
6364         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
6365         of 'print', 'alnum', and 'alphabetic'.
6366         * doc/lispref/searching.texi (Char Classes): Document the new
6367         behavior of [:print:].
6368         * etc/NEWS: Mention the new behavior of [:print:].
6370         Assign correct general-category and names to surrogates
6371         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
6372         surrogates.  This avoids assigning them the default
6373         general-category of 'Cn', i.e. unassigned codepoints.
6374         (unidata-get-name): Give surrogates synthetic names.
6376 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
6378         Assume C89 offsetof in xterm.c, xlwmenu.c
6379         * lwlib/xlwmenu.c (offset):
6380         * src/xterm.c (cvt_string_to_pixel_args):
6381         Use offsetof, not XtOffset.
6383 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
6385         Assume C89 offsetof in widget.c
6386         * src/widget.c (XtOffset): Remove; no longer needed.
6387         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
6389         Fix think-o in previous patch
6390         * src/window.c (count_windows, get_leaf_windows):
6391         Don't optimize count_windows incorrectly.
6393 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6395         Avoid some int overflows in window.c
6396         * src/print.c (print_object):
6397         * src/window.c (sequence_number):
6398         * src/window.h (struct window.sequence_number):
6399         Don't assume window sequence number fits in int.
6400         * src/window.c (window_select_count):
6401         * src/window.h (struct window.use_time, window_select_count):
6402         Don't assume window use time fits in int.
6403         * src/window.c (Fsplit_window_internal):
6404         Don't assume user-supplied integer, or sum, fits in int.
6405         (Fset_window_configuration, count_windows, get_leaf_windows)
6406         (save_window_save, Fcurrent_window_configuration):
6407         Use ptrdiff_t for object counts.
6408         (Fset_window_configuration): Omit unused local 'n'.
6409         (count_windows): Simplify by writing in terms of get_leaf_windows.
6410         (get_leaf_windows): Don't store through FLAT if it's null.
6411         (extract_dimension): New static function.
6412         (set_window_margins, set_window_fringes, set_window_scroll_bars):
6413         Use it to avoid undefined behavior when converting user-supplied
6414         integer to 'int'.
6416 2015-04-13  Glenn Morris  <rgm@gnu.org>
6418         Minor doc copyedits
6419         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
6420         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
6422 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
6424         [Gnus] Catch the invalid-operation that idna.el will issue
6425         * lisp/gnus/gnus-art.el (gnus-use-idna):
6426         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
6427         * lisp/gnus/message.el (message-use-idna):
6428         Catch the invalid-operation that idna.el will issue.
6430 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6432         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
6434 2015-04-13  Sam Steingold  <sds@gnu.org>
6436         package--ensure-init-file: widen before looking for "(package-initialize)"
6438 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
6440         Change diff-switches default to `-u'
6441         (Bug#20290)
6442         * doc/emacs/files.texi (Comparing Files): Document the new default
6443         value of `diff-switches'.
6444         * doc/emacs/trouble.texi (Sending Patches): Document the preference
6445         for unified diff format.  Escape the plus in the suggested `-F' regexp
6446         value.
6447         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
6449 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6451         (gnus-group--setup-tool-bar-update): Fix last change
6452         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
6453         cursor-sensor-functions should be a list of functions.
6455 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
6457         Use gmm-called-interactively-p in Gnus
6458         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
6460 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6462         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
6463         (Bug#20321)
6464         * lisp/cus-start.el (read-buffer-function): Don't advertize
6465         iswitchb-read-buffer any more.
6466         (iswitchb): Don't tweak this obsolete group any more.
6468 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
6470         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
6472         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
6473         Adding a string after a constructor's argument list will use
6474         that string as the constructor function docstring.  If this string
6475         is absent but the struct itself was given a docstring, use that as
6476         the constructor's docstring.
6477         Fixes (bug#17284).
6479 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6481         Deprecate `intangible' and `point-entered' properties
6482         * lisp/emacs-lisp/cursor-sensor.el: New file.
6483         * lisp/simple.el (pre-redisplay-functions): New hook.
6484         (redisplay--pre-redisplay-functions): New function.
6485         (pre-redisplay-function): Use it.
6486         (minibuffer-avoid-prompt): Mark obsolete.
6487         (redisplay--update-region-highlight): Adapt it to work as a function on
6488         pre-redisplay-functions.
6489         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
6490         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
6491         than point-entered to make the prompt intangible.
6492         * lisp/forms.el: Move `provide' calls to the end.
6493         (forms-mode): Don't use `run-hooks' on a local var.
6494         (forms--make-format, forms--make-format-elt-using-text-properties):
6495         Use cursor-intangible rather than `intangible'.
6496         (forms-mode): Enable cursor-intangible-mode.
6497         * lisp/isearch.el (isearch-mode): Use defvar-local.
6498         (cursor-sensor-inhibit): Declare.
6499         (isearch-mode): Set cursor-sensor-inhibit.
6500         (isearch-done): Set it back.
6501         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
6502         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
6503         any more.
6504         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
6505         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
6506         Add Edebug spec.
6507         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
6508         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
6509         inhibit-point-motion-hooks any more.
6510         (ses--cell-at-pos, ses--curcell): New functions, extracted from
6511         ses-set-curcell.
6512         (ses-set-curcell): Use them.
6513         (ses-print-cell, ses-setup): Use cursor-intangible instead of
6514         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
6515         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
6516         Use ses--cell-at-pos.
6517         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
6518         extracted from ses-command-hook.  Make them work with multiple windows
6519         displaying the same buffer.
6520         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
6521         Enable cursor-intangible-mode.
6522         (ses-command-hook): Remove cell highlight and mode-line update code.
6523         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
6524         Update for new name of text-property holding the cell name.
6525         (ses-rename-cell): Don't mess with mode-line-process.
6526         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
6527         cursor-sensor-functions property instead of point-entered.
6528         (erc-insert-timestamp-right, erc-format-timestamp):
6529         Use cursor-intangible rather than `intangible'.
6530         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
6531         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
6532         cursor-sensor-mode if needed.
6533         (erc-echo-timestamp): Adapt to calling convention of
6534         cursor-sensor-functions.
6535         (erc-insert-timestamp-right): Remove unused vars `current-window' and
6536         `indent'.
6537         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
6538         (gnus-update-group-mark-positions): Remove unused `topic' var.
6539         (gnus-group-insert-group-line): Remove unused var `header'.
6540         (gnus-group--setup-tool-bar-update): New function.
6541         (gnus-group-insert-group-line): Use it.
6542         (gnus-group-update-eval-form): Declare local
6543         dynamically-bound variables.
6544         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
6545         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
6546         (gnus-group-prepare-topics, gnus-topic-update-topic)
6547         (gnus-topic-change-level, gnus-topic-catchup-articles)
6548         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
6549         Use inhibit-read-only.
6550         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
6551         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
6552         * lisp/textmodes/reftex-index.el (reftex-display-index):
6553         Use cursor-intangible-mode if available.
6554         (reftex-index-post-command-hook): Check cursor-intangible.
6555         * lisp/textmodes/reftex-toc.el (reftex-toc):
6556         Use cursor-intangible-mode if available.
6557         (reftex-toc-recenter, reftex-toc-post-command-hook):
6558         Check cursor-intangible.
6559         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
6560         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
6561         (sgml-tags-invisible): Use with-silent-modifications and
6562         inhibit-read-only.  Enable cursor-sensor-mode.
6563         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
6564         calling convention of cursor-sensor-functions.
6565         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
6566         (table-point-entered-cell-hook, table-point-left-cell-hook):
6567         Don't autoload.
6568         (table-cell-entered-state): Remove var.
6569         (table--put-cell-point-entered/left-property)
6570         (table--remove-cell-properties):
6571         Use cursor-sensor-functions rather than point-entered/left.
6572         (table--point-entered/left-cell-function): Merge
6573         table--point-entered-cell-function and table--point-left-cell-function
6574         and adjust to calling convention of cursor-sensor-functions.
6576         Update ldef-boots.el
6578         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
6580         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
6582         Collapse successive char deletions in the undo log
6583         * src/cmds.c (remove_excessive_undo_boundaries): New function,
6584         extracted from Fself_insert_command.
6585         (Fdelete_char, Fself_insert_command): Use it.
6586         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
6587         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
6589         xterm and OSC 52: Add NEWS entry, and tweak the code
6590         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
6591         top-level.
6592         (terminal-init-xterm-activate-set-selection): Set a terminal property.
6593         (xterm--set-selection): Use it instead of checking the value of
6594         `terminal-initted'.  Don't use string-bytes.
6596 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
6598         xterm.el: Implement OSC-52 functionality for setting the X selection
6599         * lisp/term/xterm.el (xterm-max-cut-length): New var.
6600         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
6601         (terminal-init-xterm, xterm--version-handler): Use them.
6603 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6605         Remove left over code from when we used an obsolete/loaddefs.el file
6606         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
6607         we used an obsolete/loaddefs.el file.
6609         * cedet/semantic/fw.el: Use declare.
6610         * cedet/semantic/fw.el (semantic-exit-on-input)
6611         (semanticdb-without-unloaded-file-searches): Use declare.
6612         (semantic-fw-add-edebug-spec): Remove.
6614         (completion-lisp-mode-hook): Use completion-separator-chars
6615         * lisp/completion.el (completion-lisp-mode-hook):
6616         Use completion-separator-chars rather than local key binding.
6618         * src/*.c: Set deactivate_mark buffer-locally
6619         (Bug#20260)
6620         * src/insdel.c (prepare_to_modify_buffer_1):
6621         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
6622         buffer-locally.
6624 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6626         python.el: Keep symmetry on sexp navigation with parens
6627         (Bug#19954)
6628         * lisp/progmodes/python.el
6629         (python-nav--forward-sexp): Add argument skip-parens-p.
6630         (python-nav-forward-sexp, python-nav-backward-sexp)
6631         (python-nav-forward-sexp-safe)
6632         (python-nav-backward-sexp-safe): Use it.
6633         * test/automated/python-tests.el
6634         (python-nav-forward-sexp-1): Fix test.
6636 2015-04-12  João Távora  <joaotavora@gmail.com>
6638         Don't use `setq-local' in Gnus code
6639         This might break upstream builds with older Emacsen
6640         * lisp/gnus/message.el (message-mode): Use `set' and
6641         `make-local-variable' instead of `setq-local'.
6643 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
6645         Update Makefile.in's .PHONY dependencies
6646         * Makefile.in (change-history-commit, master-branch-is-current)
6647         (no-ChangeLog): Now phony.
6649         Remove configure's --with-mmdf option
6650         * configure.ac (MAIL_USE_MMDF): Remove.
6651         * etc/NEWS: Document this.
6652         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
6653         (Bug#20308)
6655         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
6656         That way, 'make install' won't think it's a man page.
6657         Reported by Ashish SHUKLA in:
6658         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
6660         Improve 'make change-history' prereq tests
6661         * Makefile.in (gen_origin): Fix to match what's in the master branch.
6662         (no-ChangeLog, master-branch-is-current): New rules.
6663         (change-history): Depend on them, to avoid similar future problems.
6664         Escape the local-variables string to pacify Emacs when editing
6665         Makefile.in.
6667 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6669         * test/automated/package-test.el (with-package-test): Kill Packages buffer
6671         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
6672         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
6673         "Upgrade" last, and use capitalized instead of all-caps.
6675         * lisp/emacs-lisp/package.el: Completely silence async operations
6676         (package--make-autoloads-and-stuff): Silence autoloads.
6677         (package--save-selected-packages): New function, silences
6678         `customize-save-variable'.
6679         (package--user-selected-p, package-install-from-buffer)
6680         (package-delete, package-install): Use it.
6681         (package-install-from-archive)
6682         (package-menu--perform-transaction): Silence.
6683         (package-menu-execute): Feedback when operation starts.
6685         Use delay-mode-hooks when visiting the init-file
6686         * lisp/emacs-lisp/package.el (package--ensure-init-file):
6687         delay-mode-hooks
6688         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
6690         * lisp/files.el: Only message when saving if save-silently is nil
6691         (save-silently): New variable.
6692         (files--message): New function.
6693         (find-file-noselect, save-buffer, basic-save-buffer)
6694         (basic-save-buffer-2, save-some-buffers, not-modified)
6695         (append-to-file): Use them.
6697 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
6699         Support debug declarations in pcase macros
6700         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
6701         (pcase-UPAT): Use it.  Remove "`".
6702         (pcase--edebug-match-macro): New function.
6703         (pcase-defmacro): Support debug declarations.
6704         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
6705         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
6706         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
6708         pcase.el: Edebug support for `app' and vector patterns
6709         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
6710         (pcase-UPAT): Use it. Support `app' patterns.
6711         (pcase-QPAT): Support vector patterns.
6713         edebug.el: Disambiguate vector specifications
6714         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
6715         `(vector ...)' as a vector specification, not as a sublist.
6717         (gnus-summary-refer-thread): Don't clobber unread articles
6718         This fixes a bug where `A T' causes "random" articles to become marked
6719         as read.
6720         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
6721         gnus-newsgroup-unreads remains sorted.
6723         mouse-sel.el: Fix mouse-sel-get-selection-function
6724         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
6725         Use gui--last-selected-text-primary instead of no longer existing
6726         gui-last-selected-text.
6728         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
6730         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
6732 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
6734         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
6736         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
6738         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
6739         (byte-compile--interactive): New var.
6740         (byte-compile--message): New function.
6741         (byte-compile-log-1, byte-force-recompile)
6742         (byte-recompile-directory, byte-recompile-file)
6743         (byte-compile-file, compile-defun)
6744         (byte-compile-file-form-defmumble, byte-compile)
6745         (byte-compile-file-form-defalias, display-call-tree): Use it.
6747         * lisp/files.el: Don't message when nothing happened
6748         (save-some-buffers, basic-save-buffer): Before messaging to say
6749         "nothing was saved" check if (called-interactively-p 'any).
6751 2015-04-12  João Távora  <joaotavora@gmail.com>
6753         Summary: Improve sexp-based movement in message-mode
6754         Works by giving citations and smileys a different syntax.  This helps
6755         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
6756         sexp-based movement.
6757         * lisp/gnus/message.el (message--syntax-propertize): New function.
6758         (message-mode): Set syntax-related vars.
6759         (message-smileys): New variable.
6760         * test/automated/message-mode-tests.el: New file
6762 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6764         Use bool for boolean in window.c
6765         * src/window.c: Omit unnecessary static function decls.
6766         (adjust_window_count, select_window, Fselect_window)
6767         (window_body_width, Fwindow_body_height, Fwindow_body_width)
6768         (set_window_hscroll, check_window_containing, Fwindow_at)
6769         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
6770         (unshow_buffer, replace_window, recombine_windows)
6771         (add_window_to_list, candidate_window_p, next_window)
6772         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
6773         (Fget_buffer_window, Fdelete_other_windows_internal)
6774         (replace_buffer_in_windows_safely, set_window_buffer)
6775         (Fset_window_buffer, Fforce_window_update)
6776         (temp_output_buffer_show, make_parent_window)
6777         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
6778         (resize_frame_windows, Fsplit_window_internal)
6779         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
6780         (Fresize_mini_window_internal, mark_window_cursors_off)
6781         (window_scroll, window_scroll_pixel_based)
6782         (window_scroll_line_based, scroll_command, Fscroll_other_window)
6783         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
6784         (Fmove_to_window_line, Fset_window_configuration)
6785         (delete_all_child_windows, apply_window_adjustment)
6786         (set_window_fringes, set_window_scroll_bars)
6787         (Fset_window_vscroll, foreach_window, foreach_window_1)
6788         (compare_window_configurations, Fcompare_window_configurations):
6789         Prefer 'bool', 'true', and 'false' for booleans.
6790         * src/window.h (WINDOW_MODE_LINE_LINES)
6791         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
6793 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
6795         Speed up byte-compilation and autoload generation by avoiding mode-hooks
6796         This prevents emacs-lisp-mode-hook from being run everytime an
6797         autoload file is generated, which can account for a fraction of
6798         package installation time depending on the hooks the user has
6799         configured.
6800         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
6801         * lisp/emacs-lisp/autoload.el (autoload-find-file)
6802         (autoload-find-generated-file): Use delay-mode-hooks.
6804         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
6805         (package-menu-refresh): Respect async and do new package checking.
6806         (list-packages): Use `package-menu-refresh' instead of repeating code.
6808         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
6809         (package--quick-help-keys): New variable.
6810         (package--prettify-quick-help-key): New function.
6811         (package-menu-quick-help): Use it.
6813         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
6814         (package--build-compatibility-table): require finder
6816         * test/automated/package-test.el: Fix new test
6818         * lisp/emacs-lisp/package.el: Silence async operations
6819         (package--silence): New variable.
6820         (package--message): New function.
6821         (package-import-keyring, package-refresh-contents)
6822         (package-compute-transaction, package-install, package-delete)
6823         (package-menu--perform-transaction, package-menu-execute): Use it.
6825         * test/automated/package-test.el: Test async functionality
6826         (package-test-update-archives-async): New test
6828 2015-04-11  Daiki Ueno  <ueno@gnu.org>
6830         Utilize `make-process' in epg.el
6831         * lisp/epg.el (epg-error-output): Abolish.
6832         (epg-context): New slot `error-buffer'.
6833         (epg--start): Use `make-process' and `make-pipe-process'.
6834         (epg--process-filter): Remove code separating stderr from stdout.
6835         (epg-wait-for-completion): Simplify `error-output' handling.
6836         (epg-reset): Dispose error buffer.
6838 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6840         * .gitignore: Ignore doc temps and outputs.
6842         Port commit-msg to MSYS Bash+Gawk
6843         See Eli Zaretskii in:
6844         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
6845         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
6846         (cent_sign, print_at_sign, at_sign): Revert previous change.
6847         (print_at_sign): Prepend "BEGIN".
6848         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
6850         Port commit-msg to broken MS-Windows shell
6851         * build-aux/git-hooks/commit-msg (cent_sign):
6852         Just use UTF-8 here rather than ASCII + printf, as the latter fails
6853         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
6854         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
6856 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
6858         Support GnuTLS v3.4 and later on MS-Windows
6859         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
6860         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
6861         GnuTLS DLL to load according to value of libgnutls-version.
6862         (Bug#20294)
6864 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
6866         Minor quoting etc. fixes to misc manuals
6867         Fix some minor quoting and spacing issues.  Distinguish more
6868         clearly among grave accent and apostrophe (which are ASCII) and
6869         single quote (which is not).  Prefer the standard terms
6870         "apostrophe" and "grave accent" to alternative names that can be
6871         confusing.  Use apostrophes to single-quote ASCII text.
6872         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
6873         rather than approximating it in ASCII with grave accent.
6875 2015-04-11  Daiki Ueno  <ueno@gnu.org>
6877         Respect more keyword args in `make-process'
6878         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
6879         keywords as documented.
6881 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
6883         Extract ChangeLog entries when committing a directory
6884         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
6885         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
6886         Add a FIXME comment.
6887         (log-edit-changelog-entries): Extract from
6888         `log-edit-changelog-entries', handle FILE being a directory
6889         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
6891 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
6893         Fix problems found by --enable-gcc-warnings
6894         * src/process.c (create_process, Fmake_pipe_process)
6895         (Fmake_network_process): Omit unused locals.
6897         Fix commit-msg to handle scissors lines
6898         * build-aux/git-hooks/commit-msg:
6899         Ignore every line after a scissors line, such as a line generated
6900         by 'git commit -v'.  Problem reported by Johan Bockgård in:
6901         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
6903         port commit-msg to Gawk 3.0.4 (1999)
6904         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
6905         (print_at_sign, at_sign): New vars.  Use them to avoid problems
6906         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
6907         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
6909         Have commit-msg report commit failure
6910         * build-aux/git-hooks/commit-msg: If the commit is aborted,
6911         say so.  Simplify by doing this at the end.  Problem reported
6912         by Eli Zaretskii in:
6913         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
6915 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6917         Clean up LDAP Configuration section of EUDC manual
6918         * doc/misc/eudc.texi: Combine indices.
6919         (LDAP Configuration): Use command markup.  Add index entries.
6920         Change formatting.  Wrap long lines.  Add noindent markup.
6922 2015-04-10  Daiki Ueno  <ueno@gnu.org>
6924         Add facility to collect stderr of async subprocess
6925         * src/w32.h (register_aux_fd): New function declaration.
6926         * src/w32.c (register_aux_fd): New function.
6927         * src/process.h (struct Lisp_Process): New member stderrproc.
6928         * src/process.c (PIPECONN_P): New macro.
6929         (PIPECONN1_P): New macro.
6930         (Fdelete_process, Fprocess_status, Fset_process_buffer)
6931         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
6932         (Fcontinue_process): Handle pipe process specially.
6933         (create_process): Respect p->stderrproc.
6934         (Fmake_pipe_process): New function.
6935         (Fmake_process): Add new keyword argument :stderr.
6936         (wait_reading_process_output): Specially handle a pipe process when
6937         it gets an EOF.
6938         (syms_of_process): Register Qpipe and Smake_pipe_process.
6939         * doc/lispref/processes.texi (Asynchronous Processes): Document
6940         `make-pipe-process' and `:stderr' keyword of `make-process'.
6941         * lisp/subr.el (start-process): Suggest to use `make-process' handle
6942         standard error separately.
6943         * test/automated/process-tests.el (process-test-stderr-buffer)
6944         (process-test-stderr-filter): New tests.
6945         * etc/NEWS: Mention new process type `pipe' and its usage with the
6946         `:stderr' keyword of `make-process'.
6948 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
6950         Minor quoting etc. fixes to lispref manual
6951         * doc/lispref/tips.texi (Documentation Tips):
6952         Distinguish more clearly among grave accent, apostrophe,
6953         and single quote.
6954         * doc/lispref/README, doc/lispref/buffers.texi:
6955         * doc/lispref/commands.texi, doc/lispref/control.texi:
6956         * doc/lispref/customize.texi, doc/lispref/display.texi:
6957         * doc/lispref/elisp.texi, doc/lispref/files.texi:
6958         * doc/lispref/frames.texi, doc/lispref/hash.texi:
6959         * doc/lispref/help.texi, doc/lispref/internals.texi:
6960         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
6961         * doc/lispref/markers.texi, doc/lispref/modes.texi:
6962         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
6963         * doc/lispref/os.texi, doc/lispref/positions.texi:
6964         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
6965         * doc/lispref/text.texi, doc/lispref/tips.texi:
6966         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
6967         Use American-style double quoting in ordinary text,
6968         and quote 'like this' when single-quoting in ASCII text.
6969         Also, fix some minor spacing issues.
6971 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
6973         Handle symlinked test directory in tramp-tests.el
6974         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
6975         (tramp--test-check-files): Use `file-truename' for directories.
6977 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
6979         Fix 'recenter' when visual-line-mode is turned on
6980         * src/window.c (Frecenter): Use the same code for GUI and TTY
6981         frames alike; use vmotion only for "initial" frames.  This is
6982         because vmotion doesn't support visual-line-mode.  Rewrite the
6983         'iarg >= 0' case to use move_it_* functions instead of using
6984         vmotion, for the same reason.  Fix the clipping of the argument
6985         value to support scroll-margin in all cases and avoid unwarranted
6986         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
6987         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
6988         which see.
6990 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
6992         * abbrev.el (define-abbrev-table): Refine last change.
6994         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
6995         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
6996         use of c[ad]+r", so as to keep the "cl-" prefix on all
6997         cl-lib definitions.
6999         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
7001         * lisp/cedet/semantic: Remove some dead code
7002         * lisp/cedet/semantic/util-modes.el
7003         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
7004         any more.
7005         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
7006         not supported any more.
7007         (semantic-safe): Use `declare'.
7008         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
7009         (semantic-tag-intangible-p): Remove unused functions.
7010         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
7011         Remove unused function.
7013         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
7014         (gnus-article-hide-text, gnus-article-unhide-text)
7015         (gnus-article-unhide-text-type): Remove special handling of
7016         `intangible' since that property is not used any more.
7017         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
7019 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
7021         Use the VC root in `log-edit-listfun'
7022         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
7023         `log-edit-listfun'.
7025 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
7027         Fix description of Unix time, mention new function.
7028         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
7029         Unix time.
7030         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
7031         (Basic Operations on Units): Mention `calc-convert-exact-units'.
7033 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
7035         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
7037 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
7039         (log-edit-insert-changelog-entries): Don't add newline after the last entry
7040         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
7041         Don't add newline after the last entry.
7043 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
7045         css-mode.el: Add "not" pseudo-class
7046         (Bug#20267)
7047         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
7048         list of CSS pseudo-classes.
7050 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7052         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
7054 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
7056         Stop messing with the EMACS env var
7057         * misc.texi (Interactive Shell): Remove description of EMACS env var.
7059 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7061         Adapt 'make change-history' to coding cookie
7062         * Makefile.in (change-history): Adjust to change of format of
7063         ChangeLog file, which now has a coding cookie before an indented
7064         copyright notice.
7066 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7068         Adapt 'make change-history' to coding cookie
7069         * Makefile.in (change-history): Adjust to change of format of
7070         ChangeLog file, which now has a coding cookie before an indented
7071         copyright notice.
7073         gitlog-to-changelog coding cookie and mv -i
7074         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
7075         for copyright notice prototype, so that we get a proper "coding:"
7076         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
7077         existing ChangeLog.  Problems reported by Eli Zaretskii in:
7078         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
7080         Merge from gnulib
7081         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
7082         2015-04-09 gitlog-to-changelog: port to MS-Windows
7084 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
7086         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
7087         (Bug#20212)
7089 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7091         Stop messing with the EMACS env var
7092         (Bug#20202)
7093         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
7094         * lisp/comint.el (comint-exec-1):
7095         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
7096         * lisp/progmodes/compile.el (compilation-start): Same and bring
7097         INSIDE_EMACS's format in line with other users.
7099         css-mode.el (css-smie-rules): Fix indentation after complex selectors
7100         (Bug#20282)
7101         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
7102         inner structure of selectors.
7104 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7106         python.el: Indent docstring lines to base-indent
7107         (Bug#19595)
7108         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
7109         an initial patch.
7110         * lisp/progmodes/python.el
7111         (python-indent-context): Add :inside-docstring context.
7112         (python-indent--calculate-indentation): Handle :inside-docstring.
7113         (python-indent-region): Re-indent docstrings.
7114         * test/automated/python-tests.el (python-indent-region-5)
7115         (python-indent-inside-string-2): Fix tests.
7117         python.el: Increase native completion robustness
7118         (Bug#19755)
7119         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
7120         this and providing useful ideas.
7121         * lisp/progmodes/python.el
7122         (python-shell-completion-native-output-timeout): Increase value.
7123         (python-shell-completion-native-try-output-timeout): New var.
7124         (python-shell-completion-native-try): Use it.
7125         (python-shell-completion-native-setup): New readline setup avoids
7126         polluting current context, ensures output when no-completions are
7127         available and includes output end marker.
7128         (python-shell-completion-native-get-completions): Trigger with one
7129         tab only.  Call accept-process-output until output end is found or
7130         python-shell-completion-native-output-timeout is exceeded.
7132 2015-04-08  Samer Masterson  <samer@samertm.com>
7134         * lisp/eshell: Make backslash a no-op in front of normal chars
7135         (Bug#8531)
7136         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
7137         (eshell-parse-backslash): Return escaped character after backslash
7138         if it is special.  Otherwise, if the backslash is not in a quoted
7139         string, ignore the backslash and return the character after; if
7140         the backslash is in a quoted string, return the backslash and the
7141         character after.
7142         * test/automated/eshell.el (eshell-test/escape-nonspecial)
7143         (eshell-test/escape-nonspecial-unicode)
7144         (eshell-test/escape-nonspecial-quoted)
7145         (eshell-test/escape-special-quoted): Add tests for new
7146         `eshell-parse-backslash' behavior.
7148 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
7150         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
7151         after the file name.
7152         (Bug#20276)
7154 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7156         Minor quoting etc. fixes to Emacs manual
7157         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
7158         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
7159         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
7160         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
7161         * doc/emacs/indent.texi, doc/emacs/macos.texi:
7162         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
7163         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
7164         * doc/emacs/search.texi, doc/emacs/trouble.texi:
7165         * doc/emacs/vc1-xtra.texi:
7166         Use American-style double quoting in ordinary text,
7167         and quote 'like this' when single-quoting in ASCII text.
7168         Also, fix some minor spacing issues.
7170         Minor quoting etc. fixes to elisp intro
7171         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
7172         American-style double quoting in ordinary text.  In ASCII text,
7173         consistently quote 'like this' instead of `like this', unless
7174         Emacs requires the latter.
7176 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
7178         * CONTRIBUTE: Mention log-edit-insert-changelog.
7180         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
7182 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7184         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
7186 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
7188         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
7189         (Bug#20270)
7190         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
7191         Fix inheritance of initargs.
7193 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
7195         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
7196         while dowloading information.
7198         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
7199         (package--ensure-init-file): Check file contents before visiting.
7200         (package-initialize): Call it.
7201         (package-install-from-buffer, package-install): Don't call it.
7203 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
7205         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
7206         (Bug#17517)
7208 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
7210         Fix nasty scoping bug in tramp-cache.el
7211         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
7213 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
7215         Add notice to visual commands section
7216         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
7217         such as git call less with its -F option which omits pagination if
7218         the contents is less than one page long.  This interferes with
7219         eshell's visual (sub-)commands.
7221 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
7223         ffap: Support environment variable expansion in file names
7224         (Bug#19839)
7225         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
7226         environment variable expansion in file names.
7228 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
7230         Prefer double-quote to accent-grave in man pages
7232 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
7234         (Bug#20257)
7235         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
7237 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
7239         Update etc/PROBLEMS.
7240         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
7241         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
7242         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
7243         respectively); other minor updates and tweaks.  (Bug#20011)
7245 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
7247         Add doc strings for some Isearch state vars
7248         * lisp/misearch.el (multi-isearch-buffer-list)
7249         (multi-isearch-file-list): Add doc strings.
7250         (Bug#20232)
7252 2015-04-07  Alan Mackenzie  <acm@muc.de>
7254         Always mark "<" and ">" in #include directives with text properties.
7255         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
7256         matcher" with an invocation of c-make-font-lock-search-function to allow
7257         fontification when there's no trailing space on an "#include <..>" line.
7259 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
7261         Generate a ChangeLog file from commit logs
7262         * .gitignore: Add 'ChangeLog'.
7263         * build-aux/gitlog-to-changelog: New file, from Gnulib.
7264         * build-aux/gitlog-to-emacslog: New file.
7265         * CONTRIBUTE: Document the revised workflow.
7266         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
7267         instead of just special cases.
7268         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
7269         (ChangeLog, unchanged-history-files, change-history)
7270         (change-history-commit): New rules.
7271         * admin/admin.el (make-manuals-dist--1):
7272         Don't worry about doc/ChangeLog.
7273         * admin/authors.el: Add a FIXME.
7274         * admin/make-tarball.txt:
7275         * lisp/calendar/icalendar.el:
7276         * lisp/gnus/deuglify.el:
7277         * lisp/obsolete/gulp.el:
7278         * lwlib/README:
7279         Adjust to renamed ChangeLog history files.
7280         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
7281         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
7282         Remove obsolete discussion of merging ChangeLog files.
7283         New section "Maintaining ChangeLog history".
7284         * build-aux/git-hooks/pre-commit:
7285         Reject attempts to commit files named 'ChangeLog'.
7286         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
7287         * make-dist: Make and distribute top-level ChangeLog if there's a
7288         .git directory.  Distribute the new ChangeLog history files
7289         instead of scattered ChangeLog files.  Distribute the new files
7290         gitlog-to-changelog and gitlog-to-emacslog.
7291         (Bug#19113)
7293         Rename ChangeLogs for gitlog-to-changelog
7294         This patch was implemented via the following shell commands:
7295         find * -name ChangeLog |
7296         sed 's,.*,git mv & &.1,
7297         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
7298         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
7299         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
7300         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
7301         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
7302         sh
7303         git commit -am"[this commit message]"
7305 This file records repository revisions from
7306 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
7307 commit 044d4cc0c0debd4648ec637d63bcd72d4253b1cb (inclusive).
7308 See ChangeLog.1 for earlier changes.
7310 ;; Local Variables:
7311 ;; coding: utf-8
7312 ;; End:
7314   Copyright (C) 2015 Free Software Foundation, Inc.
7316   This file is part of GNU Emacs.
7318   GNU Emacs is free software: you can redistribute it and/or modify
7319   it under the terms of the GNU General Public License as published by
7320   the Free Software Foundation, either version 3 of the License, or
7321   (at your option) any later version.
7323   GNU Emacs is distributed in the hope that it will be useful,
7324   but WITHOUT ANY WARRANTY; without even the implied warranty of
7325   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
7326   GNU General Public License for more details.
7328   You should have received a copy of the GNU General Public License
7329   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.