Quoting fixes in lisp/progmodes
[emacs.git] / ChangeLog.2
blob856cb58ed1eaa08cbddd32d0fa25c0bf1fc79783
1 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
3         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
4         Revert patch from 2015-08-24.  Tramp shall be have like for local files.
5         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
6         Adapt test.
8 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10         Text quoting fixes in cedet, emulation, emacs-lisp
11         * lisp/cedet/ede.el (ede-check-project-directory):
12         * lisp/cedet/semantic/analyze/debug.el:
13         (semantic-analyzer-debug-insert-include-summary):
14         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
15         * lisp/cedet/semantic/decorate/include.el:
16         (semantic-decoration-unknown-include-describe)
17         (semantic-decoration-all-include-summary):
18         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
19         * lisp/emulation/edt.el (edt-load-keys):
20         * lisp/emulation/viper-cmd.el:
21         (viper-display-current-destructive-command)
22         (viper-query-replace, viper-brac-function):
23         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
24         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
25         Respect text quoting style in doc string or diagnostic.
26         * lisp/cedet/mode-local.el (describe-mode-local-overload):
27         Use format-message to avoid overtranslating quotes.
28         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
29         Escape an apostrophe in a docstring.
30         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
32 2015-08-29  Daniel Colascione  <dancol@dancol.org>
34         Fix which-func for curly quotes: look for symbol, not message
35         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
36         imenu-unavailable error symbol instead of trying to match message
37         exactly.
38         * lisp/imenu.el (imenu-unavailable): New error
39         (imenu-unavailable-error): New function.
41 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
43         Fix Python tests on MS-Windows
44         * test/automated/python-tests.el
45         (python-shell-calculate-command-1): Run python-shell-interpreter
46         through shell-quote-argument before comparing with what
47         python-shell-calculate-command returns.
48         (python-shell-calculate-pythonpath-1)
49         (python-shell-calculate-pythonpath-2)
50         (python-shell-calculate-process-environment-2): Use path-separator
51         instead of a literal ':'.
52         (python-shell-calculate-exec-path-2)
53         (python-shell-calculate-exec-path-3)
54         (python-shell-calculate-exec-path-4)
55         (python-shell-with-environment-1)
56         (python-shell-with-environment-2): Run "/env/bin" through
57         expand-file-name before comparing with exec-path.  (Bug#21375)
59 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
61         Use Core Text types/functions/variables/enumerators directly
62         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
63         (CharacterCollection): Remove typedefs.  All uses replaced with
64         definitions.
65         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
66         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
67         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
68         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
69         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
70         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
71         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
72         definitions.
73         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
74         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
75         (MAC_FONT_FORMAT_BITMAP)
76         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
77         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.  All
78         uses replaced with definitions.
79         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
80         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
81         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add
82         compatibility enumerators for older versions.
83         (mac_font_descriptor_create_with_attributes)
84         (mac_font_descriptor_create_matching_font_descriptors)
85         (mac_font_descriptor_create_matching_font_descriptor)
86         (mac_font_descriptor_copy_attribute)
87         (mac_font_descriptor_supports_languages)
88         (mac_font_create_with_name, mac_font_get_size)
89         (mac_font_copy_family_name, mac_font_copy_character_set)
90         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
91         (mac_font_get_descent, mac_font_get_leading)
92         (mac_font_get_underline_position)
93         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
94         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
95         replaced with definitions.
96         (mac_font_create_preferred_family_for_attributes)
97         (mac_font_get_advance_width_for_glyph)
98         (mac_font_get_bounding_rect_for_glyph)
99         (mac_font_create_available_families, mac_font_shape): Remove
100         macros for renamed functions.
101         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
102         * src/macterm.m (mac_font_descriptor_supports_languages): Rename
103         from mac_ctfont_descriptor_supports_languages.
104         (mac_font_create_preferred_family_for_attributes): Rename from
105         mac_ctfont_create_preferred_family_for_attributes.
106         (mac_font_get_advance_width_for_glyph): Rename from
107         mac_ctfont_get_advance_width_for_glyph.  Use
108         kCTFontOrientationDefault also for older versions.
109         (mac_font_get_bounding_rect_for_glyph): Rename from
110         mac_ctfont_get_bounding_rect_for_glyph. Use
111         kCTFontOrientationDefault also for older versions.
112         (mac_font_create_available_families): Rename from
113         mac_ctfont_create_available_families.
114         (mac_font_equal_in_postscript_name): Rename from
115         mac_ctfont_equal_in_postscript_name.  All uses changed.
116         (mac_font_create_line_with_string_and_font): Rename from
117         mac_ctfont_create_line_with_string_and_font.  All uses changed.
118         (mac_font_shape): Rename from mac_ctfont_shape.
119         (mac_font_family_compare): Remove unused declaration.
121 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
123         Fix minor text quoting in calc, calendar, vc
124         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
125         * lisp/calc/calc-help.el (calc-j-prefix-help):
126         * lisp/calc/calc-misc.el (calc-help):
127         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
128         Escape an apostrophe in a docstring.
129         * lisp/calc/calc-forms.el (calc-hms-notation):
130         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
131         Escape an apostrophe in a diagnostic.
132         * lisp/calc/calc-misc.el (calc-help):
133         * lisp/calendar/diary-lib.el (diary-include-files):
134         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
135         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
136         * lisp/vc/ediff-diff.el (ediff-same-contents):
137         * lisp/vc/ediff-merg.el (ediff-re-merge):
138         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
139         * lisp/vc/ediff-util.el (ediff-test-save-region)
140         (ediff-status-info):
141         * lisp/vc/ediff.el (ediff-merge-revisions)
142         (ediff-merge-revisions-with-ancestor):
143         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
144         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
145         Respect text quoting style in doc string or diagnostic.
146         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
147         * lisp/vc/add-log.el (change-log-goto-source):
148         Avoid double-formatting.
149         * lisp/vc/ediff-init.el (format-message):
150         New backward-compatibility alias.
152 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
154         Fix minor text quoting problems in lisp top level
155         * lisp/apropos.el (apropos-describe-plist):
156         * lisp/cus-theme.el (customize-themes):
157         * lisp/dired.el (dired-log):
158         * lisp/help-fns.el (describe-variable):
159         * lisp/hexl.el (hexl-insert-multibyte-char):
160         * lisp/info.el (Info-finder-find-node):
161         * lisp/json.el (json-read-string):
162         * lisp/novice.el (disabled-command-function)
163         (disabled-command-function):
164         * lisp/startup.el (normal-mouse-startup-screen):
165         * lisp/woman.el (WoMan-log, WoMan-warn):
166         Respect text quoting style in doc string or diagnostic.
167         * lisp/replace.el (replace-character-fold):
168         * src/syntax.c (Fmodify_syntax_entry):
169         Escape an apostrophe in a docstring.
170         * lisp/tempo.el (tempo-define-template):
171         Remove confusing apostrophe from docstring.
172         * lisp/whitespace.el (whitespace-mark-x):
173         Use directed quotes in docstring.
175 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
177         Fix indentation rule in css-mode
178         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
179         brackets in presence of pseudo-selectors.  (Bug#21328)
181 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
183         Fix a bug in recording a macro while flyspell-mode is active
184         * lisp/subr.el (sit-for): Don't call read-event when recording a
185         macro.  (Bug#21329)
187 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
189         Tweak startup screen quoting
190         * lisp/startup.el (normal-splash-screen): Use standard
191         "M-" abbrevation rather than a confusingly-different one.
192         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
194 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
196         Add test case for ‘format’ bug and refactor
197         * src/editfns.c (styled_format): Refactor internally, mostly by
198         moving declarations closer to uses.  This should not affect behavior.
199         * test/automated/textprop-tests.el (textprop-tests-format): New test.
201         Fix ‘format’ bug with property offsets
202         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
203         bug in calculating string property offsets (Bug#21351).
205         Use straight quotes in lib-src diagnostics
206         These auxiliary programs can’t use Emacs’s text-quoting-style,
207         and it’s too much trouble to redo that mechanism by hand.
208         So just use straight quotes for now.
209         * lib-src/ebrowse.c (main):
210         * lib-src/emacsclient.c (decode_options, main):
211         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
212         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
213         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
214         (none_help, print_language_names, print_help, add_regex)
215         (suggest_asking_for_help):
216         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
217         Use straight quotes in diagnostics.
219         ‘text-quoting-style’ fixes for admin
220         * admin/admin.el (cusver-scan, cusver-check):
221         * admin/authors.el (authors-canonical-file-name):
222         * admin/bzrmerge.el (bzrmerge-missing):
223         Respect ‘text-quoting-style’ in diagnostics.
225 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
227         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
228         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
229         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
230         * doc/lispref/internals.texi (Writing Emacs Primitives):
231         * etc/NEWS:
232         Document the change.
233         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
234         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
235         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
236         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
237         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
238         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
239         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
240         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
241         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
242         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
243         Remove.  All uses removed.  The code now assumes
244         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
245         * src/bytecode.c (relocate_byte_stack):
246         Rename from unmark_byte_stack, since it now only relocates.
247         All callers changed.
248         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
249         with GCPROs removed.
250         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
251         * test/automated/finalizer-tests.el (finalizer-basic)
252         (finalizer-circular-reference, finalizer-cross-reference)
253         (finalizer-error):
254         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
255         Remove tests, as they depend on gc-precise.
257 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
259         Improve seq-concatenate for new sequence types
260         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
261         ensure that concatenation happens on sequences only.  This makes it
262         possible to use `seq-concatenate' for new types of seqs.
263         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate): New
264         function used in `seq-concatenate'.
265         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
266         for seq-into-sequence.
268 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
270         Add mode local overrides to xref-find-definitions
271         * lisp/cedet/mode-local.el (xref-mode-local--override-present,
272         xref-mode-local-overload): New; add mode local overrides to
273         xref-find-definitions.
274         * test/automated/elisp-mode-tests.el: Add mode local override tests.
275         (xref-elisp-test-run): Handle indented defuns.
276         (xref-elisp-generic-*): Improve doc strings.
277         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
278         (elisp--xref-find-definitions): Use it.
280         Add mode local overrides to describe-function
281         * lisp/cedet/mode-local.el (describe-mode-local-overload): New; add mode
282         local overrides to describe-function.
283         * etc/NEWS: Document change.
285 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
287         Prefer straight quoting in some etc text files
288         These files are plain text and might be used by non-Emacs apps.
289         They’re mostly ASCII, so just use straight quotes.
291         Fix quoting in ‘message_with_string’
292         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
293         should work now.
294         * src/xdisp.c (message_to_stderr): New function, refactored from
295         part of ‘message3_nolog’.
296         (message3_nolog): Use it.
297         (message_with_string): Use it.  Don’t mishandle NUL bytes when
298         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
299         Use ‘format-message’, not ‘format’, so that quotes are translated.
301 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
303         Mention false positives of file-accessible-directory on w32
304         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
305         (Bug#21346)
307 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
309         Treat error strings as help
310         * src/print.c (print_error_message): Translate quotes and command
311         keys in errmsg so that users see, e.g., "Symbol’s value as
312         variable is void: foo" when text-quoting-style is curved.
314 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
316         * lisp/net/tramp-cache.el (top): Use `message' but `format-message'.
318 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
320         Top-level elisp files respect ‘text-quoting-style’
321         In top-level elisp files, use format-message in diagnostic formats,
322         so that they follow user preference as per ‘text-quoting-style’
323         rather than being hard-coded to quote `like this'.
324         * lisp/allout.el (allout-get-configvar-values):
325         * lisp/apropos.el (apropos-symbols-internal):
326         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
327         (dired-do-create-files-regexp, dired-create-files-non-directory):
328         * lisp/dired-x.el (dired-do-run-mail):
329         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
330         * lisp/disp-table.el (standard-display-european):
331         * lisp/find-dired.el (find-dired):
332         * lisp/forms.el (forms-mode):
333         * lisp/ido.el (ido-buffer-internal):
334         * lisp/info.el (Info-index-next):
335         * lisp/outline.el (outline-invent-heading):
336         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
337         * lisp/proced.el (proced-log):
338         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
339         * lisp/recentf.el (recentf-open-files, recentf-save-list):
340         * lisp/savehist.el (savehist-save):
341         * lisp/server.el (server-ensure-safe-dir):
342         * lisp/ses.el (ses-rename-cell):
343         * lisp/simple.el (list-processes--refresh):
344         * lisp/startup.el (command-line):
345         * lisp/strokes.el (strokes-unset-last-stroke)
346         (strokes-execute-stroke):
347         Use format-message so that quotes are restyled.
348         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
349         Don’t quote ‘raised’.
350         * lisp/descr-text.el (describe-char):
351         * lisp/dirtrack.el (dirtrack-debug-message):
352         * lisp/hexl.el (hexl-insert-multibyte-char):
353         Apply substitute-command-keys to help string.
354         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
355         (wdired-do-perm-changes):
356         Let dired-log do the formatting.
358 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
360         Go back to grave quoting in Tramp
361         * lisp/net/tramp-adb.el:
362         * lisp/net/tramp-cache.el:
363         * lisp/net/tramp-compat.el:
364         * lisp/net/tramp-gvfs.el:
365         * lisp/net/tramp-gw.el:
366         * lisp/net/tramp-sh.el:
367         * lisp/net/tramp-smb.el:
368         * lisp/net/tramp.el:
369         Stick with grave quoting in diagnostics strings.  This is more
370         portable to older Emacs, desirable for Tramp.
371         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
372         for diagnostic that needs requoting.
373         * lisp/net/tramp-compat.el (format-message):
374         Fall back on simple ‘format’, since that’s good enough now.
376         Go back to grave quoting in Gnus
377         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
378         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
379         (gnus-agent-fetch-headers):
380         * lisp/gnus/gnus-int.el (gnus-start-news-server):
381         * lisp/gnus/gnus-registry.el:
382         (gnus-registry--split-fancy-with-parent-internal)
383         (gnus-registry-post-process-groups):
384         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
385         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
386         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
387         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
388         * lisp/gnus/spam.el (spam-check-blackholes):
389         Stick with grave quoting in diagnostics strings.  This is more
390         portable to older Emacs, desirable for Gnus.
392         Fix customization of text-quoting-style
393         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
394         * lisp/wid-edit.el (widget-docstring):
395         Get raw docstring here since it’s cooked later and should not be
396         cooked twice.
397         * lisp/cus-edit.el (custom-group-value-create):
398         Cook the docstring before inserting it.
399         * lisp/cus-start.el (text-quoting-style): Quote the customization
400         docstrings according to the new rules.  Give curved examples.
402         format-message now curves ` and '
403         That way, the caller doesn’t have to use curved quotes to
404         get diagnostics that match the text-quoting-style preferences.
405         Suggested by Dmitry Gutov in:
406         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
407         This means we no longer need %qs, so remove that format.
408         While we’re at it, fix an unlikely bug and lessen the pressure
409         on the garbage collector by processing the string once rather
410         than twice in the usual case.
411         * doc/lispref/strings.texi (Formatting Strings):
412         * etc/NEWS: Document this.
413         * lisp/subr.el (format-message): Remove; now done in C.
414         * src/callint.c (Fcall_interactively):
415         * src/editfns.c (Fmessage, Fmessage_box):
416         Use Fformat_message instead of Finternal__text_restyle
417         followed by Fformat.
418         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
419         uLSQM and uRSQM.
420         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
421         when pure ASCII now suffices.  Fix unlikely bug when parsing
422         unibyte string containing non-ASCII bytes.  Use inline code
423         rather than memcpy, as it’s a tiny number of bytes.
424         (Finternal__text_restyle): Remove; no longer used.
425         (syms_of_doc): Don’t declare it.
426         * src/editfns.c (Fformat): Rewrite in terms of new function
427         ‘styled_format’.
428         (Fformat_message): New function, moved here from subr.el.
429         (styled_format): New function, with the old guts of Fformat,
430         except it now optionally transliterates quotes, and it transliterates
431         traditional grave accent and apostrophe quoting as well.
432         Remove recently-added q flag; no longer needed or used.
433         (syms_of_editfns): Define format-message.
434         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
435         Remove; no longer need to be global symbols.
436         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
437         so that callers can use `%s'.
438         * src/image.c (image_size_error, xbm_load_image, xbm_load)
439         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
440         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
441         (svg_load_image, gs_load, x_kill_gs_process):
442         * src/lread.c (load_warn_old_style_backquotes):
443         * src/xfaces.c (load_pixmap):
444         * src/xselect.c (x_clipboard_manager_error_1):
445         Use `%s' instead of %qs in formats.
447 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
449         Minor fixes in doc/emacs/search.texi
450         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
451         (Special Isearch): Use @w{} to generate several consecutive spaces
452         with Texinfo 6.  (Bug#21345)
454 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
456         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
457         (tramp-awk-coding-test): New defconsts.
458         (tramp-remote-coding-commands): Use them.
459         (tramp-find-inline-encoding): Check for Perl only if necessary.
461 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
463         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
464         index entries for the special form `quote'.
466 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
468         Spelling fixes
470         Gnus format-message typo fix
471         * lisp/gnus/gnus-util.el (gnus-format-message):
472         Fix typo when running in older Emacs.
474         Prefer directed to neutral quotes
475         Prefer directed to neutral quotes in docstings and diagnostics.
476         In docstrings, escape apostrophes that would otherwise be translated
477         to curved quotes using the newer, simpler rules.
478         * admin/unidata/unidata-gen.el (unidata-gen-table):
479         * lisp/align.el (align-region):
480         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
481         * lisp/bookmark.el (bookmark-default-annotation-text):
482         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
483         * lisp/calc/calc-lang.el (math-read-giac-subscr)
484         (math-read-math-subscr):
485         * lisp/calc/calc-misc.el (report-calc-bug):
486         * lisp/calc/calc-prog.el (calc-fix-token-name)
487         (calc-read-parse-table-part):
488         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
489         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
490         * lisp/dabbrev.el (dabbrev-expand):
491         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
492         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
493         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
494         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
495         * lisp/erc/erc-button.el (erc-nick-popup):
496         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
497         * lisp/eshell/em-dirs.el (eshell/cd):
498         * lisp/eshell/em-glob.el (eshell-glob-regexp):
499         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
500         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
501         * lisp/eshell/esh-opt.el (eshell-show-usage):
502         * lisp/files-x.el (modify-file-local-variable):
503         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
504         (filesets-update-pre010505):
505         * lisp/find-cmd.el (find-generic, find-to-string):
506         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
507         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
508         (gnus-agent-fetch-headers):
509         * lisp/gnus/gnus-int.el (gnus-start-news-server):
510         * lisp/gnus/gnus-registry.el:
511         (gnus-registry--split-fancy-with-parent-internal):
512         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
513         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
514         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
515         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
516         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
517         * lisp/gnus/spam.el (spam-check-blackholes):
518         * lisp/mail/feedmail.el (feedmail-run-the-queue):
519         * lisp/mpc.el (mpc-playlist-rename):
520         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
521         * lisp/net/mairix.el (mairix-widget-create-query):
522         * lisp/net/tramp-cache.el:
523         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
524         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
525         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
526         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
527         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
528         (org-babel-goto-named-result):
529         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
530         * lisp/org/ob-ref.el (org-babel-ref-resolve):
531         * lisp/org/org-agenda.el (org-agenda-prepare):
532         * lisp/org/org-bibtex.el (org-bibtex-fields):
533         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
534         (org-clock-resolve):
535         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
536         * lisp/org/org-habit.el (org-habit-parse-todo):
537         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
538         (org-mouse-context-menu):
539         * lisp/org/org-table.el (org-table-edit-formulas):
540         * lisp/org/ox.el (org-export-async-start):
541         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
542         (dun-rooms, dun-endgame-questions):
543         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
544         * lisp/progmodes/ada-xref.el (ada-find-executable):
545         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
546         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
547         (flymake-start-syntax-check-process):
548         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
549         * lisp/progmodes/sql.el (sql-comint):
550         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
551         * lisp/server.el (server-get-auth-key):
552         * lisp/subr.el (version-to-list):
553         * lisp/textmodes/reftex-ref.el (reftex-label):
554         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
555         * lisp/vc/ediff-diff.el (ediff-same-contents):
556         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
557         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
558         Use directed rather than neutral quotes in diagnostics.
560         Treat ' like ’ even when not matching `
561         This is simpler and easier to explain, and should encourage better
562         typography.  Do this in Electric Quote mode and when translating
563         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
564         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
565         * doc/emacs/text.texi (Quotation Marks):
566         * doc/lispref/help.texi (Keys in Documentation):
567         * etc/NEWS:
568         Document this.
569         * lisp/electric.el (electric-quote-post-self-insert-function):
570         * src/doc.c (Fsubstitute_command_keys):
571         Always treat ' like ’ even when not matched by an open quote.
573 2015-08-25  Glenn Morris  <rgm@gnu.org>
575         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
576         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
578 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
580         * src/macfont.m (macfont_create_family_with_symbol): Accept localized names.
582 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
584         Tramp diagnostics as per ‘text-quoting-style’
585         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
586         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
587         (tramp-adb-handle-delete-directory)
588         (tramp-adb-handle-delete-file)
589         (tramp-adb-handle-file-local-copy)
590         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
591         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
592         (tramp-adb-maybe-open-connection):
593         * lisp/net/tramp-cache.el:
594         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
595         (tramp-compat-octal-to-decimal)
596         (tramp-compat-coding-system-change-eol-conversion):
597         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
598         (tramp-gvfs-do-copy-or-rename-file)
599         (tramp-gvfs-handle-delete-directory)
600         (tramp-gvfs-handle-delete-file)
601         (tramp-gvfs-handle-expand-file-name)
602         (tramp-gvfs-handle-file-local-copy)
603         (tramp-gvfs-handle-file-notify-add-watch)
604         (tramp-gvfs-handle-make-directory)
605         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
606         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
607         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
608         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
609         (tramp-sh-handle-set-visited-file-modtime)
610         (tramp-sh-handle-set-file-modes)
611         (tramp-sh-handle-file-name-all-completions)
612         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
613         (tramp-do-copy-or-rename-file-directly)
614         (tramp-do-copy-or-rename-file-out-of-band)
615         (tramp-sh-handle-make-directory)
616         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
617         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
618         (tramp-sh-handle-start-file-process)
619         (tramp-sh-handle-file-local-copy)
620         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
621         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
622         (tramp-find-file-exists-command, tramp-open-shell)
623         (tramp-find-shell)
624         (tramp-open-connection-setup-interactive-shell)
625         (tramp-find-inline-encoding, tramp-find-inline-compress)
626         (tramp-compute-multi-hops, tramp-maybe-open-connection)
627         (tramp-wait-for-output, tramp-send-command-and-check)
628         (tramp-send-command-and-read, tramp-get-remote-path)
629         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
630         (tramp-get-ls-command-with-quoting-style)
631         (tramp-get-test-command, tramp-get-remote-ln)
632         (tramp-get-remote-perl, tramp-get-remote-stat)
633         (tramp-get-remote-readlink, tramp-get-remote-trash)
634         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
635         (tramp-get-remote-inotifywait, tramp-get-remote-id)
636         (tramp-get-remote-python):
637         * lisp/net/tramp-smb.el (tramp-smb-errors)
638         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
639         (tramp-smb-handle-delete-directory)
640         (tramp-smb-handle-delete-file)
641         (tramp-smb-handle-file-local-copy)
642         (tramp-smb-handle-make-directory)
643         (tramp-smb-handle-make-directory-internal)
644         (tramp-smb-handle-make-symbolic-link)
645         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
646         (tramp-smb-handle-set-file-modes)
647         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
648         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
649         (tramp-process-actions):
650         Generate diagnostics according to ‘text-quoting-style’, by
651         using curved quotes in format strings and ‘format-message’
652         when appropriate.
653         * lisp/net/tramp-compat.el (format-message):
654         Define a replacement, if it’s an older version of Emacs
655         that doesn’t have it already.
657         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
659 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
661         Fix documentation for `save-excursion'
662         * doc/lispref/positions.texi (Excursions):
663         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
664         (Template for save-excursion, Point and mark): `save-excursion'
665         does not save&restore the mark any more.
667 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
669         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
670         New defconsts.
671         (tramp-do-file-attributes-with-stat)
672         (tramp-do-directory-files-and-attributes-with-stat): Use them.
673         (tramp-convert-file-attributes): Remove double slashes in symlinks.
674         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
675         Handle symlinks with "//" in the file name.
677         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
679 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
681         Fix cl-subseq and cl-concatenate
682         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
683         seq functions.
684         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
685         seq-concatenate.
687 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
689         Fix full-screen code when there is no window manager (Bug#21317)
690         * src/xterm.h (x_wm_supports): Declare external.
691         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
692         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
693         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
694         `fullscreen' frame parameter.
695         * gtkutil.c (x_wm_set_size_hint): Set size hints when running
696         without a window manager.
698 2015-08-24  Glenn Morris  <rgm@gnu.org>
700         * lisp/version.el (emacs-version): No longer include build host
701         * doc/lispref/intro.texi (Version Info): Update example.
703 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
705         * doc/lispref/elisp.texi: Fix typo in previous change.
707         More-conservative ‘format’ quote restyling
708         Instead of restyling curved quotes for every call to ‘format’,
709         create a new function ‘format-message’ that does the restyling,
710         and using the new function instead of ‘format’ only in contexts
711         where this seems appropriate.
712         Problem reported by Dmitry Gutov and Andreas Schwab in:
713         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
714         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
715         * doc/lispref/commands.texi (Using Interactive):
716         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
717         * doc/lispref/display.texi (Displaying Messages, Progress):
718         * doc/lispref/elisp.texi:
719         * doc/lispref/help.texi (Keys in Documentation):
720         * doc/lispref/minibuf.texi (Minibuffer Misc):
721         * doc/lispref/strings.texi (Formatting Strings):
722         * etc/NEWS:
723         Document the changes.
724         * lisp/abbrev.el (expand-region-abbrevs):
725         * lisp/apropos.el (apropos-library):
726         * lisp/calc/calc-ext.el (calc-record-message)
727         (calc-user-function-list):
728         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
729         * lisp/calc/calc-lang.el (math-read-big-balance):
730         * lisp/calc/calc-store.el (calc-edit-variable):
731         * lisp/calc/calc-units.el (math-build-units-table-buffer):
732         * lisp/calc/calc-yank.el (calc-edit-mode):
733         * lisp/calendar/icalendar.el (icalendar-export-region)
734         (icalendar--add-diary-entry):
735         * lisp/cedet/mode-local.el (mode-local-print-binding)
736         (mode-local-describe-bindings-2):
737         * lisp/cedet/semantic/complete.el (semantic-completion-message):
738         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
739         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
740         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
741         * lisp/descr-text.el (describe-text-properties-1, describe-char):
742         * lisp/dframe.el (dframe-message):
743         * lisp/dired-aux.el (dired-query):
744         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
745         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
746         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
747         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
748         (cconv-analyze-form):
749         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
750         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
751         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
752         * lisp/emacs-lisp/edebug.el (edebug-format):
753         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
754         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
755         (eldoc-message):
756         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
757         * lisp/emacs-lisp/find-func.el (find-function-library):
758         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
759         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
760         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
761         * lisp/emacs-lisp/package.el (package-compute-transaction)
762         (package-install-button-action, package-delete-button-action)
763         (package-menu--list-to-prompt):
764         * lisp/emacs-lisp/timer.el (timer-event-handler):
765         * lisp/emacs-lisp/warnings.el (lwarn, warn):
766         * lisp/emulation/viper-cmd.el:
767         (viper-toggle-parse-sexp-ignore-comments)
768         (viper-kill-buffer, viper-brac-function):
769         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
770         * lisp/facemenu.el (facemenu-add-new-face):
771         * lisp/faces.el (face-documentation, read-face-name)
772         (face-read-string, read-face-font, describe-face):
773         * lisp/files.el (find-alternate-file, hack-local-variables)
774         (hack-one-local-variable--obsolete, write-file)
775         (basic-save-buffer, delete-directory):
776         * lisp/format.el (format-write-file, format-find-file)
777         (format-insert-file):
778         * lisp/help-fns.el (help-fns--key-bindings)
779         (help-fns--compiler-macro, help-fns--obsolete)
780         (help-fns--interactive-only, describe-function-1)
781         (describe-variable):
782         * lisp/help.el (describe-mode):
783         * lisp/info-xref.el (info-xref-output):
784         * lisp/info.el (Info-virtual-index-find-node)
785         (Info-virtual-index, info-apropos):
786         * lisp/international/kkc.el (kkc-error):
787         * lisp/international/mule-cmds.el:
788         (select-safe-coding-system-interactively)
789         (select-safe-coding-system, describe-input-method):
790         * lisp/international/mule-conf.el (code-offset):
791         * lisp/international/mule-diag.el (describe-character-set)
792         (list-input-methods-1):
793         * lisp/international/quail.el (quail-error):
794         * lisp/minibuffer.el (minibuffer-message):
795         * lisp/mpc.el (mpc--debug):
796         * lisp/msb.el (msb--choose-menu):
797         * lisp/net/ange-ftp.el (ange-ftp-message):
798         * lisp/net/gnutls.el (gnutls-message-maybe):
799         * lisp/net/newst-backend.el (newsticker--sentinel-work):
800         * lisp/net/newst-treeview.el (newsticker--treeview-load):
801         * lisp/net/nsm.el (nsm-query-user):
802         * lisp/net/rlogin.el (rlogin):
803         * lisp/net/soap-client.el (soap-warning):
804         * lisp/net/tramp.el (tramp-debug-message):
805         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
806         * lisp/nxml/nxml-parse.el (nxml-parse-error):
807         * lisp/nxml/rng-cmpct.el (rng-c-error):
808         * lisp/nxml/rng-match.el (rng-compile-error):
809         * lisp/nxml/rng-uri.el (rng-uri-error):
810         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
811         * lisp/org/org-ctags.el:
812         (org-ctags-ask-rebuild-tags-file-then-find-tag):
813         * lisp/proced.el (proced-log):
814         * lisp/progmodes/ebnf2ps.el (ebnf-log):
815         * lisp/progmodes/flymake.el (flymake-log):
816         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
817         * lisp/replace.el (occur-1):
818         * lisp/simple.el (execute-extended-command)
819         (undo-outer-limit-truncate, define-alternatives):
820         * lisp/startup.el (command-line):
821         * lisp/subr.el (error, user-error, add-to-list):
822         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
823         (tutorial--find-changed-keys):
824         * src/callint.c (Fcall_interactively):
825         * src/editfns.c (Fmessage, Fmessage_box):
826         Restyle the quotes of format strings intended for use as a
827         diagnostic, when restyling seems appropriate.
828         * lisp/subr.el (format-message): New function.
829         * src/doc.c (Finternal__text_restyle): New function.
830         (syms_of_doc): Define it.
832 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
834         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
836 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
838         python.el: Fix python-shell-buffer-substring on indented code
839         (Bug#21086)
840         * lisp/progmodes/python.el (python-shell-buffer-substring):
841         Respect current line indentation when calculating string.
842         * test/automated/python-tests.el
843         (python-shell-buffer-substring-10)
844         (python-shell-buffer-substring-11)
845         (python-shell-buffer-substring-12): New tests.
847 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
849         Fix minor glitches from ‘format’ reversion
850         * doc/lispref/strings.texi (Formatting Strings):
851         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
852         Documentation’, not below.
853         * src/syntax.c (Finternal_describe_syntax_value):
854         Prefer AUTO_STRING to build_string where either will do, as
855         AUTO_STRING is a bit faster.
857 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
859         python.el: Defer shell setup code until first interactive prompt
860         * lisp/progmodes/python.el
861         (python-shell-comint-watch-for-first-prompt-output-filter): New
862         function.
863         (inferior-python-mode): Use it.
864         (python-shell-first-prompt-hook): New hook.
865         (python-shell-send-setup-code)
866         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
867         this hook instead of inferior-python-hook.
869 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
871         Remove the calls to `seq-into` from `seq-concatenate`
872         Since most new types of seq would have to be defined as sequences (cons
873         cells or CL structs, mostly), there is no need to convert the seqs to
874         sequences (which can be a fairly expensive operation).
875         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
876         sequences.
878 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
880         python.el: Fix completion for pdb interactions
881         * lisp/progmodes/python.el (python-shell-completion-setup-code):
882         Simplify.  Toggle print_mode for native wrapped completer.
883         (python-shell-completion-native-setup): Ensure process buffer.
884         Add print_mode attribute to completer wrapper to toggle returning
885         or printing candidates.
886         (python-shell-completion-native-get-completions): Cleanup.
887         (python-shell-completion-get-completions): Cleanup.
888         (python-shell-completion-at-point): Perform prompt checks.  Force
889         fallback completion in pdb interactions.
891 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
893         Make seq.el more extensible by using cl-defmethod
894         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
895         make it easier to extend seq.el with new "seq types".
896         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
897         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
898         subseq in cl-extra.el, and use it in seq.el.
900 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
902         python.el: Fix prompt detection with user overridden interpreter
903         * lisp/progmodes/python.el (python-shell-prompt-detect): Honor
904         buffer local python-shell-interpreter and
905         python-shell-interpreter-interactive-arg.
907 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
909         Support exec-directory with non-ASCII characters on Windows
910         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
911         in the system's ANSI codepage, when it is used for invoking
912         cmdproxy.
914 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
916         Revert "Extend ‘format’ to translate curved quotes"
917         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
919         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
920         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
922 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
924         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers): Clarify
925         "invisible window".
927 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
929         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
930         magic-fallback-mode-alist.
932 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
934         python.el: fallback completion, ffap and eldoc setup enhancements
935         Setup codes are now sent continuously so that the current frame is
936         always taken into account.  This allows working within debuggers
937         and always keeping a fresh version of setup codes that will return
938         proper results.
939         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
940         (python-shell-send-setup-code): Send code only when
941         python-shell-setup-codes is non-nil.
942         (python-shell-completion-string-code): Cleanup trailing newline.
943         (python-shell-completion-get-completions): Always use
944         python-shell-completion-setup-code.
945         (python-ffap-setup-code): Work with any object, not only modules.
946         (python-ffap-string-code): Cleanup trailing newline.
947         (python-ffap-module-path): Always use python-ffap-setup-code.
948         (python-eldoc-string-code): Cleanup trailing newline.
949         (python-eldoc--get-doc-at-point): Always use
950         python-eldoc-setup-code.  Return non-nil only if docstring is
951         found.
953         python.el: Increase native completion robustness.
954         * lisp/progmodes/python.el (python-shell-completion-native-setup):
955         Make completer print real candidates and just return dummy ones to
956         avoid input modification.
957         (python-shell-completion-native-get-completions): Set
958         comint-redirect-insert-matching-regexp to non-nil and make
959         comint-redirect-finished-regexp match the last dummy candidate.
960         Use python-shell-accept-process-output to wait for the full list
961         of candidates.
963 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
965         Fix invocation of programs via cmdproxy.exe
966         * src/w32proc.c (sys_spawnve): Use exec-directory, not
967         invocation-directory, for finding cmdproxy.exe.  When Emacs is
968         run from the source tree, look for cmdproxy.exe in the same source
969         tree.  (Bug#21323)
971 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
973         Handle comments inside unquoted URIs in css-mode
974         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
975         (css-syntax-propertize-function): New defconst.
976         (css--font-lock-keywords): Handle parens around unquoted URIs.
977         (css-mode): Set `syntax-propertize-function'.
979 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
981         Support invocation of Hunspell with multiple dictionaries
982         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file): Support
983         lists of dictionaries of the form "DICT1,DICT2,...".
984         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
986         Minor formatting changes in ispell.el
987         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
988         (ispell-print-if-debug, ispell-aspell-find-dictionary)
989         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
990         (ispell-hunspell-dictionary-alist)
991         (ispell-hunspell-fill-dictionary-entry)
992         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
993         (ispell-buffer-with-debug, ispell-complete-word)
994         (ispell-current-dictionary, ispell-current-personal-dictionary)
995         (ispell-accept-output, ispell-minor-mode)
996         (ispell-personal-dictionary, ispell-dictionary-alist)
997         (ispell-really-aspell, ispell-really-hunspell)
998         (ispell-encoding8-command, ispell-aspell-supports-utf8)
999         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
1000         Fix whitespace, inconsistent capitalization, and arguments in doc
1001         strings.
1003 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
1005         In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows.
1006         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
1007         function refused to resize a size-preserved window.
1009 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
1011         Improve documentation of 'window-use-time'
1012         * doc/lispref/windows.texi (Selecting Windows): Improve
1013         documentation and indexing of 'window-use-time'.
1015 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1017         * lisp/progmodes/cc-*.el: Fix up commenting style
1018         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
1019         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
1020         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
1021         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
1022         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
1023         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
1024         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
1025         Fix up commenting style.
1027 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1029         text-quoting-style in emacs-lisp diagnostics
1030         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
1031         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
1032         (ad-disable-advice, ad-remove-advice, ad-set-argument)
1033         (ad-set-arguments):
1034         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
1035         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
1036         (byte-optimize-while, byte-optimize-apply):
1037         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
1038         (byte-compile-log-file, byte-compile-format-warn)
1039         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
1040         (byte-compile-cl-warn)
1041         (byte-compile-warn-about-unresolved-functions)
1042         (byte-compile-file, byte-compile-fix-header)
1043         (byte-compile--declare-var, byte-compile-file-form-defmumble)
1044         (byte-compile-form, byte-compile-normal-call)
1045         (byte-compile-variable-ref, byte-compile-variable-set)
1046         (byte-compile-subr-wrong-args, byte-compile-setq-default)
1047         (byte-compile-negation-optimizer)
1048         (byte-compile-condition-case--old)
1049         (byte-compile-condition-case--new, byte-compile-save-excursion)
1050         (byte-compile-defvar, byte-compile-autoload)
1051         (byte-compile-lambda-form)
1052         (byte-compile-make-variable-buffer-local, display-call-tree)
1053         (batch-byte-compile):
1054         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
1055         (cconv-analyze-form):
1056         * lisp/emacs-lisp/chart.el (chart-space-usage):
1057         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
1058         (check-declare-warn, check-declare-file)
1059         (check-declare-directory):
1060         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
1061         (checkdoc-message-text-engine):
1062         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
1063         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
1064         (cl-symbol-macrolet):
1065         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
1066         * lisp/emacs-lisp/copyright.el (copyright)
1067         (copyright-update-directory):
1068         * lisp/emacs-lisp/edebug.el (edebug-read-list):
1069         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
1070         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
1071         (eieio-oref, eieio-oset-default):
1072         * lisp/emacs-lisp/eieio-speedbar.el:
1073         (eieio-speedbar-child-make-tag-lines)
1074         (eieio-speedbar-child-description):
1075         * lisp/emacs-lisp/eieio.el (defclass, change-class):
1076         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
1077         (elint-init-form, elint-check-defalias-form)
1078         (elint-check-let-form):
1079         * lisp/emacs-lisp/ert.el (ert-get-test):
1080         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
1081         (find-function-library):
1082         * lisp/emacs-lisp/generator.el (iter-yield):
1083         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
1084         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
1085         * lisp/emacs-lisp/package-x.el (package-upload-file):
1086         * lisp/emacs-lisp/package.el (package-version-join)
1087         (package-disabled-p, package-activate-1, package-activate)
1088         (package--download-one-archive)
1089         (package--download-and-read-archives)
1090         (package-compute-transaction, package-install-from-archive)
1091         (package-install, package-install-selected-packages)
1092         (package-delete, package-autoremove)
1093         (package-install-button-action, package-delete-button-action)
1094         (package-menu-hide-package, package-menu--list-to-prompt)
1095         (package-menu--perform-transaction)
1096         (package-menu--find-and-notify-upgrades):
1097         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
1098         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
1099         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
1100         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
1101         * lisp/emacs-lisp/smie.el (smie-config-save):
1102         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
1103         * lisp/emacs-lisp/testcover.el (testcover-1value):
1104         Use curved quotes in diagnostic format strings.
1106 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1108         python.el: Ensure remote process-environment on non-interactive processes
1109         * lisp/progmodes/python.el
1110         (python-shell-tramp-refresh-process-environment): New function.
1111         (python-shell-with-environment): Use it.
1112         * test/automated/python-tests.el (python-shell-with-environment-2): Update.
1114         python.el: Enhancements to process environment setup.
1115         * lisp/progmodes/python.el (python-shell-process-environment)
1116         (python-shell-extra-pythonpaths, python-shell-exec-path)
1117         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
1118         (python-shell-setup-codes): Remove :safe.
1119         (python-shell-remote-exec-path): New defcustom.
1120         (python-shell--add-to-path-with-priority): New macro.
1121         (python-shell-calculate-pythonpath): Give priority to
1122         python-shell-extra-pythonpaths.  Update docstring.
1123         (python-shell-calculate-process-environment): Give priority to
1124         python-shell-process-environment.  Update docstring.
1125         (python-shell-calculate-exec-path): Give priority to
1126         python-shell-exec-path and calculated virtualenv bin directory.
1127         Update docstring.
1128         (python-shell-tramp-refresh-remote-path): New function.
1129         (python-shell-with-environment): Use it when working remotely and
1130         do not modify tramp-remote-path.  Allow nesting.
1131         (python-shell-calculate-command): Remove useless
1132         python-shell-with-environment call.
1133         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
1134         (python-shell-calculate-pythonpath-2)
1135         (python-shell-calculate-process-environment-6)
1136         (python-shell-calculate-process-environment-7)
1137         (python-shell-calculate-process-environment-8)
1138         (python-shell-calculate-exec-path-3)
1139         (python-shell-calculate-exec-path-4)
1140         (python-shell-calculate-exec-path-5)
1141         (python-shell-calculate-exec-path-6)
1142         (python-shell-with-environment-3): New tests.
1143         (python-shell-calculate-process-environment-2)
1144         (python-shell-calculate-process-environment-3)
1145         (python-shell-calculate-process-environment-4)
1146         (python-shell-calculate-process-environment-5)
1147         (python-shell-calculate-exec-path-1)
1148         (python-shell-calculate-exec-path-2)
1149         (python-shell-with-environment-1)
1150         (python-shell-with-environment-2): Update and simplify.
1152 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1154         Avoid hard-coding "M-x command" in docstrings
1155         * lisp/calendar/todo-mode.el (todo-mode):
1156         * lisp/desktop.el (desktop-save-mode):
1157         * lisp/edmacro.el (edit-kbd-macro):
1158         * lisp/emacs-lisp/package.el (package-menu-execute):
1159         * lisp/emulation/viper-cmd.el (viper-ask-level):
1160         * lisp/emulation/viper-init.el (viper-expert-level):
1161         * lisp/filesets.el (filesets-add-buffer):
1162         * lisp/follow.el (follow-mode):
1163         * lisp/gnus/auth-source.el (auth-sources):
1164         * lisp/international/ogonek.el (ogonek-informacja)
1165         (ogonek-information):
1166         * lisp/net/tramp.el (tramp-process-actions):
1167         * lisp/org/org-gnus.el (org-gnus-no-new-news):
1168         * lisp/org/org.el (org-ellipsis):
1169         * lisp/progmodes/python.el (python-shell-get-process-or-error):
1170         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
1171         * lisp/server.el (server-start):
1172         * lisp/type-break.el (type-break-noninteractive-query):
1173         * lisp/userlock.el (ask-user-about-supersession-help):
1174         * lisp/whitespace.el (whitespace-report-region):
1175         Prefer (substitute-command-keys "`\\[foo-command]'")
1176         to "`M-x foo-command'" in docstrings and the like.
1178 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
1180         Use add-function for prettify-symbols-compose-predicate
1181         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
1182         prettify-symbols-compose-predicate in terms of add-function.
1183         * etc/NEWS: Mention prettify-symbols-compose-predicate and
1184         prettify-symbols-mode support in tex-mode.
1186 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1188         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun
1189         (smie-indent-exps, smie-indent-keyword): Use it.
1190         * test/indent/css-mode.css: Test alignment with leading comment.
1192 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1194         Respect text-quoting-style in (*Finder*) menus
1195         * lisp/info.el (info--prettify-description):
1196         Treat description as a docstring, so that it's requoted as
1197         per text-quoting-style.
1199 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
1201         Document `window-use-time' in Elisp manual
1202         * doc/lispref/windows.texi (Selecting Windows): Document `window-use-time'.
1204 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1206         A better fix for bug#21303
1207         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.  This is a
1208         cleaner fix for Bug#21260 than the previous change.
1210 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1212         Respect text-quoting-style in calc
1213         In calc, tespect text-quoting-style preference in diagnostic
1214         formats and fix a few similar problems in docstrings.
1215         * lisp/calc/calc-aent.el (math-read-factor):
1216         * lisp/calc/calc-embed.el (calc-do-embedded):
1217         * lisp/calc/calc-ext.el (calc-user-function-list)
1218         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
1219         * lisp/calc/calc-help.el (calc-describe-key)
1220         (calc-describe-thing):
1221         * lisp/calc/calc-lang.el (calc-c-language)
1222         (math-parse-fortran-vector-end, math-parse-tex-sum)
1223         (math-parse-eqn-matrix, math-parse-eqn-prime)
1224         (calc-yacas-language, calc-maxima-language, calc-giac-language)
1225         (math-read-big-rec, math-read-big-balance):
1226         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
1227         (calc-auto-recompute):
1228         * lisp/calc/calc-prog.el (calc-user-define-invocation)
1229         (math-do-arg-check):
1230         * lisp/calc/calc-store.el (calc-edit-variable):
1231         * lisp/calc/calc-units.el (math-build-units-table-buffer):
1232         * lisp/calc/calc-vec.el (math-read-brackets):
1233         * lisp/calc/calc-yank.el (calc-edit-mode):
1234         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
1235         Use curved quotes in diagnostic format strings.
1236         * lisp/calc/calc-help.el (calc-describe-thing):
1237         Format docstrings with substitute-command-keys.
1238         * lisp/calc/calc-help.el (calc-j-prefix-help):
1239         * lisp/calc/calc-misc.el (calc-help):
1240         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
1241         Escape a docstring "`".
1243 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1245         Fix documentation of 'menu-set-font' and 'set-frame-font'
1246         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
1247         * doc/lispref/frames.texi (Frame Font): Document that
1248         set-frame-font with the last argument 't' will also make the font
1249         the default for the future GUI frames.
1251         Document '--create-frame' option to emacsclient
1252         * doc/emacs/misc.texi (emacsclient Options): Document the
1253         '--create-frame' option.  (Bug#21308)
1255 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
1257         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
1259 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1261         Document 'get-mru-window' in the ELisp manual
1262         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
1263         'get-mru-window'.  (Bug#21306)
1265         Clarify documentation of 'get-buffer-window-list'
1266         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
1267         current window, if relevant, will be the first in the list
1268         returned by 'get-buffer-window-list'.
1269         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
1271 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
1273         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
1274         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
1275         `switch-to-buffer'.
1277 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
1279         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
1280         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
1281         `display-buffer' instead of `switch-to-buffer'.
1283 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1285         Follow user preference in calendar diagnostics
1286         Respect text-quoting-style preference in diagnostic formats by
1287         using curved quotes (which are translated as per text-quoting-style)
1288         instead of grave accent and apostrophe (which are not).
1289         * lisp/calendar/appt.el (appt-display-message):
1290         * lisp/calendar/diary-lib.el (diary-check-diary-file)
1291         (diary-mail-entries, diary-from-outlook):
1292         * lisp/calendar/icalendar.el (icalendar-export-region)
1293         (icalendar--convert-float-to-ical)
1294         (icalendar--convert-date-to-ical)
1295         (icalendar--convert-ical-to-diary)
1296         (icalendar--convert-recurring-to-diary)
1297         (icalendar--add-diary-entry):
1298         * lisp/calendar/time-date.el (format-seconds):
1299         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
1300         (timeclock-make-hours-explicit):
1301         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
1302         (todo-item-mark, todo-check-format)
1303         (todo-insert-item--next-param, todo-edit-item--next-key)
1304         (todo-mode):
1305         Use curved quotes in diagnostic format strings.
1306         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
1307         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
1308         Just use straight quoting for simple test case.
1310 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
1312         * src/gfilenotify.c (Fgfile_add_watch):
1313         Handle errors from g_file_monitor.
1315 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
1317         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
1318         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
1319         frame" instead of "non-minibuffer frame".
1321         Fix frame geometry related text
1322         * doc/lispref/frames.texi (Frame Layout): Rename
1323         `x-frame-geometry' to `frame-geometry'.
1324         * doc/lispref/frames.texi (Mouse Position):
1325         * doc/lispref/windows.texi (Coordinates and Windows): Use
1326         `set-mouse-absolute-pixel-position' instead of
1327         `x-set-mouse-absolute-pixel-position'.
1329         Sanitize frame geometry related functions
1330         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
1331         (Fx_frame_edges): Rename to Fns_frame_edges.
1332         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
1333         (Fx_frame_edges): Rename to Fw32_frame_edges.
1334         (Fx_mouse_absolute_pixel_position): Rename to
1335         Fw32_mouse_absolute_pixel_position.
1336         (Fx_set_mouse_absolute_pixel_position): Rename to
1337         Fw32_set_mouse_absolute_pixel_position.
1338         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
1339         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
1340         (ns-frame-edges, w32-mouse-absolute-pixel-position)
1341         (x-mouse-absolute-pixel-position)
1342         (w32-set-mouse-absolute-pixel-position)
1343         (x-set-mouse-absolute-pixel-position): Declare.
1344         (frame-geometry, mouse-absolute-pixel-position)
1345         (set-mouse-absolute-pixel-position): New functions.
1346         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
1348 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
1350         Fix MinGW64 build broken by latest w32uniscribe.c changes
1351         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
1352         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
1353         (Bug#21260)
1355 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
1357         Add TeX defaults for prettify-symbol-mode
1358         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename
1359         from tex-prettify-symbols-alist.
1360         (tex--prettify-symbols-compose-p): New function.
1361         (tex-common-initialization): Use them as prettify-symbols-alist
1362         and prettify-symbols-compose-predicate.
1364         Generalize prettify-symbols to arbitrary modes
1365         * lisp/progmodes/prog-mode.el
1366         (prettify-symbols-default-compose-p): New function.
1367         (prettify-symbols-compose-predicate): New variable.
1368         (prettify-symbols--compose-symbol): Use it.
1370 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
1372         Don't quote symbols 'like-this' in docstrings etc.
1373         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
1374         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
1375         * lisp/allout.el (allout-add-resumptions, allout-mode):
1376         * lisp/calculator.el (calculator-operators):
1377         * lisp/cedet/data-debug.el (dd-propertize):
1378         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
1379         * lisp/cedet/semantic/analyze/debug.el:
1380         (semantic-analyzer-debug-global-miss-text):
1381         * lisp/cedet/semantic/lex-spp.el:
1382         (semantic-lex-spp-replace-or-symbol-or-keyword):
1383         * lisp/cedet/semantic/symref.el:
1384         (semantic-symref-cleanup-recent-buffers-fcn):
1385         * lisp/cedet/semantic/tag.el (semantic-tag-class):
1386         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
1387         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
1388         * lisp/gnus/pop3.el (pop3-authentication-scheme):
1389         * lisp/help-fns.el (describe-function-orig-buffer):
1390         * lisp/imenu.el (imenu--history-list):
1391         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
1392         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
1393         (feedmail-queue-default-file-slug)
1394         (feedmail-queue-buffer-file-name):
1395         * lisp/net/mairix.el (mairix-searches-mode-map):
1396         * lisp/net/newst-backend.el (newsticker-retrieval-method)
1397         (newsticker-auto-mark-filter-list):
1398         * lisp/obsolete/vi.el (vi-mode):
1399         * lisp/progmodes/cc-engine.el (c-literal-type):
1400         * lisp/progmodes/cpp.el (cpp-face):
1401         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
1402         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
1403         * lisp/progmodes/pascal.el (pascal-auto-lineup):
1404         * lisp/progmodes/prog-mode.el (prog-widen):
1405         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
1406         (verilog-auto-lineup, verilog-auto-reset-widths)
1407         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
1408         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
1409         (flyspell-maybe-correct-doubling):
1410         * lisp/textmodes/table.el (table-justify, table-justify-cell)
1411         (table-justify-row, table-justify-column, table-insert-sequence)
1412         (table--justify-cell-contents):
1413         * lisp/url/url-auth.el (url-get-authentication):
1414         * lisp/window.el (display-buffer-record-window):
1415         * lisp/xml.el (xml-parse-file, xml-parse-region):
1416         * src/gfilenotify.c (Fgfile_add_watch):
1417         Don't quote symbols with apostrophes in doc strings.
1418         Use asymmetric quotes instead.
1419         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
1420         Likewise for symbol in diagnostic.
1421         * lisp/image.el (image-extension-data):
1422         * lisp/register.el (frame-configuration-to-register):
1423         * src/buffer.c (syms_of_buffer):
1424         Remove bogus apostrophes after symbols.
1425         * lisp/thumbs.el (thumbs-conversion-program):
1426         Quote Lisp string values using double-quotes, not apostrophes.
1428 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
1430         Describe frame geometry and related functions in Elisp manual
1431         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
1432         (Showing Images): Update references.
1433         * doc/lispref/elisp.texi (Top): Update node listing.
1434         * doc/lispref/frames.texi (Frame Geometry): New node.  Move
1435         `Size and Position' section here.
1436         (Size Parameters): Update references.
1437         (Mouse Position): Update references and nomenclature.  Describe
1438         new functions `x-mouse-absolute-pixel-position' and
1439         `x-set-mouse-absolute-pixel-position'.
1440         * doc/lispref/windows.texi (Window Sizes): Update references.
1441         (Resizing Windows): Update references.  Move description of
1442         `fit-frame-to-buffer' here.
1443         (Coordinates and Windows): Update nomenclature and references.
1444         Describe new arguments of `window-edges'.  Comment out
1445         descriptions of `window-left-column', `window-top-line',
1446         `window-pixel-left' and `window-pixel-top'.  Describe
1447         `window-absolute-pixel-position'.
1449 2015-08-20  Alan Mackenzie  <acm@muc.de>
1451         Handling of `c-parse-state'.  Fix low level bug.
1452         progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): Add
1453         "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
1455 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
1457         In `widget-color--choose-action' quit *Color* window instead of deleting it
1458         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
1459         window instead of deleting it.
1461 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
1463         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
1464         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
1465         determine whether frame has a titlebar.
1466         Suggested by Eli Zaretskii <eliz@gnu.org>
1468 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
1470         Add a prettify-symbols-alist for (La)TeX
1471         * tex-mode.el (tex-prettify-symbols-alist): New variable holding
1472         an alist suitable as prettify-symbols-alist in (La)TeX modes.
1474 2015-08-19  Alan Mackenzie  <acm@muc.de>
1476         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
1477         Fixes debbugs#21275.
1478         In Emacs >= 25, let electric-pair-mode take precedence over
1479         delete-selection-mode.
1480         delsel.el (delete-selection-uses-region-p): New function, previously a
1481         lambda expression in a property value for `self-insert-command'.
1482         (top-level) Set the `delete-selection' property of `self-insert-command'
1483         to `delete-selection-uses-region-p'.
1484         progmodes/cc-cmds.el (top-level): Give the `delete-selection' property
1485         for c-electric-\(brace\|paren\) the value `delete-selection-uses-region-p'
1486         when the latter function exists.
1488 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
1490         Fix key binding quoting in tutorial *Help*
1491         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
1492         When generating help for custom key bindings, use the user-preferred
1493         quoting style rather than hardcoding the grave style.
1495 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
1497         Improve and future-proof OTF fonts support in w32uniscribe.c
1498         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
1499         about the expected results and why the new Uniscribe APIs are not
1500         used in this function.
1501         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
1502         (ScriptGetFontFeatureTags_Proc): New function typedefs.
1503         (uniscribe_new_apis): New static variable.
1504         (uniscribe_check_features): New function, implements OTF features
1505         verification while correctly accounting for features in the list
1506         after the nil member, if any.
1507         (uniscribe_check_otf_1): New function, retrieves the features
1508         supported by the font for the requested script and language using
1509         the Uniscribe APIs available from Windows Vista onwards.
1510         (uniscribe_check_otf): If the new Uniscribe APIs are available,
1511         use them in preference to reading the font data directly.  Call
1512         uniscribe_check_features to verify that the requested features are
1513         supported, replacing the original incomplete code.
1514         (syms_of_w32uniscribe): Initialize function pointers for the new
1515         Uniscribe APIs.  (Bug#21260)
1516         (otf_features): Scan the script, langsys, and feature arrays back
1517         to front, so that the result we return has them in alphabetical
1518         order, like ftfont.c does.
1519         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
1520         New variable for debugging w32uniscribe.c code.
1522 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
1524         * isearch.el (isearch-search-fun-default): Revert a5bdb87
1525         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
1526         clause of `isearch-search-fun-default'. That lax variable does not
1527         refer to lax-whitespacing.  Related to (bug#21777).
1528         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
1529         * character-fold.el (character-fold-search): Set to nil
1530         Default to nil for now, until someone implements proper
1531         lax-whitespacing with char-fold searching.
1533 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
1535         Fix doc-string of `help-mode-finish'.
1536         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
1538         In nsimage.m include coding.h (Bug#21292)
1539         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
1541         Move window edge functions to Elisp.
1542         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
1543         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
1544         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
1545         Move to window.el.
1546         (calc_absolute_offset): Remove.
1547         * lisp/frame.el (frame-edges): New function.
1548         * lisp/window.el (window-edges, window-pixel-edges)
1549         (window-absolute-pixel-edges): Move here from window.c.
1550         (window-body-edges, window-body-pixel-edges)
1551         (window-absolute-body-pixel-edges): Move here from window.c and
1552         rename "inside" to "body".  Keep old names as aliases.
1553         (window-absolute-pixel-position): New function.
1555 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
1557         [Gnus]: Use overlay functions directly
1558         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
1559         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
1560         (gnus-article-highlight-signature, gnus-article-extend-url-button)
1561         (gnus-article-add-button, gnus-insert-prev-page-button)
1562         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
1563         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
1564         (gnus-cite-add-face):
1565         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
1566         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
1567         (gnus-tree-recenter, gnus-highlight-selected-tree):
1568         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
1569         (gnus-summary-show-thread, gnus-summary-hide-thread)
1570         (gnus-highlight-selected-summary):
1571         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
1572         * lisp/gnus/message.el (message-fix-before-sending)
1573         (message-toggle-image-thumbnails):
1574         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
1575         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
1576         Use overlay functions directly instead of using gnus-overlay-*,
1577         message-overlay-*, and sieve-overlay-*.
1578         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
1579         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
1580         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
1581         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
1582         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
1583         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
1584         (message-overlay-get, message-overlay-put, message-overlays-in):
1585         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
1586         (sieve-overlays-at):
1587         Remove.
1589 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
1591         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version.
1592         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
1593         builds can use the declaration from the system headers.
1594         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
1595         definition of TITLEBAR_INFO.
1596         Suggested by Eli Zaretskii  <eliz@gnu.org>
1598 2015-08-19  Glenn Morris  <rgm@gnu.org>
1600         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
1602 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
1604         Use new q ‘format’ flag when fixing quotes in C
1605         * src/image.c (image_size_error): New function.  All uses of
1606         image_error with "Invalid image size ..."  changed to use it.
1607         * src/image.c (image_size_error, xbm_load_image, xbm_load)
1608         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
1609         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
1610         (imagemagick_load, svg_load, svg_load_image, gs_load)
1611         (x_kill_gs_process):
1612         * src/lread.c (load_warn_old_style_backquotes):
1613         * src/xfaces.c (load_pixmap):
1614         * src/xselect.c (x_clipboard_manager_error_1):
1615         Use %qs, not uLSQM and uRSQM.
1616         * src/syntax.c (Finternal_describe_syntax_value):
1617         Prefer Fsubstitute_command_keys to Fformat, as this lets
1618         us use AUTO_STRING.
1619         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
1620         as it's now guaranteed to be ASCII.
1621         * src/xselect.c (x_clipboard_manager_error_2):
1622         Avoid grave accent in low-level stderr diagnostic.
1624 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
1626         New q flag for ‘format’
1627         * doc/lispref/processes.texi (Sentinels):
1628         Don't hardwire grave quoting style in example.
1629         * doc/lispref/strings.texi (Formatting Strings):
1630         * etc/NEWS:
1631         Document new q flag.
1632         * src/editfns.c (Fformat): Implement it.
1634 2015-08-18  Daiki Ueno  <ueno@gnu.org>
1636         pinentry.el: Add debugging support
1637         * lisp/net/pinentry.el (pinentry-debug): New variable.
1638         (pinentry-debug-buffer): New variable.
1639         (pinentry--process-filter): Send input to the debug buffer, if
1640         `pinentry-debug' is set.
1642         pinentry.el: Improve multiline prompt
1643         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
1644         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
1645         command.
1647 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
1649         Fix multibyte confusion in diagnostics
1650         * src/print.c (print_error_message):
1651         Don't assume that the caller's name is unibyte.
1652         * src/xdisp.c (vadd_to_log):
1653         Don't assume that the formatted diagnostic is unibyte.
1655         Fix file name encodings in diagnostics
1656         Also, close some minor races when opening image files, by opening
1657         them once instead of multiple times.
1658         * src/gtkutil.c (xg_get_image_for_pixmap):
1659         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
1660         (svg_load):
1661         * src/nsimage.m (allocInitFromFile:):
1662         * src/xfns.c (xg_set_icon):
1663         Encode file name, since x_find_image_file no longer does that.
1664         * src/image.c (x_find_image_fd): New function.
1665         (x_find_image_file): Use it.  Do not encode resulting file name,
1666         since callers sometimes need it decoded.
1667         (slurp_file): File arg is now a fd, not a file name.
1668         All callers changed.  This saves us having to open the file twice.
1669         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
1670         (svg_load):
1671         Use x_find_image_fd and fdopen to save a file-open.
1672         Report file name that failed.
1673         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
1675 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
1677         Allow blink-matching-paren to jump off screen
1678         * doc/emacs/programs.texi (Matching): Mention the
1679         `blink-matching-paren' value `jump-offscreen'.
1680         * lisp/simple.el (blink-matching-paren): New possible value.
1681         (blink-matching-paren-on-screen): Clarify the docstring.
1682         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
1684         Refine the previous change
1685         * lisp/simple.el (blink-matching-open): Use minibuffer-message
1686         outside of save-excursion (bug#21286).
1688 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
1690         Rewrite and add frame geometry related functions.
1691         * src/frame.c (Fframe_position): New function.
1692         (Fset_frame_position): Rename parameters and rewrite doc-string.
1693         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
1694         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
1695         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
1696         Qtitle_bar_size.
1697         * src/nsfns.m (frame_geometry): New function.
1698         (Fx_frame_geometry): Call frame_geometry.
1699         (Fx_frame_edges): New function.
1700         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
1701         (GetTitleBarInfo_Proc): Define these so we can use the
1702         GetTitleBarInfo API.
1703         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
1704         (Fx_frame_geometry): Rewrite.
1705         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
1706         (Fx_set_mouse_absolute_pixel_position): New functions.
1707         * src/xfns.c (frame_geometry): New function.
1708         (Fx_frame_geometry): Call frame_geometry.
1709         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
1710         (Fx_set_mouse_absolute_pixel_position): New functions.
1712 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
1714         Improve Tramp's compatibility
1715         * lisp/net/tramp.el (tramp-get-method-parameter):
1716         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
1717         (tramp-adb-get-device):
1718         * lisp/net/trampver.el (tramp-repository-get-version):
1719         Use `tramp-compat-replace-regexp-in-string'.
1721 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
1723         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
1724         Encode/decode string.
1726 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
1728         Clarify what happens to match data on failure
1729         Problem reported by Ernesto Alfonso (Bug#21279).
1730         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
1731         Document more carefully what happens to match data after a failed
1732         search.
1733         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
1734         the return value is undefined if the last search failed.
1735         (Fmatch_data): Simplify doc string line 1.
1737 2015-08-18  Daiki Ueno  <ueno@gnu.org>
1739         Revert "pinentry.el: Support external passphrase cache"
1740         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
1741         pinentry.el shouldn't directly interact with the secrets service,
1742         but ask the caller to cache the passphrase.
1744 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
1746         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
1747         Message mode hooks.
1749 2015-08-17  Daiki Ueno  <ueno@gnu.org>
1751         epg.el: Make gpgconf output parsing future proof
1752         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
1753         --list-options" output.
1755         pinentry.el: Support external passphrase cache
1756         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
1757         (pinentry--allow-external-password-cache): New local variable.
1758         (pinentry--key-info): New local variable.
1759         (secrets-enabled, secrets-search-items, secrets-get-secret):
1760         Declare.
1761         (pinentry--send-passphrase): New function, split from
1762         `pinentry--process-filter'.
1763         (pinentry--process-filter): Use secrets.el to retrieve passphrase
1764         from login keyring.
1766         pinentry.el: Popup window for multiline prompt
1767         * lisp/net/pinentry.el (pinentry): New custom group.
1768         (pinentry-popup-prompt-window): New user option.
1769         (pinentry-prompt-window-height): New user option.
1770         (pinentry--prompt-buffer): New variable.
1771         (pinentry-prompt-mode-map): New variable.
1772         (pinentry-prompt-mode): New function.
1773         (pinentry--prompt): New function.
1774         (pinentry--process-filter): Use `pinentry--prompt' instead of
1775         `read-passwd' and `y-or-n-p'.
1777 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
1779         message.el: Silent the byte compiler
1780         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
1781         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
1782         (message-delete-overlay, message-window-inside-pixel-edges):
1783         Declare before using.
1785         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
1786         (message-window-inside-pixel-edges): XEmacs compatible functions.
1788 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1790         * message.el (message-toggle-image-thumbnails): New command.
1792 2015-08-17  Noah Friedman  <friedman@splode.com>
1794         (blink-matching-open): Restore point before calling minibuffer-message.
1796 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
1798         Update version number in header (now matches help)
1800 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
1802         Curved quotes in --batch diagnostics in non-UTF-8
1803         When run with --batch, check that curved quotes are compatible with
1804         the system locale before outputting them in diagnostics.
1805         Problem reported by Eli Zaretskii in:
1806         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
1807         * lisp/startup.el (command-line): Set internal--text-quoting-flag
1808         after the standard display table is initialized.
1809         * src/doc.c (default_to_grave_quoting_style): New function.
1810         (text_quoting_style): Use it.
1811         (text_quoting_flag): New static var, visible to Lisp as
1812         internal--text-quoting-flag.
1813         * src/emacs.c: Include <wchar.h> if available.
1814         (using_utf8): New function.
1815         (main): Use it to initialize text_quoting_flag.
1816         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
1817         Don't define, as it's not needed and it clashes with wchar.h.
1819 2015-08-17  Glenn Morris  <rgm@gnu.org>
1821         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
1822         from makeinfo about spurious "Note:" cross-reference, and for grammar.
1824 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
1826         Minor change in variable initialization on MS-Windows
1827         * src/w32fns.c <after_dead_key>: Initialize to -1.
1828         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
1829         non-zero.
1831         Fix a bug with LWindow key remapping on MS-Windows
1832         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
1834 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
1836         Improve fontset support for latest OTF script tags
1837         * lisp/international/fontset.el (otf-script-alist): Add some
1838         missing script tags.
1839         (setup-default-fontset): Include settings for v2 versions of the
1840         script tags used by some modern OTF/TTF fonts.
1842 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
1844         Spelling fixes
1846 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
1848         Use curved quotes in core elisp diagnostics
1849         In the core elisp files, use curved quotes in diagnostic formats,
1850         so that they follow user preference as per ‘text-quoting-style’
1851         rather than being hard-coded to quote `like this'.
1852         * lisp/abbrev.el (expand-region-abbrevs):
1853         * lisp/button.el (button-category-symbol, button-put)
1854         (make-text-button):
1855         * lisp/cus-start.el:
1856         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
1857         (custom--sort-vars-1, load-theme):
1858         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
1859         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
1860         (cl-generic-generalizers):
1861         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
1862         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
1863         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
1864         (advice--make, define-advice):
1865         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
1866         * lisp/emacs-lisp/timer.el (timer-event-handler):
1867         * lisp/env.el (setenv):
1868         * lisp/facemenu.el (facemenu-add-new-face)
1869         (facemenu-add-new-color):
1870         * lisp/faces.el (face-documentation, read-face-name)
1871         (face-read-string, read-face-font, face-spec-set-match-display)
1872         (read-color, x-resolve-font-name):
1873         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
1874         (set-auto-mode, hack-local-variables)
1875         (hack-one-local-variable--obsolete)
1876         (dir-locals-set-directory-class, write-file)
1877         (basic-save-buffer, delete-directory, copy-directory)
1878         (recover-session, recover-session-finish, insert-directory)
1879         (file-modes-char-to-who, file-modes-symbolic-to-number)
1880         (move-file-to-trash):
1881         * lisp/font-lock.el (font-lock-fontify-buffer):
1882         * lisp/format.el (format-write-file, format-find-file)
1883         (format-insert-file):
1884         * lisp/frame.el (get-device-terminal, select-frame-by-name):
1885         * lisp/fringe.el (fringe--check-style):
1886         * lisp/help.el (describe-minor-mode-from-indicator):
1887         * lisp/image.el (image-type):
1888         * lisp/international/fontset.el (x-must-resolve-font-name):
1889         * lisp/international/mule-cmds.el (prefer-coding-system)
1890         (select-safe-coding-system-interactively)
1891         (select-safe-coding-system, activate-input-method)
1892         (toggle-input-method, describe-current-input-method):
1893         * lisp/international/mule-conf.el (code-offset):
1894         * lisp/mouse.el (minor-mode-menu-from-indicator):
1895         * lisp/replace.el (query-replace-read-from)
1896         (occur-after-change-function, occur-1):
1897         * lisp/scroll-bar.el (scroll-bar-columns):
1898         * lisp/simple.el (execute-extended-command)
1899         (undo-outer-limit-truncate, compose-mail, set-variable)
1900         (choose-completion-string, define-alternatives):
1901         * lisp/startup.el (site-run-file, tty-handle-args, )
1902         (command-line, command-line-1):
1903         * lisp/subr.el (noreturn, define-error, add-to-list)
1904         (read-char-choice):
1905         * lisp/term/common-win.el (x-handle-xrm-switch)
1906         (x-handle-name-switch, x-handle-args):
1907         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
1908         Use curved quotes in diagnostics.
1909         * lisp/international/mule.el (find-auto-coding):
1910         Use " to quote in a diagnostic, to be consistent with the rest of
1911         this file.
1913         Convert lisp/term/x-win.el to UTF-8
1914         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
1915         runtime behavior, and the file is multilingual so compile-time
1916         appearance shouldn't be an issue.
1917         * admin/notes/unicode: Document this.
1919 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
1921         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
1922             * losp/progmodes/verilog-mode.el: Fix some non-automated indent
1923             issues and comments, bug943.  (verilog-type-font-keywords): Cycle
1924             delay operators like ##1 and ##[0:$] are now highlighted in their
1925             entirety similarly to the # delay-control operator.  Likewise, the
1926             followed-by operators #-# and #=# are no longer partially
1927             highlighed.  (verilog-backward-syntactic-ws-quick,
1928             verilog-skip-backward-comments): Minor performance improvements to
1929             buffer traversal functions for reduced latency.  (verilog-calc-1,
1930             verilog-in-deferred-immediate-final-p): When the keyword 'final'
1931             follows 'assert/assume/cover', then it is part of a deferred
1932             immediate assertion item and should not be treated as a final
1933             construct for indentation.  Reported by Yuri Sugihara.
1934             (verilog-do-indent): Virtual task/function/class definition lines
1935             should not be considered as declarations.  Reported by Enzo Chi.
1936             (verilog-do-indent): Do not falsely indent to '=' of
1937             property/sequence operators on subsequent lines of a multi-line
1938             statement.  (verilog-assignment-operator-re): Fix '!==' operator
1939             and add support for '<->', ':/', '#-#', and '#=#' operators.
1940             (verilog-calculate-indent, verilog-label-be): Enable
1941             case-sensitive regular expression parsing when looking for
1942             keywords.  (verilog-calc-1): Detect 'pure virtual method'
1943             declarations which exist in abstract classes.  Reported by Enzo
1944             Chi and Kaushal Modi.  (verilog-backward-ws&directives): When
1945             moving back to the start of a line and the preceeding line ended
1946             with an escaped-newline, then jump up one line.  This properly
1947             consumes a multi-line pre-processor directive.  Reported by
1948             Kaushal Modi.  (verilog-dpi-import-export-re,
1949             verilog-extended-complete-re, verilog-calc-1): Teach verilog-mode
1950             to properly indent after a DPI import/export statement that
1951             resides outside of a module.  Reported by Kaushal Modi.
1952             (verilog-extended-complete-re): Update regexp to match both
1953             "DPI-C" and "DPI".  Reported by Kaushal Modi.
1955 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
1957         substitute-command-keys a few more doc strings
1958         * lisp/allout.el (outlineify-sticky):
1959         * lisp/files.el (hack-one-local-variable--obsolete):
1960         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
1961         Use substitute-command-keys on some doc strings so that
1962         they don't use hard-coded key bindings or quoting styles.
1964         Fix quoting in Fformat calls
1965         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
1966         (xpm_load, xpm_load_image, pbm_load, png_load_body)
1967         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
1968         (imagemagick_load, svg_load, svg_load_image, gs_load)
1969         (x_kill_gs_process):
1970         * src/lread.c (load_warn_old_style_backquotes):
1971         * src/xfaces.c (load_pixmap):
1972         * src/xselect.c (x_clipboard_manager_error_1):
1973         Quote diagnostics according to user preference when calling
1974         Fformat or its derivatives.
1976 2015-08-15  Glenn Morris  <rgm@gnu.org>
1978         * admin/admin.el (set-version, set-copyright): Remove deleted files.
1980 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
1982         Allow describe-function helpers to access buffer-local values.
1983         This will be used by cedet/mode-local.el `describe-mode-local-override'
1984         on `help-fns-describe-function-functions' in upstream CEDET.
1985         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
1986         `describe-function'.
1987         (describe-function): Bind it, save it on the help xref stack.
1989         Handle pulse-background being nil
1990         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
1991         pulse-background, handle it being nil.
1993 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
1995         Fix "\`" confusion in Lisp strings
1996         * admin/authors.el (authors-canonical-author-name):
1997         Fix typo by using "\\`" not "\`" in string RE.
1998         * lisp/obsolete/complete.el (PC-complete-as-file-name):
1999         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
2000         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
2001         Use plain "`", not the equivalent-but-confusing "\`", in strings.
2002         * lisp/textmodes/texinfmt.el: Fix comment likewise.
2004 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
2006         Remove 'nt/zipdist.bat' (no longer used)
2007         * nt/zipdist.bat: Remove - no longer used.
2009 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
2011         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
2012         rather than "getenforce".
2013         (tramp-sh-handle-set-file-selinux-context): Do not
2014         cache SELinux context if not all context components are given.
2016 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
2018         Add doc strings to 2 help-mode.el functions
2019         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
2020         strings.  (Bug#21263)
2022         Remove files used by the old MS-Windows specific build procedure
2023         * admin/unidata/makefile.w32-in:
2024         * doc/emacs/makefile.w32-in:
2025         * doc/lispintro/makefile.w32-in:
2026         * doc/lispref/makefile.w32-in:
2027         * doc/misc/makefile.w32-in:
2028         * leim/makefile.w32-in:
2029         * lib-src/makefile.w32-in:
2030         * lib/makefile.w32-in:
2031         * lisp/makefile.w32-in:
2032         * nt/INSTALL.OLD:
2033         * nt/config.nt:
2034         * nt/emacs-src.tags:
2035         * nt/envadd.bat:
2036         * nt/gmake.defs:
2037         * nt/makefile.w32-in:
2038         * nt/multi-install-info.bat:
2039         * nt/nmake.defs:
2040         * nt/paths.h:
2041         * src/makefile.w32-in: Files deleted.
2042         * nt/configure.bat: Remove everything except the blurb about the
2043         new build procedure.
2044         * make-dist: Remove references to makefile.w32-in in various
2045         directories, and to files in nt/ that were deleted.
2046         * etc/NEWS: Mention the fact that the files were dropped.
2048 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2050         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
2051         (Bug#21248)
2053 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2055         Default to inotify instead of gfile
2056         * configure.ac (with_file_notification): Fix typo that
2057         prevented suppression of file notification if HAVE_NS.
2058         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
2059         with_file_notification is 'yes' (Bug#21241).
2060         * etc/NEWS: Mention this.
2062         Fix broken URLs for ISO-IR
2063         * doc/emacs/mule.texi (Charsets):
2064         * lisp/international/mule-conf.el:
2065         Fix broken URL (Bug#21248).
2067         Low-level diagnostics now use ‘text-quoting-style’
2068         * src/doprnt.c (doprnt):
2069         Format ` and ' as per ‘text-quoting-style’.
2070         * src/xdisp.c (vmessage, message): Mention that the format should
2071         not contain ` or '.
2073         Prefer ‘format’ to ‘substitute-command-keys’
2074         * src/character.h (uLSQM, uRSQM): Move here ...
2075         * src/doc.c (uLSQM, uRSQM): ... from here.
2076         * src/doc.c (Fsubstitute_command_keys):
2077         * src/syntax.c (Finternal_describe_syntax_value):
2078         * lisp/cedet/mode-local.el (mode-local-print-binding)
2079         (mode-local-describe-bindings-2):
2080         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2081         * lisp/cus-theme.el (describe-theme-1):
2082         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2083         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
2084         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2085         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
2086         * lisp/emacs-lisp/package.el (describe-package-1):
2087         * lisp/faces.el (describe-face):
2088         * lisp/help-fns.el (help-fns--key-bindings)
2089         (help-fns--compiler-macro, help-fns--parent-mode)
2090         (help-fns--obsolete, help-fns--interactive-only)
2091         (describe-function-1, describe-variable):
2092         * lisp/help.el (describe-mode):
2093         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
2094         to implement quoting style.  This generally makes the code simpler.
2096         Extend ‘format’ to translate curved quotes
2097         This is a followup to the recent doc string change, and deals with
2098         diagnostics and the like.  This patch is more conservative than
2099         the doc string change, in that the behavior of ‘format’ changes
2100         only if its first arg contains curved quotes and the user prefers
2101         straight or grave quotes.  (Come to think of it, perhaps we should
2102         be similarly conservative with doc strings too, but that can wait.)
2103         The upside of this conservatism is that existing usage is almost
2104         surely unaffected.  The downside is that we'll eventually have to
2105         change Emacs's format strings to use curved quotes in places where
2106         the user might want curved quotes, but that's a simple and
2107         mechanical translation that I'm willing to do later.  (Bug#21222)
2108         * doc/lispref/help.texi (Keys in Documentation):
2109         Move description of text-quoting-style from here ...
2110         * doc/lispref/strings.texi (Formatting Strings):
2111         ... to here, and describe new behavior of ‘format’.
2112         * etc/NEWS: Describe new behavior.
2113         * lisp/calc/calc-help.el (calc-describe-thing):
2114         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2115         * lisp/info.el (Info-find-index-name):
2116         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
2117         of recently-added curved quotes.
2118         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
2119         Move from here ...
2120         * src/lisp.h: ... to here.
2121         * src/doc.c (text_quoting_style): New function.
2122         (Fsubstitute_command_keys): Use it.
2123         * src/editfns.c (Fformat): Implement new behavior.
2124         * src/lisp.h (enum text_quoting_style): New enum.
2126 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
2128         * src/keyboard.c: Use false/true instead of 0/1 for booleans
2129         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
2131 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
2133         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
2134         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
2136 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
2138         Flush file properties in Tramp
2139         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
2140         (tramp-sh-handle-set-file-times):
2141         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
2142         (tramp-adb-handle-set-file-times): Flush the file properties of
2143         the directory.
2145 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
2147         * doc/emacs/misc.text (Amusements): Fixed typo.
2149 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
2151         Don't miss warnings about removing string text properties while dumping
2152         * src/alloc.c (purecopy): Warn about removing a string's text
2153         properties even when the same string was already pure-copied
2154         earlier.
2155         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
2156         (elisp--xref-format-extra): Fix the commentary.
2158 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2160         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049)
2162 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
2164         * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038)
2165         * lisp/progmodes/compile.el: Use lexical-binding.
2166         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
2168 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2170         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
2171         * lisp/uniquify.el: Remove redundant `:group's.
2173 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
2175         * lisp/net/tramp-adb.el
2176         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
2177         result to prevent modification of the tramp-cache by side effects.
2178         Use the correct cache key.
2180 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
2182         Make add_to_log varargs
2183         * src/alloc.c (run_finalizer_handler):
2184         * src/charset.c (load_charset_map_from_vector):
2185         * src/nsimage.m (ns_load_image):
2186         * src/xfaces.c (load_pixmap, load_color2):
2187         Simplify, now that add_to_log has a variable number of args.
2188         * src/image.c (image_error): Take a variable number of args.
2189         Callers simplified.
2190         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
2191         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
2192         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
2193         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
2195         Optional args for holiday-greek-orthodox-easter
2196         * etc/NEWS: Document this.
2197         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
2198         Add optional args N and STRING, mimicking the API and code of
2199         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
2201 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
2203         xref-find-definitions: Exclude more generic function items.
2204         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string.
2205         (cl--generic-find-defgeneric-regexp): New.
2206         (find-function-regexp-alist): Add it.
2207         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
2208         elisp-mode.el, change to search for ";;; Code:"
2209         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
2210         (find-function-regexp-alist): Add them.
2211         * lisp/progmodes/elisp-mode.el:
2212         (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due
2213         to bug#21237.
2214         (elisp--xref-find-definitions): Exclude co-located default methods for
2215         generic functions. Also exclude implicitly declared defgeneric.
2216         (elisp--xref-find-definitions): Handle C source properly. Exclude minor
2217         mode variables defined by 'define-minor-mode'.
2218         * test/automated/elisp-mode-tests.el: Declare generic functions, add
2219         tests for them.
2220         (xref-elisp-test-run): Fix bug.
2221         (emacs-test-dir): Improve initial value.
2222         (find-defs-defun-defvar-el): Don't expect defvar.
2223         (find-defs-feature-el): Match change to find-feature-regexp.
2225 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
2227         Improve warning about purecopy of strings with properties
2228         * src/alloc.c (purecopy): Show the offending string with the
2229         warning about removing its text properties.
2231 2015-08-12  Alan Mackenzie  <acm@muc.de>
2233         Introduce new macros to cover Emacs's new names in cl-lib.el.
2234         This also eliminates `mapcan' warnings in XEmacs.
2235         progmodes/cc-defs.el (c--mapcan-status): new variable to characterise
2236         [X]Emacs versions.
2237         (top-level): Require either 'cl or 'cl-lib, depending on
2238         c--mapcan-status.
2239         Change this back to cc-external-require from an eval-when-compile
2240         require.
2241         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
2242         (c--delete-duplicates): New macros which expand into either old or new
2243         names.
2244         (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros
2245         rather than the old names.
2246         progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather
2247         than mapcan.
2248         progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
2249         progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
2250         depending on c--mapcan-status.
2251         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
2252         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
2253         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
2254         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
2255         (c-decl-block-key, c-keywords, c-keywords-obarray)
2256         (c-regular-keywords-regexp, c-primary-expr-regexp,
2257         c-primary-expr-regexp)
2258         (c-block-prefix-disallowed-chars, c-known-type-key,
2259         c-nonlabel-token-key)
2260         (c-make-init-lang-vars-fun): Use the new macros rather than the old
2261         names.
2263 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
2265         loadhist.el (read-feature): Conform to completing-read
2266         * lisp/loadhist.el (read-feature): According to `completing-read'
2267           documentation, if collection is a list, then it must be a list of
2268           strings. And not a list of symbols like before.
2270 2015-08-12  David Kastrup  <dak@gnu.org>
2272         Deal gracefully with up-events (Bug#19746)
2273         * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
2274         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
2275         those may easily be injected by user-level Lisp code.
2276         (read_key_sequence): Discard unbound up-events like unbound
2277         down-events: they are even more likely only relevant for special
2278         purposes.
2279         While Emacs will not produce up-events on its own currently (those are
2280         converted to drag or click events before being converted to
2281         Lisp-readable structures), the input queue can be made to contain them
2282         by synthesizing events to `unread-command-events'.  Emacs should deal
2283         consistently with such events.
2285 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
2287         Fix display of thin lines whose newline has line-height property of t
2288         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
2289         and descent values of non-empty glyph rows, since they could have
2290         forced low values deliberately.  (Bug#21243)
2292 2015-08-12  Richard Stallman  <rms@gnu.org>
2294         Offer to combine multiple To or CC fields.
2295         * sendmail.el (mail-combine-fields): New function.
2296         (mail-send): Call 'mail-combine-fields'.
2298         Don't decrypt encrypted files.
2299         * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
2301         Handle encrypted mbox files.
2302         * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox
2303         file if necessary.
2305         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
2306         * rmail.el (rmail-epa-decrypt-1): New subroutine.
2307         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
2308         In a mime message, reenable Mime and show the parts that
2309         were shown before.
2310         Add keyword "decrypt" if anything decrypted.
2312         epa-inhibit inhibits auto-recognition of .gpg files
2313         * lisp/epa-file.el (epa-inhibit): New variable.
2314         (epa-file-handler): Check epa-inhibit.
2316 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
2318         * emacs-lisp/lisp-mnt.el (lm-header): save-excursion
2320 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
2322         Respect python.el imenu when semantic-mode is off
2323         Fixes debbugs:21220
2324         * lisp/cedet/semantic/wisent/python.el: Do not force
2325         wisent-python-default-setup on python-mode-hook.
2327 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
2329         Give names to Unicode code points in C code
2330         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
2331         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
2332         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
2333         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
2334         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
2335         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
2336         (OBJECT_REPLACEMENT_CHARACTER):
2337         New named constants for Unicode code points.
2338         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
2339         * src/composite.c (char_composable_p):
2340         * src/lread.c (readevalloop, read1):
2341         * src/xdisp.c (get_next_display_element):
2342         Use them.
2343         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
2344         Remove; now in character.h.
2346 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
2348         elisp--xref-find-definitions handle cl-defstuct default constructor
2349         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
2350         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
2351         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
2352         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
2353         from xref-elisp-test for ease of debugging.
2354         (xref-elisp-deftest): Rename from xref-elisp-test.
2355         (find-defs-constructor): New test.
2356         (find-defs-defgeneric-el): Match batch test config.
2357         (compile): Required for find-defs compilation-minor-mode test.
2358         (find-defs-defvar-el): Match code change.
2359         (find-defs-face-el): Match code change.
2360         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
2361         Improve doc string.
2363 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2365         * lisp/replace.el (perform-replace): Document `replacements'.
2366         (perform-replace): Move the description of the format of `replacements' from
2367         the body's comment to the docstring.
2369 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
2371         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
2372         sequence.  Recent adb version send initial escape sequences, even
2373         when terminal type is set to TERM=dumb.
2375 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
2377         Rewrite elisp--xref-find-definitions to handle many more cases; add tests.
2378         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): deleted
2379         (elisp--xref-format-cl-defmethod): new
2380         (find-feature-regexp): new
2381         (find-alias-regexp): new
2382         (elisp--xref-make-xref): new
2383         (elisp--xref-find-definitions): Rewrite using the above, handle many more
2384         cases. Always output all available definitions.
2385         (xref-location-marker): No need for special cases.
2386         * test/automated/elisp-mode-tests.el: Add more tests of
2387         elisp--xref-find-definitions, improve current tests.
2389 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
2391         Fix recording of events pushed onto unread-command-events
2392         * src/keyboard.c (read_char): Make sure events read from
2393         unread-command-events and unread-post-input-method-events are
2394         always recorded by record_char.  Reported by David Kastrup
2395         <dak@gnu.org>, see
2396         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
2398 2015-08-10  Samer Masterson  <samer@samertm.com>
2400         Set file buffer as current for "--file"
2401         * lisp/startup.el (command-line-1): Set file buffer as current before
2402         it is displayed so it can be used with options like
2403         "--eval".  (Bug#21095)
2405 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
2407         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
2408         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
2409         after setting LC_ALL to the desired locale, to avoid affecting how
2410         numbers are read and printed.  (Bug#21223)
2412 2015-08-10  Alan Mackenzie  <acm@muc.de>
2414         Fix "Invalid search bound (wrong side of point)" in fontification.
2415         progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an
2416         initialization expression, check point is not beyond the fontification
2417         limit.
2419 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2421         Fix DPI calculation when Xft/DPI is default
2422         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
2423         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
2424         Remove unnecessary cast while we're in the neighborhood.
2426 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
2428         Add project-vc-search-path and project-vc-ignores
2429         * lisp/progmodes/project.el (project-vc): New group.
2430         (project-vc-search-path, project-vc-ignores): New variables.
2431         (project--value-in-dir): Utility function.
2432         (project-search-path, project-ignores): Use them.
2433         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
2434         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
2436 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2438         Fix some minor quoting issues with grave accent
2439         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
2440         Remove redundant quotes.
2441         * src/doc.c (uLSQM, uRSQM): New macros.
2442         * src/doc.c (Fsubstitute_command_keys):
2443         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
2444         preference for quotes rather than hardcoding the ‘grave’ style.
2445         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
2446         (re_match_2_internal) [DEBUG]: In debugging output, quote C
2447         strings with "...", not `...'.
2449         ChangeLog.2 ignores remote-tracking merges
2450         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
2451         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
2452         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
2454 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
2456         Use kpsewhich in ffap-latex-mode, if available
2457         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
2458         (ffap-latex-mode): Use kpsewhich if available.
2460         ffap: disallow braces in filenames for tex modes
2461         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
2462         braces in tex-related modes.
2464         Remove useless backslashes from ffap-string-at-point-mode-alist
2465         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
2466         misleading backslashes from default value.
2468         Augment docstring of ffap-string-at-point-mode-alist
2469         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
2470         and END are handled.
2472 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2474         Remove no-op calls to substitute-command-keys
2475         * lisp/org/org-src.el (org-edit-src-code)
2476         (org-edit-fixed-width-region):
2477         * lisp/simple.el (completion-setup-function):
2478         Remove calls to substitute-command-keys that always just return
2479         their argument.
2481 2015-08-09  Daiki Ueno  <ueno@gnu.org>
2483         Utilize `quit-window' in epa.el
2484         * epa.el (epa-exit-buffer-function): Set to `quit-window'.
2485         (Bug#21210)
2487 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
2489         fix link to source code in help window
2490         * lisp/help-fns.el (find-lisp-object-file-name): remove code that
2491         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
2492         'No longer include timestamp in header of .elc files'. Add code
2493         that will return .el source file in load-path.
2495 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
2497         * isearch.el (isearch-search-fun-default): (Bug#21164)
2498         Respect `isearch-lax-whitespace' when searching through
2499         `isearch-word'.
2501 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
2503         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
2505         * org.el: Fix up some lexical scoping warnings, and use dolist
2506         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
2507         (org-set-regexps-and-options, org-assign-fast-keys)
2508         (org-contextualize-keys, org-contextualize-validate-key)
2509         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
2510         (org-find-olp, org-find-exact-heading-in-directory)
2511         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
2512         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
2513         (org-replace-escapes): Use dolist.
2514         (org-mode): Optimize away XEmacs-only code.
2515         (org-refile-get-targets): Remove unused var `f'.
2516         (org-fast-todo-selection): Remove unused var `e'.
2517         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
2518         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
2519         (org-format-latex): Use dolist.  Remove unused var `e'.
2520         (org-toggle-heading): Access vars lexically rather than dynamically.
2521         (org-backward-sentence, org-forward-sentence, org-meta-return)
2522         (org-kill-line): Mark arg as unused.
2523         (org-submit-bug-report): Silence compiler warning.
2524         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
2525         (org-get-cursor-date): Remove unused var `tm'.
2526         (org-comment-or-uncomment-region): Use standard name `_'.
2527         (reftex-docstruct-symbol, reftex-cite-format): Declare to
2528         silence byte-compiler.
2529         (org-reftex-citation): Add `org--' prefix to dynamically scoped
2530         `rds' var.
2532 2015-08-08  Nicolas Petton  <nicolas@petton.fr>
2534         Merge remote-tracking branch 'origin/fix/subsequence-error-with-negative-sequences'
2536 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
2538         Electric quote if coding is undecided or no conv
2539         * lisp/electric.el (electric--insertable-p): Also say that a
2540         string is insertable if the buffer file coding system is undecided
2541         or uses no conversion, as curved quotes will work in either case.
2543         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
2545 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
2547         Fix overlay string display regressions introduced in Emacs 24.5
2548         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
2549         buffer position, if we move the iterator to a new position as
2550         result of jumping over text covered by a "replacing" display
2551         property.
2552         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
2554         Support recovery from C stack overflow on MS-Windows
2555         * src/w32fns.c (w32_reset_stack_overflow_guard)
2556         (stack_overflow_handler): New functions for handling C stack
2557         overflow exceptions.
2558         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
2559         specially, and zero out except_addr if we do.
2560         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
2561         mode.
2562         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
2563         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
2564         the MinGW build, but the code guarded by that is for Posix hosts.
2565         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
2566         w32_reset_stack_overflow_guard.
2567         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
2568         (sigsetjmp): New macro.
2569         (w32_reset_stack_overflow_guard): Declare the prototype.
2570         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
2572 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
2574         Improve error signalling for seq-subseq.
2576         * lisp/seq.el (seq-subseq): The existing behaviour is to error
2577         when indexes are too large, but to silently ignore numbers which
2578         are too negative for lists.  String and vector handling errors in
2579         both cases. This has been regularlised. Error signalling behaviour
2580         has been explicitly added to the docstring.
2582         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
2583         therefore also impacted by this change. The docstring has been
2584         updated to reflect this.
2586         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
2587         added for these exceptional cases, as well as one non exceptional
2588         base case.
2590 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
2592         Improve error checking in tramp-adb.el
2593         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
2594         Improve error checking.  "ls -l" on Android in Enforcing mode can
2595         print "lstat './FILENAME failed: Permission denied".
2597 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2599         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
2600         non-struct vectors.
2602 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
2604         lisp/window.el: fix typo, more `display-buffer-use-some-frame'
2605         * lisp/window.el: fix typo that broke build
2606         (display-buffer--action-function-custom-type): add
2607         `display-buffer-use-some-frame'
2608         (display-buffer): add `display-buffer-use-some-frame' to doc string
2610         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
2611         * lisp/window.el (display-buffer-use-some-frame): Add support for
2612         'inhibit-same-window in alist.
2613         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
2614         'inhibit-same-window in alist.
2616 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
2618         Avoid infinite loop in display of invisible text in strings
2619         * src/xdisp.c (handle_invisible_prop): If the next change of
2620         invisibility spec does not mean the beginning of a visible text,
2621         update the string position from which to start the search for the
2622         next invisibility change.  This avoids an infinite loop when we
2623         have more than one invisibility spec that are made inactive by
2624         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
2625         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
2626         for the situation that caused bug #21200.
2628 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
2630         * lisp/emacs-lisp/package.el: Simplify describe-package-1
2631         (package-help-section-name-face): New face.
2632         (package--print-help-section): New function.
2633         (describe-package-1): Refactor section printing.
2634         (package-make-button): Use face instead of font-lock-face, which
2635         doesn't work on buttons.
2637         * lisp/emacs-lisp/package.el: Define custom faces
2638         (package-name-face, package-description-face)
2639         (package-status-built-in-face, package-status-external-face)
2640         (package-status-available-face, package-status-new-face)
2641         (package-status-held-face, package-status-disabled-face)
2642         (package-status-installed-face, package-status-dependency-face)
2643         (package-status-unsigned-face, package-status-incompat-face)
2644         (package-status-avail-obso-face): New faces.
2645         (package-menu--print-info-simple): Use them.
2647 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
2649         Fix some confusion with ‘format’
2650         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
2651         (allout-graphics-modification-handler):
2652         Protect arbitrary string in a format context with "%s" format.
2653         * lisp/avoid.el:
2654         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
2655         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
2656         * lisp/erc/erc-button.el (erc-button-beats-to-time):
2657         * lisp/gnus/message.el (message-send-form-letter):
2658         * lisp/org/ob-core.el (org-babel-check-evaluate)
2659         (org-babel-confirm-evaluate):
2660         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
2661         * lisp/org/ox-latex.el (org-latex-compile):
2662         * lisp/org/ox-man.el (org-man-compile):
2663         * lisp/org/ox-odt.el (org-odt-template):
2664         * lisp/org/ox-texinfo.el (org-texinfo-compile):
2665         * lisp/progmodes/prolog.el (prolog-help-info)
2666         (prolog-view-predspec):
2667         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
2668         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
2669         * lisp/textmodes/rst.el (rst-replace-lines):
2670         Change (message (format ...)) to (message ...), and likewise
2671         for ‘error’.  This lessens the probability of confusion when the
2672         output of ‘format’ contains ‘%’.
2674 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
2676         * lisp/replace.el (replace-character-fold): Default to nil
2678         * lisp/character-fold.el: Fix lax whitespace
2679         (character-fold-table): Don't make space match other whitespace chars.
2680         (character-fold-to-regexp): Simplify lax behaviour.
2682 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
2684         Preserve window point in xref-find-definitions-other-window
2685         Fix the problem reported by Ingo Logmar in
2686         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
2687         * lisp/progmodes/xref.el (xref--goto-char): Extract from
2688         xref--goto-location.
2689         (xref--pop-to-location): Use it. Replace xref--goto-location with
2690         a direct xref-location-marker call.
2691         (xref--show-location): Likewise.
2692         (xref--display-position): Use xref--goto-char.
2694         * lisp/progmodes/project.el: Add a paragraph to the front matter.
2696 2015-08-04  David Kastrup  <dak@gnu.org>
2698         Do not overwrite preexisting contents of unread-command-events
2699         * lisp/vc/emerge.el (emerge-show-file-name):
2700         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
2701         (vhdl-comment-insert, vhdl-hooked-abbrev):
2702         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
2703         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
2704         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
2705         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
2706         * lisp/obsolete/vip.el (vip-escape-to-emacs)
2707         (vip-prefix-arg-value, vip-prefix-arg-com):
2708         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
2709         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
2710         (quail-tibkey-update-translation):
2711         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
2712         * lisp/leim/quail/lao.el (quail-lao-update-translation):
2713         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
2714         (quail-japanese-self-insert-and-switch-to-alpha):
2715         * lisp/leim/quail/hangul.el (hangul2-input-method)
2716         (hangul3-input-method, hangul390-input-method):
2717         * lisp/language/hanja-util.el (hangul-to-hanja-char):
2718         * lisp/international/robin.el (robin-input-method):
2719         * lisp/international/quail.el (quail-start-translation)
2720         (quail-start-conversion):
2721         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
2722         (gnus-article-describe-key-briefly):
2723         * lisp/eshell/em-hist.el (eshell-list-history):
2724         * lisp/term.el (term-dynamic-list-input-ring)
2725         (term-dynamic-list-completions):
2726         * lisp/subr.el (momentary-string-display):
2727         * lisp/simple.el (read-quoted-char):
2728         * lisp/pcomplete.el (pcomplete-show-completions):
2729         * lisp/kmacro.el (kmacro-repeat-on-last-key):
2730         * lisp/info.el (Info-summary):
2731         * lisp/ehelp.el (electric-help-command-loop):
2732         * lisp/ebuff-menu.el (electric-buffer-list)
2733         (Electric-buffer-menu-exit):
2734         * lisp/double.el (double-translate-key):
2735         * lisp/comint.el (comint-dynamic-list-input-ring)
2736         (comint-dynamic-list-completions): Do not overwrite preexisting
2737         contents of `unread-command-events' when putting new events into
2738         it.
2740 2015-08-04  Daniel Colascione  <dancol@dancol.org>
2742         Improve ansi-color filtering of unrecognized escape sequences
2743         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
2744         escape sequences.
2745         (ansi-color-filter-apply): Filter out unrecognized escape sequences
2746         (ansi-color-apply): Filter out unrecognized escape sequences
2748 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
2750         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
2751         definitions to `easy-menu-define', improve a couple to account for
2752         async, and add a couple of new commands.
2754 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
2756         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
2758 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
2760         Add new 'calendar-weekend-days' option
2761         Make the days receiving the 'calendar-weekend-header' face freely
2762         customizable, as they differ by region/culture.
2763         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
2764         new variable.
2765         * lisp/calendar/calendar.el (calendar-generate-month): New variable
2766         calendar-weekend-days to customize day header fontification.
2768 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
2770         Redo text-quoting-style variable
2771         Rename help-quote-translation to text-quoting-style,
2772         and use symbols rather than characters as values.
2773         This follows suggestions along these lines by Alan Mackenzie in:
2774         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
2775         and by Drew Adams in:
2776         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
2777         * doc/lispref/help.texi (Keys in Documentation)
2778         * etc/NEWS:
2779         * lisp/cus-start.el (standard):
2780         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
2781         Document and/or implement the new behavior instead of the old.
2782         (syms_of_doc): New symbols 'grave' and 'straight'.
2784 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
2786         nnimap.el: Use IMAP MOVE extension if available
2787         * lisp/gnus/nnimap.el (nnimap-request-move-article)
2788         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
2789         Use MOVE extension if available.
2791         nnimap.el: Explicitly ask for server capabilities
2792         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
2793         capabilities will be returned in the login-result.
2795 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2797         Treat help strings like other doc strings
2798         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
2799         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
2800         substitute-command-keys.
2801         * src/keyboard.c (show_help_echo, parse_menu_item): Call
2802         substitute-command-keys on the help string before displaying it.
2804         Also mention "curly quotes"
2805         See Drew Adams's email in:
2806         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
2807         * doc/lispref/help.texi (Keys in Documentation):
2808         Add index entry "curly quotes".
2809         * etc/NEWS: Use the phrase "curly quotes" too.
2811         ede-proj-target-makefile docstring tweaks
2812         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
2813         Consistently use "all:" to describe the all: target,
2814         replacing three different and confusingly-quoted usages.
2816 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
2818         Whitespace fixes
2820 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
2822         Don't abort emacsclientw when -a was specified
2823         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
2824         out if we are in emacsclientw and -a was specified.
2826 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
2828         Fix handling of 1st keystroke on MS-Windows
2829         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
2830         This is needed to correctly handle the session's first keystroke,
2831         if it has any modifiers.  (Bug#19994)
2833 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2835         Substitute some customization etc. doc strings
2836         These changes apply substitute-command-keys to some
2837         doc strings that were going through untranslated
2838         when creating customization or other widgets.
2839         * lisp/cus-edit.el (custom-group-value-create):
2840         * lisp/wid-edit.el (widget-default-create):
2841         (widget-push-button-value-create):
2842         Treat the widget tag as a doc string.
2843         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
2844         Treat the :documentation value as a doc string.
2845         * lisp/wid-edit.el (widget-choose):
2846         Treat the choice names as doc strings.
2847         (widget-default-create): Treat the :doc value as a doc string.
2848         (widget-toggle-value-create): Treat the :on and :off values
2849         as doc strings.
2850         (widget-documentation-string-value-create):
2851         Substitute the doc string.
2853 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
2855         Add a second argument to project-ignores
2856         * lisp/progmodes/project.el (project-ignores): Add a second
2857         argument DIR.
2858         * lisp/progmodes/project.el (project-ignores): Only include the VC
2859         ignores if DIR is the VC root.
2860         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
2862 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
2864         Prevent incorrect display when 'line-spacing' variable is set
2865         * src/xdisp.c (try_window_id): Give up this optimization if the
2866         buffer has its 'line-spacing' variable set non-nil.
2868 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
2870         Don't pass NOVISIT to find-file
2871         * lisp/progmodes/etags.el (next-file):
2872         Don't pass NOVISIT to find-file (bug#21175).
2874         Ignore buffer restriction for tags-loop-eval
2875         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
2876         restriction (bug#21167).
2878 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
2880         Fix a thinko in 'ffap-gopher-at-point'
2881         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
2883         Honor 'line-spacing' for empty lines
2884         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
2885         property and 'line-spacing' frame parameter or variable or
2886         property for empty lines, by doing the same processing as in
2887         x_produce_glyph for newline characters.  (Bug#21165)
2889 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2891         Simplify by assuming C99 integer division
2892         * src/floatfns.c (ceiling2, floor2, truncate2):
2893         Assume C99 (i.e., Fortran) semantics for integer division.
2894         This simplifies the code.
2896 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
2898         Don't overflow if computing approximate percentage
2899         * lisp/align.el (align-region):
2900         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
2901         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
2902         * lisp/cus-edit.el (custom-buffer-create-internal):
2903         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
2904         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
2905         (checkdoc-next-message-error):
2906         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
2907         * lisp/epa.el (epa-progress-callback-function):
2908         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
2909         * lisp/ffap.el (ffap-menu-rescan):
2910         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
2911         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
2912         * lisp/gnus/nneething.el (nneething-retrieve-headers):
2913         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
2914         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
2915         * lisp/gnus/nnml.el (nnml-retrieve-headers):
2916         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
2917         * lisp/gnus/nntp.el (nntp-retrieve-headers)
2918         (nntp-retrieve-articles):
2919         * lisp/imenu.el (imenu--relative-position):
2920         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
2921         (skkdic-convert-okuri-nasi):
2922         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
2923         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
2924         * lisp/org/org-list.el (org-update-checkbox-count):
2925         * lisp/org/org.el (org-table-map-tables)
2926         (org-update-parent-todo-statistics):
2927         * lisp/play/decipher.el (decipher-insert-frequency-counts)
2928         (decipher-analyze-buffer):
2929         * lisp/profiler.el (profiler-format-percent):
2930         * lisp/progmodes/cc-cmds.el (c-progress-update):
2931         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
2932         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
2933         (idlwave-list-load-path-shadows):
2934         * lisp/progmodes/opascal.el (opascal-step-progress):
2935         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
2936         (vhdl-scan-directory-contents):
2937         * lisp/textmodes/bibtex.el (bibtex-progress-message):
2938         * lisp/textmodes/flyspell.el (flyspell-small-region)
2939         (flyspell-external-point-words):
2940         * lisp/textmodes/table.el (table-recognize):
2941         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
2942         progress-report percentages and the like.  This avoids problems
2943         if (* 100 NUMERATOR) would overflow.
2944         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
2945         * lisp/gnus/registry.el (registry-reindex):
2946         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
2947         * lisp/descr-text.el (describe-char):
2948         * lisp/org/org-colview.el (org-nofm-to-completion):
2949         * lisp/ps-print.el (ps-plot):
2950         * lisp/simple.el (what-cursor-position):
2951         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
2952         more-complicated and less-accurate approximation.
2954         Fix some int overflows in profiler.c
2955         * src/profiler.c (make_log): Make args EMACS_INT, not int,
2956         to avoid unwanted behavior on 'int' overflow.
2957         (make_log, evict_lower_half, record_backtrace):
2958         Use ptrdiff_t, not int, for object indexes.
2960         Port to pedantic memcpy
2961         * src/keyboard.c (menu_bar_items, tool_bar_items):
2962         * src/xrdb.c (magic_db):
2963         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
2965         Merge from gnulib
2966         This incorporates:
2967         2015-07-29 time_rz: port to pedantic memcpy
2968         * lib/time_rz.c: Copy from gnulib.
2970 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
2972         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
2973         When updating the very last entry, tabulated-list-print would
2974         erase it and then try to look at the next one (which obviously
2975         isn't there).
2977 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
2979         Allow to use the old key processing code on MS-Windows
2980         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
2981         New variable.
2982         (w32_wnd_proc): Use it to invoke the old code that processed
2983         character keys, as fallback, when this variable is non-nil.  Fix
2984         typos in comments.  (Bug#19994)
2986 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
2988         Improve handling of Unicode keyboard input on MS-Windows
2989         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
2990         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
2991         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
2992         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
2993         successful, don't call TranslateMessage.  (Bug#19994)
2995 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
2997         Fix default-directory in changeset diffs after vc-print-log
2998         * lisp/vc/log-view.el (log-view-diff-common): Move the
2999         revision-granularity check back into log-view-diff-changeset.
3000         (log-view-diff-changeset): Bind default-directory to the current
3001         VC root.
3003         Rename project-directories to project-roots
3004         * lisp/progmodes/project.el (project-search-path-function)
3005         (project-search-path): Update the docstring.
3006         (project-directories): Rename to `project-roots', update all
3007         callers and implementations accordingly.
3008         (project-root): Remove.
3009         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
3010         as the default file mask.
3012 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
3014         Support long URLs in w32-shell-execute
3015         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
3016         and filename_to_ansi to convert the DOCUMENT argument, as it could
3017         be a URL that is not limited to MAX_PATH characters.  Instead, use
3018         MultiByteToWideChar directly, and allocate heap storage as
3019         required to accommodate the converted string.  Likewise with
3020         non-Unicode operation.  Ensure OPERATION is null-terminated, even
3021         if it is longer than 32K bytes.  (Bug#21158)
3023 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
3025         vc-mtn-find-revision handle null rev.
3026         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
3028 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
3030         Add docs for display-buffer action display-buffer-use-some-frame
3031         * lisp/window.el (display-buffer-use-some-frame): improve doc string
3032         * doc/lispref/windows.texi (Display Action Functions): add
3033           display-buffer-use-some-frame
3034         * etc/NEWS: mention display-buffer-use-some-frame
3036         Add display-buffer action display-buffer-use-some-frame
3037         * lisp/window.el (display-buffer-use-some-frame): new
3039         Handle vc-mtn error more gently
3040         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
3042 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
3044         Fix Tramp problems with multihops, and nc.
3045         * lisp/net/tramp-cache.el (tramp-get-file-property)
3046         (tramp-set-file-property, tramp-flush-file-property)
3047         (tramp-get-connection-property, tramp-set-connection-property)
3048         (tramp-flush-connection-property): Remove hop from vector.
3049         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
3050         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
3051         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
3052         netstat to 60".
3053         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
3054         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
3055         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
3056         Keep hop in result.
3057         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
3058         Add hop tests.
3060 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
3062         Resurrect highlighting of repeated words by Flyspell Mode
3063         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
3064         characters between point and the doublon candidate, so that
3065         flyspell-word-search-backward finds it.  (Bug#21157)
3067         Fix redisplay of large images on expose events
3068         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
3069         between signed negative values and unsigned values.  This
3070         prevented redisplay on expose events when the window showed a very
3071         large image.
3073 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
3075         Remove unnecessary stack overflow dependency
3076         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
3077         Don't worry about $ac_cv_header_sys_resource_h and
3078         $ac_cv_func_getrlimit, as they're no longer needed for this.
3079         Problem reported by Eli Zaretskii in:
3080         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
3082 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
3084         Pacify compilation -Wincompatible-pointer-types warnings
3085         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
3086         warning.
3087         (CompareStringW_Proc): New typedef.
3088         (w32_compare_strings): Use it, to pacify compiler warnings under
3089         "-Wincompatible-pointer-types".
3090         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
3091         (GetDiskFreeSpaceExA_Proc): New typedefs.
3092         (Ffile_system_info): Use them, to pacify compiler warnings under
3093         "-Wincompatible-pointer-types".
3095 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
3097         Fix subscript error in calculate_direct_scrolling
3098         Use slightly-longer cost vectors.  Without this change,
3099         calculate_direct_scrolling can have a subscript violation when
3100         FRAME_LINES (frame) <= delta.
3101         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
3102         (line_ins_del, do_line_insertion_deletion_costs):
3103         Allocate and use slightly-larger cost vectors, ones based on
3104         FRAME_TOTAL_LINES instead of FRAME_LINES.
3106         Fix uninitalized value in encode_coding_object
3107         * src/coding.c (encode_coding_object): Also initialize
3108         coding->src_pos and coding->src_pos_byte when NILP (src_object).
3109         This avoids later use of uninitialized storage.
3111 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
3113         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
3115 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
3117         Merge from gnulib
3118         This incorporates:
3119         2015-07-27 time_rz: port better to MinGW
3120         2015-07-27 time: port __need_time_t to MinGW
3121         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
3122         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
3123         * lib/time-internal.h: New file, from gnulib.
3125 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
3127         Handle NULL pointers in w32heap.c allocation routines
3128         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
3129         freeable".
3130         (realloc_after_dump, realloc_before_dump, free_before_dump):
3131         Handle NULL pointers gracefully, as Emacs now seems to expect
3132         that.
3134         Fix Cairo build without PNG
3135         * src/image.c: Define PNG function when USE_CAIRO is defined, even
3136         if HAVE_PNG is not.  (Bug#21133)
3138         MS-Windows follow-up for recent TZ-related changes
3139         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
3140         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
3141         picking up 'struct timespec' from pthread.h, if it is installed on
3142         the user's system.  We want either the definitions from MinGW
3143         system headers, if available, or the Gnulib replacements if not.
3144         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
3145         lib/time.h.
3146         * lib/time.in.h: Don't let __need_* symbols affect what happens on
3147         MinGW.  These symbols are defined by MinGW system headers, but we
3148         don't want that to affect whether Gnulib portions of the header
3149         are or aren't used.
3151 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
3153         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
3155         New optional ZONE arg for format-time-string etc.
3156         This simplifies time conversions in other time zones.
3157         It also prevents display-time-world tampering with TZ (Bug#21020).
3158         * admin/admin.el (add-release-logs):
3159         Use improved add-log-time-format API.
3160         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
3161         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
3162         * configure.ac (tzalloc): Remove test for this, since
3163         Emacs no longer uses HAVE_TZALLOC directly.
3164         * doc/lispref/os.texi (Time of Day, Time Conversion)
3165         (Time Parsing):
3166         * etc/NEWS: Document the new behavior.
3167         Merge from gnulib, incorporating:
3168         2015-07-25 strftime: fix newly-introduced bug on Solaris
3169         2015-07-23 fprintftime, strftime: use timezone_t args
3170         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
3171         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
3172         * m4/time_h.m4:
3173         Update from gnulib.
3174         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
3175         New files from gnulib.
3176         * lisp/time-stamp.el (time-stamp-string):
3177         * lisp/time.el (display-time-world-list)
3178         (display-time-world-display):
3179         Use new API, with time zone arg.
3180         * lisp/time.el (display-time-world-display):
3181         Fix race when current-time advances while we're running.
3182         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
3183         (add-log-iso8601-time-string): Accept optional time zone arg.
3184         * lisp/vc/add-log.el (add-change-log-entry):
3185         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
3186         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
3187         Add rules for the time module, since they're now needed
3188         for tzalloc etc.
3189         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
3190         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
3191         * src/editfns.c: Include errno.h.
3192         (set_time_zone_rule): Omit unnecessary forward decl.
3193         (initial_tz): Remove, replacing with ...
3194         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
3195         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
3196         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
3197         (tzlookup): New static functions.
3198         (init_editfns): New arg DUMPING.  All uses changed.
3199         (init_editfns): Omit most initialization if dumping, not if
3200         !initialized.  Initialize wall_clock_tz and local_tz.
3201         (emacs_nmemftime, format_time_string): Time zone argument can now
3202         be any time zone, not just a boolean for UTC or local time.  All
3203         callers changed.
3204         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
3205         (Fcurrent_time_zone): New optional arg ZONE.
3206         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
3207         the same form as with the other new additions.
3208         (decode_time_zone): Remove; no longer needed.
3209         (tzvalbuf): Now file-scope.
3210         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
3211         (syms_of_editfns): Define Qwall.
3212         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
3213         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
3214         [!HAVE_TZALLOC]:
3215         Remove; now supplied by gnulib.
3216         * src/emacs.c (main):
3217         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
3219 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
3221         Fix infinite loop in delete-consecutive-dups
3222         * lisp/subr.el (delete-consecutive-dups): Work even if the last
3223         element is nil (Bug#20588).  Avoid rescan of a circular list in
3224         deletion of last element.
3226 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
3228         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
3229         * src/nsfns.m (Fx_frame_geometry):
3230         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
3231         terminal frames.
3232         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
3233         (Fx_frame_geometry): Return nil for terminal frames
3235 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
3237         * etc/tutorials/TUTORIAL.ja: Improve translation.
3239 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
3241         Avoid crashes when w32 GUI functions are called in -batch
3242         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
3243         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
3244         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
3246         Fix flyspell-check-previous-highlighted-word
3247         * lisp/textmodes/flyspell.el
3248         (flyspell-check-previous-highlighted-word): Really accept a
3249         numeric argument, as the doc string describes.  Fix an off-by-one
3250         error in looking up overlays, so invocation with point immediately
3251         after a word would check that word.  Clarify the doc string as
3252         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
3254 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
3256         Minor cleanup in tramp-tests.el
3257         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
3258         Implement using the documented interface
3259         `tramp-connection-properties', rather than with internal functions.
3261 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
3263         Pass lambdas to `skeleton-read'
3264         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
3265         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
3266         lambdas to `skeleton-read' (bug#20386).
3268 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
3270         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
3272         Don't require GUI frames and mouse for Flyspell menus
3273         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
3274         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
3275         support, since pop-up menus work with text terminals and can be
3276         controlled via the keyboard.
3278         Improve documentation of Flyspell commands
3279         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
3280         can be invoked via the keyboard.  Mention those commands by name
3281         and add them to the fn index.  (Bug#21125)
3283 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
3285         Fix some Tramp problems with HP-UX
3286         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3287         Add "tab0" to stty call.
3288         * test/automated/tramp-tests.el (tramp-persistency-file-name):
3289         Set to nil.
3290         (tramp--test-hpux-p): New defun.
3291         (tramp--test-utf8): Use it.
3293 2015-07-22  Glenn Morris  <rgm@gnu.org>
3295         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
3297 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
3299         Fix point positioning in ffap-next-guess
3300         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
3301         as our callers expect.  This was clobbered as part of fixing
3302         bug#5673.  (Bug#21107)
3303         (ffap-gopher-at-point): Set ffap-string-at-point-region.
3305 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
3307         Fix customization type of `even-window-sizes'.
3308         * lisp/window.el (even-window-sizes): Fix customization type.
3310         Optionally even widths of `display-buffer' windows.  (Bug#21100)
3311         * lisp/window.el (quit-restore-window): Restore width if
3312         requested.
3313         (display-buffer-record-window): Record width when window is
3314         reused and horizontally combined.
3315         (even-window-sizes): New option to allow evening window widths.
3316         (even-window-heights): Defalias to `even-window-sizes'.
3317         (window--even-window-heights): Rename to
3318         `window--even-window-sizes'.  Handle side-by-side windows.
3319         (display-buffer-use-some-window): Call `window--even-window-sizes'
3320         instead of `window--even-window-heights'.
3321         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
3322         * doc/lispref/windows.texi (Choosing Window Options): Describe
3323         `even-window-sizes'.
3324         (Coordinates and Windows): Fix typo.
3326 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
3328         add file name to autoload error messages.
3329         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
3330           to add file name to error message.
3332 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
3334         Use 0.0.0.1 as test host in Tramp
3335         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
3336         Use 0.0.0.1 as test host.
3338 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3340         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
3341         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
3342         Fix inf-loop (bug#21083).
3344 2015-07-21  Glenn Morris  <rgm@gnu.org>
3346         * test/automated/package-test.el (package-test-signed):
3347         Update for recent changes.
3349         * test/automated/elisp-mode-tests.el
3350         (elisp-xref-finds-both-function-and-variable)
3351         (elisp-xref-finds-only-function-for-minor-mode):
3352         Update for recent xref name changes.
3354 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
3356         Make eldoc timer non-repeatable
3357         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
3358         non-repeatable.  Since it's on post-command hook, that just wasted
3359         CPU cycles.
3361 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
3363         Mention `tramp-connection-properties' in NEWS
3365         Sync with Tramp repository
3366         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
3367         required prior changing its configuration.
3368         (Connection caching, Predefined connection information)
3369         (Remote shell setup): Fix typos.
3370         (Predefined connection information): Describe, how to overwrite
3371         parameters of `tramp-methods'.
3372         (Remote programs, Remote processes, Traces and Profiles):
3373         Simplify example.
3374         (Remote programs): Remove superfluous comment.
3375         * doc/misc/trampver.texi: Update release number.
3376         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
3377         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
3378         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
3379         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
3380         "gvfs-mkdir -p ..." does not work robust.
3381         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
3382         * lisp/net/tramp-sh.el (tramp-methods):
3383         Add `tramp-remote-shell-login' parameter where it fits.
3384         (tramp-get-remote-path): Use it.
3385         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
3386         (all): Adapt `tramp-get-method-parameter' calls.
3387         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
3388         (tramp-get-method-parameter): Replace argument METHOD by VEC.
3389         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
3390         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
3391         (all): Adapt `tramp-get-method-parameter' calls.
3392         * lisp/net/trampver.el Update release number.
3393         * test/automated/tramp-tests.el (tramp--instrument-test-case):
3394         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
3395         (tramp-test13-make-directory, tramp--test-adb-p)
3396         (tramp--test-smb-or-windows-nt-p): Simplify.
3397         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
3398         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
3399         (tramp--test-utf8): Fix docstring.
3401 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
3403         Add new xref-query-replace command
3404         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
3405         function, extracted from xref-pulse-momentarily.
3406         (xref-query-replace): New command.
3407         (xref--query-replace-1): New helper function.
3408         (xref--xref-buffer-mode-map): Add `r' binding.
3410 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3412         Simplify icalendar decoding of Z dates
3413         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
3414         Simplify calculation of time strings with trailing "Z".
3416 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
3418         Do not corrupt grep-find-ignored-files
3419         * lisp/progmodes/project.el (project-ignores): Change the order of
3420         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
3422         Add xref-match-item, and use it
3423         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
3424         (xref-file-location): Add reader for the column slot.
3425         (xref-match-item): New class.
3426         (xref-match-bounds): A method implementation for it.
3427         (xref-make-match): New constructor function.
3428         (xref--current-item): New private variable.
3429         (xref-pulse-momentarily): Use it.
3430         (xref--pop-to-location): Change the first argument to an xref
3431         item, instead of location, bind xref--current-item.
3432         Update all callers.
3433         (xref-next-line, xref-prev-line, xref--next-error-function)
3434         (xref--mouse-2): Look for the property `xref-item',
3435         instead of `xref-location'.
3436         (xref--item-at-point): Likewise.  This function replaces
3437         `xref-location-at-point'.  Update all callers.
3438         (xref--insert-xrefs): Add the `xref-item' text property, instead
3439         of `xref-location'.
3440         (xref--collect-match): Use xref-make-match.
3442         Rename xref--xref to xref-item
3443         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
3444         Update all references.
3446         Rename xref description slot to summary
3447         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
3448         slot to `summary'.
3450         vc-hg: Perform the print-log call asynchronously
3451         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
3452         asynchronously (bug#21067).
3454         Add xref-after-jump-hook and xref-after-return-hook
3455         * lisp/progmodes/xref.el (xref-after-jump-hook)
3456         (xref-after-return-hook): New hooks.
3457         (xref-pulse-on-jump): Remove, in favor of the above.
3458         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
3459         (xref--pop-to-location, xref--display-position)
3460         (xref-pop-marker-stack): Use the new hooks, as requested in
3461         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
3463 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
3465         Correct js-mode's lighter
3466         * lisp/progmodes/js.el (js-mode): Correct the lighter.
3468 2015-07-19  Leo Liu  <sdl.web@gmail.com>
3470         Fix a bug in cfengine3-mode
3471         * progmodes/cfengine.el (cfengine3-mode): Handle nil
3472           eldoc-documentation-function.
3474 2015-07-18  Julien Danjou  <julien@danjou.info>
3476         sieve-mode: support "body" test command
3477         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
3478         Add missing "body" test command.
3480 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
3482         Fix info-apropos when the default encoding is Latin-N
3483         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
3484         'undecided', so that it is set to the encoding of the Info file we
3485         are about to insert.  Otherwise, 'info-apropos' will fail to find
3486         some index nodes in some UTF-8 encoded files, if the buffer's
3487         previous encoding is Latin-N or some such.
3489 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
3491         * epg.el (epg--start): Check that gpgconf can be found before calling it.
3493         Expose more file types to OS X that Emacs understands.
3494         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
3495         json, and org files.  Export UTIs for el, elc, and org files.
3497 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
3499         Fix visual-order cursor movement when lines are truncated
3500         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
3501         simulate display in a window of infinite width, to allow move_it_*
3502         functions reach positions outside of normal window dimensions.
3503         Remove code that tried to handle a subset of these situations by
3504         manual iteration of buffer text.  (Bug#17777)
3506         Fix following Info cross-references to anchors
3507         * lisp/info.el (Info-read-subfile): Add to the returned value the
3508         length of subfile preamble, after converting it to file's byte
3509         offset, as expected by the caller.  Use bufferpos-to-filepos.
3510         (Info-find-node-2): If searching for a node with a
3511         1000-character slop fails, try again with a 10000-character slop,
3512         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
3513         * lisp/international/mule-util.el (bufferpos-to-filepos): New
3514         function.
3515         * etc/NEWS: Mention bufferpos-to-filepos.
3517         Fix scrolling backwards on TTY frames under scroll-conservatively
3518         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
3519         in moving backwards on TTY frames.  (Bug#21080)
3521 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
3523         Consider a jsdoc tag to be a beginning of a paragraph as well
3524         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
3525         consider a jsdoc tag to be a beginning of a paragraph as well.
3527 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
3529         * lisp/emacs-lisp/package.el: Fix warnings
3531         * lisp/emacs-lisp/package.el (package-buffer-info):
3532         Add author and maintainers to `package-buffer-info'.
3534         * lisp/emacs-lisp/package.el: Many small changes
3535         Replace all instances of 'face with 'font-lock-face.
3536         (describe-package-1): Improve some strings and move the summary up the
3537         list.
3538         (package-install-file): Update docstring.
3539         (package-menu-hide-package): Bind to `H'.
3541         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
3542         Fix error handling.
3544 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
3546         Fix hang with large yanks This should fix the bug fixed by Mike
3547         Crowe's patch in:
3548         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
3549         A problem in this area has been reported by several users; see
3550         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
3551         This fix differs from Mike Crowe's patch in that it should avoid a
3552         race condition that could lose SIGIO signals.  ignore_sigio dates
3553         back to the 1980s when some platforms couldn't block signals, and
3554         could only ignore them, which led to races when signals arrived
3555         while being ignored.  We shouldn't have to worry about those old
3556         platforms now.
3557         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
3558         * src/emacs.c (shut_down_emacs):
3559         Don't call ignore_sigio; unrequest_sigio should suffice.
3560         * src/keyboard.c (kbd_buffer_store_buffered_event):
3561         Use unrequest_sigio, not ignore_sigio.
3562         (kbd_buffer_get_event):
3563         Call request_sigio when getting the ball rolling again.
3565 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
3567         * lisp/obsolete/longlines.el (longlines-search-function):
3568         Fallback on `isearch-search-fun-default'.
3570 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
3572         Support @-mentions
3573         * rcirc.el (rcirc-completion-at-point): Support completion of
3574         mentions/messages with @nick instead of just nick.
3576 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
3578         Fix Bug#20943.
3579         * lisp/autorevert.el (auto-revert-handler): Do not check for
3580         `buffer-modified-p'.
3581         * lisp/files.el (buffer-stale--default-function): Check for
3582         `buffer-modified-p'.
3583         * test/automated/auto-revert-tests.el
3584         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
3586 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
3588         Fix delete-dups bug on long lists
3589         * lisp/subr.el (delete-dups):
3590         Don't mistakenly keep some dups when applied to long lists.
3592 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
3594         Better heuristic for C stack overflow
3595         Improve the heuristic for distinguishing stack overflows from
3596         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
3597         the getrlimit method wasn't portable to Cygwin; see:
3598         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
3599         Corinna suggested pthread_getattr_np but this also has problems.
3600         Instead, replace the low-level system stuff with a simple
3601         heuristic based on known good stack addresses.
3602         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
3603         * src/sysdep.c: Don't include <sys/resource.h>.
3604         (stack_direction): Remove.  All uses removed.
3605         (stack_overflow): New function.
3606         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
3607         Make SEGV fatal in non-main threads.
3609 2015-07-16  Daiki Ueno  <ueno@gnu.org>
3611         epg: Automatically start pinentry server
3612         * epg-config.el (epg-gpgconf-program): New variable.
3613         * epg.el (epg--start): Call `pinentry-start' if
3614         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
3616 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
3618         * lisp/gnus/nnimap.el: Fix my last bogus change
3619         Reinstall Stefan Monnier's change that was made in
3620         <83d824bc4041332f338ad7e5e830f443535aa300>.
3622 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
3624         Merge from gnulib
3625         This incorporates:
3626         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
3627         2015-07-05 acl-permissions: Fix on FreeBSD
3628         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
3629         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
3630         * lib/set-permissions.c: Copy from gnulib.
3632         Port to stricter C99
3633         * src/keyboard.h (kbd_buffer_store_event_hold):
3634         Don't return a void expression.
3636 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
3638         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
3640 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
3642         New autorevert tests.
3643         * test/automated/auto-revert-tests.el: New file.
3645 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
3647         Clear gcprolist etc. after stack overflow
3648         After stack overflow, command_loop calls init_eval, and this needs to
3649         clear gcprolist and byte_stack_list (Bug#20996).
3650         * src/alloc.c (init_alloc):
3651         Move gcprolist and byte_stack_list initialization from here ...
3652         * src/eval.c (init_eval): ... to here.
3654 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
3656         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
3658 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3660         Avoid deprecated enums in mac-ct font backend driver
3661         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
3662         (mac_ctfont_get_advance_width_for_glyph)
3663         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
3665         Cache font family in mac-ct font backend driver
3666         * src/macfont.m (macfont_family_cache): New variable.
3667         (syms_of_macfont): Initialize it.
3668         (macfont_available_families_cache): New variable.
3669         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
3670         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
3671         (macfont_handle_font_change_notification)
3672         (macfont_init_font_change_handler)
3673         (macfont_copy_available_families_cache): New functions.
3674         (macfont_create_family_with_symbol): Use font family caches.
3675         (macfont_list, macfont_list_family): Use
3676         macfont_copy_available_families_cache instead of
3677         mac_font_create_available_families.
3679 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
3681         Show the default value in the prompt
3682         * lisp/progmodes/xref.el: Add `M-?' binding for
3683         xref-find-references.  Declare functions `grep-read-files' and
3684         `grep-expand-template'.
3685         (xref--read-identifier): Show the default value in the prompt.
3687         When called with prefix argument, ask for file patterns to search as well
3688         * lisp/progmodes/xref.el (xref-find-regexp): When called with
3689         prefix argument, ask for file patterns to search as well.  When
3690         prompting for the directory, require an existing one.
3691         (xref-collect-matches): Add a new argument, FILES.  Use it in the
3692         above function.
3694         Add `project-ignores'
3695         * lisp/progmodes/project.el (project-ignores): New generic
3696         function, and an implementation for the VC project type.
3697         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
3698         variant of rgrep-default-command that handles a generic list of
3699         ignores.
3700         (xref-collect-matches): Use it, and pass through to it the value
3701         of the newly added argument.
3702         (xref-find-regexp): Handle ignored paths within the project.
3703         Remove outdated comment.
3704         * lisp/vc/vc.el (vc-default-ignore-completion-table):
3705         Skip the comments and the empty lines.
3707 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
3709         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
3711 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
3713         gnus-registry.el: Correct function argument order
3714         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
3715         Reverse the order of function arguments.
3717 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
3719         Bind grep-highlight-matches to nil
3720         * lisp/progmodes/xref.el (xref-collect-matches):
3721         Bind grep-highlight-matches to nil (bug#20728).
3723 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
3725         nnimap.el: Fix IMAP message size parsing
3726         * lisp/gnus/nnimap.el (nnimap-transform-headers):
3727         Don't assume that UID comes before RFC822.SIZE.
3729 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3731         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
3732         (auth-source-creation-prompts): Declare.
3733         (nnimap-retrieve-headers, nnimap-status-message)
3734         (nnimap-request-create-group, nnimap-request-delete-group)
3735         (nnimap-close-group, nnimap-request-move-article)
3736         (nnimap-request-accept-article, nnimap-request-newgroups)
3737         (nnimap-request-post, nnimap-dummy-active-number)
3738         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
3739         (nnimap-parse-flags): Remove unused var `p'.
3740         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
3741         (nnimap-flags-to-marks): Remove unused var `totalp'.
3743 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
3745         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
3747 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3749         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
3751 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
3753         Don't check the exit status, it can be misleading
3754         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
3755         exit status, it can be misleading.
3757         Introduce a Project API
3758         * lisp/progmodes/project.el: New file.
3759         * lisp/cedet/ede.el: (project-try-ede): New function.
3760         (project-root): New implementation.
3761         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3762         Set project-search-path-function.
3763         (elisp--xref-find-references): Delegate some logic to
3764         project-search-path.
3765         (elisp-search-path): New function.
3766         (elisp-xref-find): Don't implement `matches' anymore.
3767         * lisp/progmodes/etags.el: Don't implement `matches'.
3768         Delegate some logic to project-search-path.
3769         (etags-search-path): New function.
3770         * lisp/progmodes/xref.el (xref-find-function):
3771         Remove `matches' from the API.
3772         (xref-find-regexp): Move whatever common logic was in elisp and
3773         etags implementations, and search the directories returned by
3774         project-directories and project-search-path.
3776 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
3778         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
3780         Add support for gv.el in map.el
3781         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
3782         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
3783         * test/automated/map-tests.el: Update tests to work with the new
3784         implementations of map-elt and map-put.
3786 2015-07-09  Glenn Morris  <rgm@gnu.org>
3788         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
3790 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
3792         Syntax-propertize until the end of the line first
3793         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
3794         until the end of the line first.
3796 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
3798         * doc/emacs/files.texi (File Archives): Add a cross reference.
3800 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
3802         nnimap.el: Handle plain value for nnimap-stream
3803         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
3804         capabilities, so that a 'plain value for the `nnimap-stream' server
3805         variable is handled correctly.
3806         * doc/misc/gnus.texi (Customizing the IMAP Connection):
3807         Document the 'plain option.
3809 2015-07-08  Leo Liu  <sdl.web@gmail.com>
3811         Fix bug in thing-at-point--bounds-of-well-formed-url
3812         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
3813           sure boundary contains current point.
3815 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
3817         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
3819         Declare whitespace-line-column a safe file-local
3820         * lisp/whitespace.el (whitespace-line-column): Declare to be a
3821         safe file-local when the value is an integer.
3823 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
3825         gnus-group.el: Check if group names are already strings
3826         * lisp/gnus/gnus-group.el (gnus-group-group-name):
3827         The group name may already be a string.
3828         Specifically, in the group list reached from the *Server* buffer,
3829         the 'gnus-group text property returns a string.  Everywhere else
3830         it returns a symbol.
3832         nnimap.el: Remove unused let variables
3833         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
3835 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
3837         Support "maximized" property of runemacs's shortcut
3838         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
3839         the '--maximized' switch to Emacs.
3841         Support "minimized" property of runemacs's shortcut
3842         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
3843         pass the '--iconic' switch to Emacs.  (Bug#20991)
3845 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
3847         Doc fixes
3848         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
3849         C-w' in Diff mode.
3850         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
3851         Add a cross reference.
3853 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
3855         * lisp/obsolete/landmark.el: Add Obsolete-since header
3857 2015-07-07  Glenn Morris  <rgm@gnu.org>
3859         * test/automated/ert-tests.el (ert-test-deftest):
3860         Update for recent changes.
3862 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
3864         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
3865         * lisp/emacs-lisp/gv.el (gv-setter): New function.
3866         (gv-invalid-place): New error.
3867         (gv-get): Use them.
3868         (gv-synthetic-place, gv-delay-error): New places.
3869         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
3870         (cl-defgeneric, cl-defmethod): Use gv-setter.
3872 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
3874         Make vc-tests work with MSYS svn program
3875         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
3876         svn is an MSYS program.
3878 2015-07-07  Ken Brown  <kbrown@cornell.edu>
3880         Improve recent change to emacsclient on Cygwin
3881         * lisp/server.el (server-process-filter): Remove redundant check
3882         that 'cygwin-convert-file-name-from-windows' is defined as a
3883         function on Cygwin.  Don't call that function unless its argument
3884         starts with a drive letter.
3886 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
3888         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
3889         Fix void variable due to `found-something' being in the wrong `let'.
3891 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3893         * lisp/play/landmark.el: Move to lisp/obsolete/
3895 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
3897         Have `x-show-tip' handle `right' and `bottom' frame parameters.
3898         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
3899         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
3900         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
3901         tooltips also via `right' and `bottom' frame parameters.
3903 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
3905         Add online-help support to describe types
3906         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
3907         (describe-symbol): Improve the selection of default.
3908         * lisp/help-mode.el: Require cl-lib.
3909         (describe-symbol-backends): Move from help-fns.el.
3910         (help-make-xrefs): Use it.
3911         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
3912         for types.
3913         (cl--typedef-regexp): New const.
3914         (find-function-regexp-alist): Add entry for types.
3915         (cl-help-type, cl-type-definition): New buttons.
3916         (cl-find-class): New function.
3917         (cl-describe-type): New command.
3918         (cl--describe-class, cl--describe-class-slot)
3919         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
3920         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
3921         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
3922         New functions.  Moved from eieio-opt.el.
3923         (cl--generic-class-parents): New function, extracted from
3924         cl--generic-struct-specializers.
3925         (cl--generic-struct-specializers): Use it.
3926         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
3927         Improve constructor's docstrings.
3928         (cl-struct-unknown-slot): New error.
3929         (cl-struct-slot-offset): Use it.
3930         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
3931         definition in current-load-list.
3932         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
3933         (eieio--add-new-slot): Set it.
3934         (eieio-defclass-internal): Use new name for current-load-list.
3935         (eieio-oref): Add compiler-macro to warn about unknown slots.
3936         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
3937         as compile-time as well.  Improve constructor docstrings.
3938         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
3939         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
3940         (eieio-class-def): Remove button.
3941         (eieio-help-constructor): Use new name for load-history element.
3942         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
3943         (eieio-method-documentation): Move to cl-generic.el.
3944         (eieio-display-method-list): Use new names.
3945         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
3946         Add "define-linline".
3947         (lisp-fdefs): Remove "defsubst".
3948         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
3949         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
3950         (macroexp--warn-and-return): Use it to avoid inf-loops.
3951         Add `compile-only' argument.
3953 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
3955         python.el: Fix local/remote shell environment setup
3956         * lisp/progmodes/python.el (python-shell-with-environment): Fix
3957         remote/local environment setup.
3958         * test/automated/python-tests.el (python-shell-with-environment-1)
3959         (python-shell-with-environment-2): New tests.
3961 2015-07-06  Glenn Morris  <rgm@gnu.org>
3963         * lisp/simple.el (set-variable): Tweak recent doc fix.
3965 2015-07-06  Ken Brown  <kbrown@cornell.edu>
3967         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
3969 2015-07-06  Glenn Morris  <rgm@gnu.org>
3971         * lisp/simple.el (set-variable): Use user-error for type mismatch.
3973 2015-07-06  Ken Brown  <kbrown@cornell.edu>
3975         * src/emacs.c (main): Don't increase the stack size on Cygwin
3977 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3979         (describe-symbol): Rewrite describe-function-or-variable
3980         * lisp/help-fns.el (describe-symbol-backends): New var.
3981         (help-xref-stack-item): Declare.
3982         (describe-symbol): Rename from describe-function-or-variable.
3983         Rewrite using describe-symbol-backends instead of help-xref-interned.
3984         * lisp/help.el (help-map): Use it.
3985         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
3986         (help-xref-interned): Make it into an obsolete alias.
3988         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
3989         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
3990         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
3992 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
3994         Fix parsing glitches in dired-mark-sexp (bug#13575)
3995         * lisp/dired-x.el (dired-x--string-to-number): New function.
3996         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
3997         of directory-listing-before-filename-regexp.  Consider
3998         forward-word harmful and replace it.  Add more verbiage in
3999         comments and doc string.
4001 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4003         python.el: Respect process environment for remote shells
4004         * lisp/progmodes/python.el
4005         (python-shell-calculate-process-environment): Calculate
4006         process-environment or tramp-remote-process-environment depending
4007         whether current file is remote.
4008         (python-shell-calculate-exec-path): Calculate exec-path or
4009         tramp-remote-path depending whether current file is remote.
4010         (python-shell-with-environment): New macro.
4011         (python-shell-prompt-detect, python-shell-calculate-command)
4012         (python-shell-make-comint, python-check): Use it.
4014         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
4015         * lisp/progmodes/python.el (python-shell--interpreter)
4016         (python-shell--interpreter-args): New vars.
4017         (inferior-python-mode, python-shell-make-comint): Use them.
4019         python.el: Fixes for IPython 3.x  (Bug#20580)
4020         * lisp/progmodes/python.el:
4021         (python-shell-completion-native-setup): Fix IPython 3.x setup.
4022         (python-shell-completion-native-get-completions): Fix timeout
4023         logic.
4025         python.el: Fix mark-defun behavior  (Bug#19665)
4026         * lisp/progmodes/python.el: (python-mark-defun): New function.
4027         * test/automated/python-tests.el (python-mark-defun-1)
4028         (python-mark-defun-2, python-mark-defun-3): New tests.
4030 2015-07-05  Glenn Morris  <rgm@gnu.org>
4032         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
4033         such as "extends(parent), private".  (Bug#20969)
4034         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
4035         New tests.
4037 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4039         Avoid duplicate calls to current_timespec
4040         * src/process.c (wait_reading_process_output):
4041         Cache current_timespec results as long as we're not waiting.
4043 2015-07-05  Ian Kelling  <ian@iankelling.org>
4045         Avoid returning early reading process output due to SIGIO
4046         * src/process.c (wait_reading_process_output): Extend the behavior of
4047         not breaking due to not finding output when a timer has lowered the
4048         timeout to include when SIGIO lowers the timeout.
4050         Don't return as fast reading any process output
4051         * src/process.c (wait_reading_process_output):
4052         The patch for Bug#17647 returns too fast sometimes when reading
4053         from any processes. Revert part of it, and limit the timeout more
4054         sensibly (Bug#20978).
4056         Refactor timeouts in wait_reading_process_output
4057         * src/process.c (wait_reading_process_output):
4058         Simplify timeouts with an enum.  Remove a redundant condition.
4059         (Bug#20978)
4061         Remove ADAPTIVE_READ_BUFFERING ifdef
4062         * src/process.c (make-process, make-pipe-process, deactivate_process)
4063         (wait_reading_process_output, read_process_output, send_process)
4064         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
4065         added in case there was an operating system in which it was not
4066         useful.  That was 11 years ago and it hasn't happened.  Make
4067         development easier by not considering the effect of changes on a
4068         theoretical OS where this is disabled (Bug#20978).
4070 2015-07-05  Glenn Morris  <rgm@gnu.org>
4072         * lisp/simple.el (set-variable): Doc fix.
4074         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
4076 2015-07-05  Ian Kelling  <ian@iankelling.org>
4078         accept-process-output fix
4079         This is a followon to the fix for Bug#17647 (Bug#20976).
4080         * src/process.c (status_notify): Fix too high return in some cases.
4082 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
4084         * lisp/character-fold.el (character-fold-table):
4085         Only fold decompositions if at least one character is non-spacing.
4086         (Bug#20975)
4088 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4090         Merge from gnulib
4091         This incorporates:
4092         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
4093         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
4094         2015-07-02 update-copyright: fix test failure with perl >= 5.22
4095         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
4096         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
4097         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
4098         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
4100 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
4102         Respect `prog-indentation-context' in python.el
4103         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
4104         (python-indent-context, python-indent--calculate-indentation)
4105         (python-info-current-defun)
4106         (python-info-dedenter-opening-block-message)
4107         (python-info-line-ends-backslash-p)
4108         (python-info-beginning-of-backslash)
4109         (python-info-continuation-line-p): Use `prog-widen'.
4110         (python-indent--calculate-indentation)
4111         (python-indent--calculate-levels)
4112         (python-indent-calculate-indentation): Use `prog-first-column'.
4113         (python-indent--calculate-levels): Simplify.
4114         Ignore also initial empty lines for syntax calculation.
4115         * lisp/progmodes/python.el (python-indent-context): Return
4116         :no-indent for first non-empty line, not just in line 1.
4117         * test/automated/python-tests.el (python-indent-base-case)
4118         (python-indent-inside-paren-1, python-indent-inside-paren-2)
4119         (python-indent-inside-paren-3, python-indent-inside-paren-4)
4120         (python-indent-inside-paren-5, python-indent-inside-paren-6)
4121         (python-indent-after-backslash-1)
4122         (python-indent-after-backslash-2)
4123         (python-indent-after-backslash-3)
4124         (python-indent-after-backslash-4, python-indent-inside-string-1):
4125         Expect :no-indent for first non-empty line.
4127 2015-07-04  Daniel Colascione  <dancol@dancol.org>
4129         Factor isearch word description into new function
4130         * lisp/isearch.el (isearch--describe-word-mode): New function.
4131         (isearch-message-prefix, isearch-query-replace): Use it.
4133 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
4135         Fix mouse pointer on w32 when a menu is active
4136         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
4137         shape while a menu is in use.  This started happening since we now
4138         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
4140 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
4142         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
4143         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
4144         parameter.  (Bug#17344)
4146         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
4147         * lisp/progmodes/compile.el (compilation-set-window): Take
4148         `window-fringes' from argument window.  (Bug#20829)
4150 2015-07-03  Glenn Morris  <rgm@gnu.org>
4152         Update eieio tests for recent eieio-core change.
4153         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
4154         * test/automated/eieio-tests.el
4155         (eieio-test-32-slot-attribute-override-2):
4156         Replace the deleted eieio--class-v with cl--find-class.
4158 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
4160         Fix some issues with `window-divider-mode'
4161         * lisp/frame.el (window-divider-default-places): New option.
4162         (window-divider-mode): Remove option.
4163         (window-divider-mode): Make it a "regular" minor mode.
4164         (window-divider-width-valid-p): Drop frame- prefix.
4165         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
4166         prefix.  Handle `window-divider-default-places'.
4167         (frame--window-divider-mode-set-and-apply): Remove.
4168         (window-divider-default-bottom-width)
4169         (window-divider-default-right-width): Drop :group entries.
4170         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
4171         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
4172         (menu-bar-no-window-divider): Set `window-divider-default-places'
4173         and call `window-divider-mode'.
4174         * doc/emacs/frames.texi (Window Dividers): Document
4175         `window-divider-default-places'.
4177 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
4179         Add cross references in documentation
4180         * doc/emacs/display.texi (Displaying Boundaries):
4181         * doc/emacs/search.texi (Word Search): Add cross references.
4183 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
4185         -batch should not affect ‘’ -> `' display
4186         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
4187         -batch (Bug#20926).
4189 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
4191         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
4192         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
4193           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
4194         Use cl--find-class instead.
4196         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
4198 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
4200         Some further fixes in Change Window node.  (Bug#20183)
4201         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
4202         by "resizing" in section title.  Add some concept indices.
4203         Suggested by N. Jackson (Bug#20183).
4205         Reference window dividers in Change Window section.
4206         * doc/emacs/windows.texi (Change Window): Reference window
4207         dividers.
4209         Document new `window-divider-mode'.
4210         * lisp/frame.el (window-divider-mode): Fix doc-string.
4211         * doc/emacs/frames.texi (Window Dividers): New section.
4213         Improve accessibility of window dividers.  (Bug#20183)
4214         * lisp/faces.el (window-divider)
4215         (window-divider-first-pixel, window-divider-last-pixel): Change
4216         membership from `frames' to `window-divider' customization group.
4217         * lisp/frame.el (window-divider): New customization group.
4218         (window-divider-mode): New minor mode.
4219         (window-divider-default-bottom-width)
4220         (window-divider-default-right-width): New options.
4221         (frame--window-divider-previous-mode): New variable.
4222         (frame-window-divider-width-valid-p)
4223         (frame--window-divider-mode-apply)
4224         (frame--window-divider-mode-set-and-apply): New functions.
4225         * lisp/menu-bar.el (menu-bar-options-save): Save
4226         window-divider-mode settings.
4227         (menu-bar-window-divider-customize)
4228         (menu-bar-bottom-and-right-window-divider)
4229         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
4230         (menu-bar-no-window-divider): New functions.
4231         (menu-bar-showhide-window-divider-menu): New variable.
4232         (menu-bar-showhide-menu): Show/hide window divider menu.
4233         * lisp/mouse.el (mouse-split-window-vertically)
4234         (mouse-split-window-horizontally): Replace `error' by
4235         `user-error'.  Bind `window-combination-resize' to nil.
4236         (top-level): Add/reorder mouse key bindings on mode- and
4237         vertical-line.
4239 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
4241         Don't display ‘’ as `' under X in en_GB
4242         The curved quote setup code invokes (char-displayable-p ?‘),
4243         but this isn’t reliable until after the X frame replaces the
4244         terminal frame (Bug#20926).
4245         * lisp/international/mule-cmds.el (set-locale-environment):
4246         Move curved quote setup code from here ...
4247         * lisp/startup.el (command-line): ... to here, after creating
4248         the X frame.
4250 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
4252         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
4254         Add argument to reverse the meaning of ido-restrict-to-matches
4255         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
4256         to reverse the meaning (Bug#15631).
4258 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
4260         Be more tolerant to fonts named "Foobar-12"
4261         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
4262         don't barf; instead, request a new fontset to be generated.  This
4263         avoids unnecessarily rejecting fonts named against XLFD rules.  See
4264         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
4265         for the description of the original problem.
4266         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
4267         by a hyphen in a font's name.
4269         Fix value of posn-at-pont in R2L lines
4270         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
4271         coordinate of -1, for a newline in a right-to-left line that
4272         overflowed into the left fringe.
4274 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
4276         (cl--copy-slot-descriptor): Copy the `props' alist as well
4277         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
4278         Rename from cl--copy-slot-descriptor.
4279         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
4281 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
4283         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
4284         (xterm-query-timeout): New var.
4285         (xterm--query): Use it.  Fallback on async method if we timeout before
4286         getting the first byte of the reply (bug#12354).
4288 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4290         Spelling fixes
4292 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
4294         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
4296 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4298         In strings, prefer plain ` and ' to \` and \'
4299         * lisp/allout.el (allout-insert-listified):
4300         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
4301         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
4302         (ls-lisp-string-lessp):
4303         * lisp/menu-bar.el (menu-bar-open):
4304         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
4305         * lisp/progmodes/compile.el (compile):
4306         * lisp/progmodes/etags.el (tags-loop-scan):
4307         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
4308         * lisp/subr.el (posn-actual-col-row):
4309         * lisp/term/pc-win.el (x-list-fonts):
4310         * lisp/textmodes/texinfmt.el (texinfmt-version):
4311         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
4312         * lisp/time.el (display-time-world-list):
4313         * lisp/tmm.el (tmm-menubar):
4314         * src/buffer.c (syms_of_buffer):
4315         * src/fileio.c (syms_of_fileio):
4316         Omit unnecessary and confusing backslash before quote.
4317         * lisp/erc/erc.el (erc-cmd-LASTLOG):
4318         * lisp/progmodes/flymake.el (flymake-fix-file-name):
4319         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
4320         Fix string that was intended to escape a backslash and not a quote.
4322 2015-06-30  Glenn Morris  <rgm@gnu.org>
4324         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
4326         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
4327         Replace hard-coded lists with wildcard + filter-out.
4329         * configure.ac (system-configuration-features): Add X11, NS.
4331         Improve reproducibility of generated loaddefs file.
4332         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
4333         Make the return value the modtime of the input file (if no autoloads).
4334         (update-directory-autoloads): In the "no autoloads" section,
4335         use "most recent modtime" rather than "current time".
4337 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
4339         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
4340         (Bug#20930)
4342 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
4344         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
4346         Add seq-min and seq-max
4347         Bump version number.
4348         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
4349         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
4351 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
4353         Make sure sleep-for always delays for as long as it's told
4354         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
4355         a loop, to ensure we always wait exactly the required amount of
4356         time.  (Bug#15990)
4358 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4360         Fix pointer signedness glitch
4361         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
4363 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
4365         Don't block changes in mouse pointer inside 'track-mouse'
4366         * etc/NEWS:
4367         * doc/lispref/frames.texi (Mouse Tracking): Document the special
4368         effect of setting 'track-mouse' to 'dragging'.
4369         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
4370         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
4371         * lisp/mouse-drag.el (mouse-drag-throw):
4372         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
4373         to avoid changes in the shape of the mouse pointer.
4374         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
4375         pointer shape when do_mouse_tracking has the value of 'dragging',
4376         not just any non-nil value.  (Bug#20934)
4377         (syms_of_xdisp): DEFSYM 'dragging'.
4379 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
4381         * lisp/isearch.el (isearch-toggle-word): Fix toggle
4383         * lisp/emacs-lisp/package.el (package-compute-transaction):
4384         Don't assume version sorting.
4386         * lisp/emacs-lisp/package.el (package--save-selected-packages):
4387         Don't save before init time, to avoid overwriting configurations.
4388         (Bug#20855)
4390 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
4392         Add cross references.
4393         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
4394         references.
4396 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
4398         cfengine.el: update for the upcoming CFEngine 3.7 release
4399         Update for the upcoming CFEngine 3.7 release: support macros and
4400         quoted context strings; reformat JSON; indent promise attributes 2
4401         units by default; give function parameter descriptions in the eldoc
4402         glue.
4403         * cfengine.el: Update version and docs and fix name.  Autoload
4404         `json-pretty-print'.  Support new features in 3.7.
4405         (cfengine-parameters-indent): Set default promise attribute indent to
4406         2 more than the promise itself.
4407         (cfengine3-macro-regex): New variable to match the new macro syntax.
4408         (cfengine3-font-lock-keywords): Use it to highlight macros.
4409         (cfengine3-indent-line): Use it to indent macros to column 0.
4410         (cfengine3-class-selector-regex): Update for the new quoted strings
4411         format.
4412         (cfengine3-reformat-json-string): New function to reformat a JSON
4413         string using `json-pretty-print'.
4414         (cfengine3-format-function-docstring): Use function parameter
4415         description if it's provided by the cf-promises syntax dump.
4417 2015-06-29  Michael R. Mauger  <michael@mauger.com>
4419         Cygwin emacsclient handles w32 file names
4421 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
4423         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
4425 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
4427         * doc/lispref/text.texi (Sticky Properties): Improve wording.
4428         (Bug#20924)
4430         Allow font names that end in "-NN", where NN is a number
4431         * src/font.c (font_load_for_lface): If the font-spec didn't match
4432         any available fonts, try again without interpreting trailing "-NN"
4433         as the font size.  For the description of the original problem, see
4434         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
4436         .gdbinit followup to changes in !USE_LSB_TAG
4437         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
4438         !USE_LSB_TAG, as Emacs no longer does.
4440 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
4442         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
4443         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
4445 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4447         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
4448         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
4450 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
4452         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
4454         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
4456 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
4458         apropos-library quoting fix
4459         * lisp/apropos.el (apropos-library): Quote library consistently
4460         with the rest of the quoting used by apropos.
4462         Clarify interpreter-mode-alist doc
4463         * lisp/files.el (interpreter-mode-alist):
4464         Reword to avoid confusing quoting that wasn't working anyway.
4466 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
4468         Sync with Tramp 2.2.12
4469         * doc/misc/trampver.texi:
4470         * lisp/net/trampver.el: Update release number.
4471         * test/automated/tramp-tests.el (tramp-test13-make-directory):
4472         Fix cleanup.
4474 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4476         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
4477         (bug#20913)
4479 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
4481         Bind grep-highlight-matches around the rgrep call
4482         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
4483         around the rgrep call (bug#20728).
4485         Put "--color" before the other options in grep-command
4486         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
4487         before the other options in grep-command (bug#20912).
4489         Add --color Grep option to the command dynamically
4490         * lisp/progmodes/grep.el (grep-template, grep-find-template):
4491         Update the description for <C>.  (Bug#20728)
4492         (grep-compute-defaults): Don't add the --color option to
4493         grep-options.  Only add it to grep-command.
4494         (grep-expand-keywords): Expand the env value opts into <C>.
4495         (grep-expand-template): Replace cf in the env with the opts list,
4496         that can include -i and --color.
4497         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
4498         "--color=always" from the template, because we don't have to.
4500 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
4502         cl-extra fixes for most-negative-fixnum
4503         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
4504         Don't mishandle an argument equal to most-negative-fixnum,
4505         whose absolute value equals itself.
4506         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
4508         Initialize cl--gensym-counter to 0
4509         Previously it was initialized to a random value, which made it
4510         harder to reproduce earlier Emacs runs.  The need for a random
4511         value went away when Emacs introduced and used the #: syntax for
4512         uninterned symbols (Bug#20862).
4513         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
4514         Document that cl--gensym-counter now starts with 0.
4515         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
4516         (cl--random-time): Move to near only remaining use.
4517         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
4519         Improve docstring for macroexp-let2
4520         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
4521         Improve as per suggestion by RMS in:
4522         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
4523         Also, rename args to match new doc string.
4525 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
4527         Fix VC test suite on MS-Windows
4528         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
4529         always starts with 3 slashes after the colon.
4530         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
4531         'w32-application-type' to invoke CVS on MS-Windows with properly
4532         formatted CVSROOT directory name.
4534         Add a new function w32-application-type
4535         * src/w32proc.c (Fw32_application_type): New function.
4537         Avoid error in TLS connections due to incorrect format
4538         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
4539         the call to 'error', instead of the unsupported %u.  Reported by
4540         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
4542 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
4544         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
4546 2015-06-26  Leo Liu  <sdl.web@gmail.com>
4548         Fix indentation for with-output-to-string
4549         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
4550           `with-output-to-string' in elisp.
4551           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
4552           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
4554 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
4556         Minor corrections in ELisp manual
4557         * doc/lispref/nonascii.texi (Character Properties): Correct
4558         inaccuracies in description of values of the Unicode properties.
4560         Fix invisible mouse pointers on Windows.
4561         * src/w32fns.c: Include windowsx.h.
4562         (w32_wnd_proc): If the mouse moved and the mouse pointer is
4563         invisible, make it visible again even when the main (Lisp)
4564         thread is busy.
4565         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
4566         garbaging the frame have the input thread call SetCursor.
4568 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
4570         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
4571         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
4572         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
4573         * src/w32term.c (w32_hide_hourglass): Handle
4574         f->pointer_invisible.
4575         (w32_toggle_invisible_pointer): New function.
4576         (w32_create_terminal): Add w32_toggle_invisible_pointer as
4577         toggle_invisible_pointer_hook for this terminal.
4579 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
4581         Doc fix for deletion commands
4582         'delete-char' does not respect the value of 'delete-active-region'.
4583         * doc/emacs/killing.texi (Deletion):
4584         Fix documentation for some single-char deletion commands.
4586         * doc/emacs/help.texi (Apropos):
4587         Improve documentation of 'apropos-do-all'.
4589         * doc/emacs/help.texi (Help Summary):
4590         Improve documentation of 'describe-mode'.
4592 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
4594         Fix submake dependency bug with .h files
4595         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
4596         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
4597         before the submake in $(libsrc) would spin off a subsubmake
4598         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
4600 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
4602         * lisp/character-fold.el (character-fold-table): Reuse `table'
4604 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
4606         Translate undisplayable ‘ to `
4607         * doc/lispref/help.texi (Keys in Documentation):
4608         * lisp/international/mule-cmds.el (set-locale-environment):
4609         * lisp/term/w32console.el (terminal-init-w32console):
4610         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
4611         If ‘ is not displayable, transliterate it to `, not to '.  See:
4612         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
4614         Fix C99 incompatibilities in Cairo code
4615         * src/image.c (xpm_load) [USE_CAIRO]:
4616         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
4617         Fix pointer signedness problem.
4619 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
4621         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
4622         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
4623           `with-output-to-string' should have the same indent as `progn'.
4624           This is in line with the declaration of `with-output-to-string'.
4626 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
4628         Get ‘./configure; make -C src emacs’ to work
4629         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
4630         * lib-src/Makefile.in (../lib/libgnu.a):
4631         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
4633 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
4635         Fix GC bugs --with-wide-int and Qnil == 0
4636         Use the same alignment for the !USE_LSB_TAG case as for the
4637         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
4638         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
4639         once we changed the representation of symbols so that Qnil == 0.
4640         Problem reported by Eli Zaretskii (Bug#20862).
4641         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
4642         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
4643         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
4644         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
4645         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
4646         This optimization in the !USE_LSB_TAG case is no longer valid when
4647         symbols are represented via offsets.  Change the only use to
4648         assume that pointers might hide in objects.
4649         * src/lisp.h (alignas) [!USE_LSB_TAG]:
4650         Require support in this case, too.
4651         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
4652         This is OK, because the !USE_LSB_TAG case now applies only when
4653         Lisp_Object is wider than void *, so there's no longer any need
4654         to shift the offset.  Not shifting the offset means that
4655         symbol representations have the same alignment as pointers,
4656         which the GC assumes.
4658 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
4660         * doc/lispintro/emacs-lisp-intro.texi (Data types):
4661         Improve documentation of 'substring'.
4663 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
4665         * lisp/character-fold.el (character-fold-table): Fix table generation
4667 2015-06-24  Glenn Morris  <rgm@gnu.org>
4669         * nextstep/Makefile.in (all): Make it the first target.
4670         (../src/emacs${EXEEXT}): Add rule for making it.
4672 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
4674         * etc/NEWS: Fix mention to old function name
4676         * lisp/character-fold.el: New file (Bug#20887)
4677         (character-fold-to-regexp): New function.
4678         * lisp/replace.el (replace-search): Check value of
4679         `character-fold-search'.
4680         * lisp/isearch.el: Move character-folding code to
4681         character-fold.el
4682         (isearch-toggle-character-fold): New command.
4683         (isearch-mode-map): Bind it to "\M-sf".
4684         (isearch-mode): Check value of `character-fold-search'.
4686 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4688         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
4689         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
4690         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
4692         * lisp/progmodes/xref.el: Avoid init-args in oref.
4693         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
4694         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
4696 2015-06-24  Glenn Morris  <rgm@gnu.org>
4698         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
4700 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4702         * lisp/gnus/nnmaildir.el: Silence lexical warnings
4703         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
4704         functional style.
4705         (nnmaildir--update-nov): Remove unused var `numdir'.
4706         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
4707         (nnmaildir-request-group, nnmaildir-request-create-group)
4708         (nnmaildir-request-post, nnmaildir-request-move-article)
4709         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
4710         (nnmaildir-get-new-mail, nnmaildir-group-alist)
4711         (nnmaildir-active-file): Declare.
4712         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
4713         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
4714         `mark', `end', `new-mark', and `mark-sym'.
4715         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
4716         `nlist2'.
4717         (nnmaildir-request-expire-articles):
4718         Remove unused vars `article', `stop' and `nlist2'.
4719         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
4720         `end'.  Use nnmaildir--article when dyn-binding is needed.
4721         Give the value directly in the `let' for `del-mark', `del-action',
4722         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
4723         (nnmaildir-close-server): Declare those local vars that need to be
4724         dyn-bound.
4726 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
4728         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
4730         Port selection info fix to clang
4731         * src/keyboard.h (kbd_buffer_store_event_hold):
4732         Don't assume C11 semantics for alignof (Bug#20756).
4734         Fix bug that munged selection info
4735         On some optimizing C compilers, copying a structure did not
4736         copy the padding bytes between elements, and the type punning
4737         between struct input_data and struct selection_input_data did
4738         not work.  Change the C code to use a proper union type instead.
4739         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
4740         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
4741         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
4742         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
4743         (mark_kboards):
4744         Use union buffered_input_event, not struct input_event.
4745         (clear_event, deliver_input_available_signal, process_special_events):
4746         Remove unnecessary forward decls.
4747         (kbd_buffer_store_buffered_event): New function, mostly just the
4748         old kbd_buffer_store_event_hold, except its argument is of type
4749         union buffered_input_event, not struct input_event.
4750         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
4751         not needed otherwise.  Argument is now of type
4752         struct selection_input_event *, not struct input_event *.
4753         All callers changed.
4754         (clear_event): Arg is now of type union buffered_input_event *,
4755         not struct input_event *.  All callers changed.
4756         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
4757         (union buffered_input_event): New type.
4758         (kbd_buffer_store_event_hold): Now an inline function,
4759         defined here.
4760         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
4761         (struct input_event): Use it.
4762         * src/xselect.c (struct selection_event_queue):
4763         Make elements be of type struct selection_input_event,
4764         not struct input_event.
4765         (selection_input_event_equal): New static function.
4766         (x_queue_event): Use it.
4767         (x_queue_event, x_decline_selection_request)
4768         (x_selection_current_request, x_reply_selection_request)
4769         (x_handle_selection_request, x_handle_selection_clear)
4770         (x_handle_selection_event): Use struct selection_input_event,
4771         not struct input_event.  All callers changed.
4772         (x_convert_selection): Omit unused first arg.  All callers changed.
4773         (Fx_disown_selection_internal): Omit unnecessary union.
4774         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
4775         rather than rolling our own equivalent.  Prefer sie.kind when
4776         setting up that kind of structure.
4777         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
4778         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
4779         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
4780         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
4781         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
4782         (SELECTION_EVENT_TIME, x_handle_selection_event):
4783         Arg is now of type struct selection_input_event *)
4784         not struct input_event *.  All callers changed.
4786 2015-06-23  Glenn Morris  <rgm@gnu.org>
4788         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
4790 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
4792         * lisp/isearch.el: Fold many unicode characters to ASCII
4793         (isearch-character-fold-search, isearch--character-fold-extras)
4794         (isearch--character-fold-table): New variable.
4795         (isearch--character-folded-regexp): New function.
4796         (isearch-search-fun-default): Use them.
4797         * lisp/replace.el (replace-character-fold): New variable.
4798         (replace-search): Use it.
4799         * etc/NEWS: Document it.
4801 2015-06-23  Glenn Morris  <rgm@gnu.org>
4803         Check for an input event before showing a dialog box.  (Bug#20813)
4804         * lisp/subr.el (y-or-n-p):
4805         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
4806         as last-nonmenu-event.
4808 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
4810         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
4811         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
4812         (switch-to-prev-buffer, switch-to-next-buffer): Respect
4813         switch-to-visible-buffer independent of the windows history.
4815 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
4817         * src/keyboard.c (last_timer_event): Remove unused var.
4819 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
4821         * test/automated/package-test.el (package-test-update-listing):
4822         Fix test.
4824 2015-06-23  Glenn Morris  <rgm@gnu.org>
4826         Revert 2014-06-25 nextstep/Makefile change.
4827         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
4828         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
4829         not as an order-only prerequisite.
4831         * configure.ac (--with-ns): Enable by default on OS X.
4833 2015-06-23  Leo Liu  <sdl.web@gmail.com>
4835         Fix shell-for/backward-command to exclude spaces
4836         * lisp/shell.el (shell-forward-command, shell-backward-command):
4837           Handle the 'move case from re-search-forward/backward.
4838           fixes debbugs:20873
4840 2015-06-22  Juri Linkov  <juri@linkov.net>
4842         * lisp/replace.el (query-replace-read-from): Add separator to
4843         the local binding of text-property-default-nonsticky.  (Bug#20690)
4845         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
4846         (Bug#20785)
4848 2015-06-22  Ken Brown  <kbrown@cornell.edu>
4850         Enable CPU profiling on Cygwin
4851         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
4852         change that undefined this.
4853         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
4854         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
4855           Cygwin.
4857         Improve diagnostics of profiler-cpu-start
4858         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
4859         return -1 if the sampling interval is invalid.
4860         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
4861         fails.  (Bug#20843)
4863 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4865         * lisp/emacs-lisp/package.el: Exclude packages by name
4866         (package-hidden-regexps): New variable.
4867         (package-menu--refresh): Use it.
4868         (package-menu-hide-package): New command.
4870         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
4872 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
4874         Fix debug-timer-check on systems without HAVE_TIMERFD
4875         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
4876         the expired timers, since wait_reading_process_output doesn't.
4877         (debug_timer_callback): Enlarge the tolerance to 20 msec.
4879         Fix RCS crashes in vc-test
4880         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
4881         ports of 'ci' on MS-Windows by always passing the -t- switch.
4883 2015-06-22  Glenn Morris  <rgm@gnu.org>
4885         * doc/emacs/package.texi (Packages):
4886         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
4888         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
4890 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
4892         Port tests to help-quote-translation
4893         * test/automated/ert-x-tests.el (ert-test-describe-test):
4894         * test/automated/package-test.el (package-test-describe-package)
4895         (package-test-signed): Allow straight quotes, too.
4897 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
4899         Make find-function-on-key use the current window
4900         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
4901         Extract from `find-function-on-key', add a second argument.
4902         (find-function-on-key): Use it (bug#19679).
4903         (find-function-on-key-other-window)
4904         (find-function-on-key-other-frame): New commands.
4906 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
4908         Revert "Define `map-elt' as a generalized variable"
4909         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
4911 2015-06-21  Ken Brown  <kbrown@cornell.edu>
4913         Drop support for CPU profiling on Cygwin
4914         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
4915         (Bug#20843)
4917 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
4919         Fix some “nested” quoting confusion in doc strings
4920         * lisp/emacs-lisp/advice.el (ad-map-arglists):
4921         * lisp/kermit.el (kermit-clean-on):
4922         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
4923         * src/keyboard.c (Frecursive_edit):
4924         Use curved quotes when quoting text containing apostrophe,
4925         so that the apostrophe isn't curved in the output.
4927 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
4929         Define `map-elt' as a generalized variable
4930         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
4931         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
4932         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
4933         `setf' with `map-elt'.
4934         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
4936 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
4938         Improve error handling in tramp-adb.el
4939         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
4940         Improve error handling.
4942 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
4944         Reuse `alist-get' in map.el
4945         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
4946         elements.
4948 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
4950         Fix bytecomp-tests--warnings when $TMPDIR has a long name
4951         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
4952         Allow the warning to begin on the 3rd, not only 2nd line, which
4953         happens if temporary-file-directory has a very long name.
4955         Expect 2 icalendar tests to fail on MS-Windows
4956         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
4957         (icalendar-real-world): Make them expected failures on MS-Windows.
4959 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
4961         Improve port of settings UI to older displays
4962         * lisp/cus-start.el (standard): Don't assume curved quotes are
4963         easily distinguishable when users are tinkering with a setting
4964         that affects how curved quotes are generated.
4966         Fix quoting in electric-quote-mode doc string
4967         * lisp/electric.el (electric-quote-mode): Fix quoting.
4968         This is a fallout from the recent change introducing
4969         ‘help-quote-translation’.
4971         Spelling fix
4973         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
4975         * src/doc.c (syms_of_doc): Remove unused symbols.
4977 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
4979         In ‘window-state-put’ undedicate target window.  (Bug#20848)
4980         * lisp/window.el (window-state-put): Undedicate target window
4981         before putting STATE into it.  (Bug#20848)
4983 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
4985         Merge from origin/emacs-24
4986         a5e6f33 Fixes: debbugs:20832
4987         b9f02cf Fixes: debbugs:20832
4989 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
4991         Fix file-in-directory-p when the directory is UNC
4992         * lisp/files.el (file-in-directory-p): Support files and
4993         directories that begin with "//".  (Bug#20844)
4995 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
4997         (Bug#20832)
4998         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
4999         in the minibuffer.
5001 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
5003         (Bug#20832)
5004         * lisp/calendar/todo-mode.el (todo-show): Signal an error
5005         if buffer for adding new todo file is empty but modified.
5007 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
5009         (filepos-to-bufferpos): Further tweaks to the utf-16 code
5010         * lisp/international/mule-util.el (filepos-to-bufferpos):
5011         Fix typo.  Move non-exact check to the utf-16 branch (the only one
5012         affected).  Don't use byte-to-position for the utf-16 case.
5014 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
5016         Minor fixes in filepos-to-bufferpos
5017         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
5018         test for utf-8-emacs.  Exempt single-byte encodings from the
5019         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
5020         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
5021         UTF-16 encoded files for CR-LF EOLs.
5023 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5025         Improve the optional translation of quotes
5026         Fix several problems with the recently-added custom variable
5027         help-quote-translation where the code would quote inconsistently
5028         in help buffers.  Add support for quoting 'like this', which
5029         is common in other GNU programs in ASCII environments.  Change
5030         help-quote-translation to use more mnemonic values: values are now the
5031         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
5032         traditional Emacs help-buffer quoting style `like this'.  Change the
5033         default behavior of substitute-command-keys to match what's done in
5034         set-locale-environment, i.e., quote ‘like this’ if displayable,
5035         'like this' otherwise.
5036         * doc/lispref/help.texi (Keys in Documentation): Document
5037         new behavior of substitute-command-keys, and document
5038         help-quote-translation.
5039         * doc/lispref/tips.texi (Documentation Tips):
5040         Mention the effect of help-quote-translation.
5041         * etc/NEWS: Mention new behavior of substitute-command-keys,
5042         and merge help-quote-translation news into it.
5043         When talking about doc strings, mention new ways to type quotes.
5044         * lisp/cedet/mode-local.el (overload-docstring-extension):
5045         Revert my recent change to this function, which shouldn't be
5046         needed as the result is a doc string.
5047         * lisp/cedet/mode-local.el (mode-local-print-binding)
5048         (mode-local-describe-bindings-2):
5049         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
5050         * lisp/cus-theme.el (describe-theme-1):
5051         * lisp/descr-text.el (describe-text-properties-1, describe-char):
5052         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
5053         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
5054         (eieio-help-constructor):
5055         * lisp/emacs-lisp/package.el (describe-package-1):
5056         * lisp/faces.el (describe-face):
5057         * lisp/help-fns.el (help-fns--key-bindings)
5058         (help-fns--compiler-macro, help-fns--parent-mode)
5059         (help-fns--obsolete, help-fns--interactive-only)
5060         (describe-function-1, describe-variable):
5061         * lisp/help.el (describe-mode):
5062         Use substitute-command-keys to ensure a more-consistent quoting
5063         style in help buffers.
5064         * lisp/cus-start.el (standard):
5065         Document new help-quote-translation behavior.
5066         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
5067         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
5068         (help-xref-url-regexp):
5069         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
5070         * lisp/wid-edit.el (widget-documentation-link-regexp):
5071         Also match 'foo', in case we're in a help buffer generated when
5072         help-quote-translation is ?'.
5073         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
5074         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
5075         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
5076         (Fsubstitute_command_keys): Document and implement new behavior.
5077         (Vhelp_quote_translation): Document new behavior.
5079 2015-06-18  Glenn Morris  <rgm@gnu.org>
5081         * lisp/cus-start.el (help-quote-translation): Add :version.
5083         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
5085 2015-06-18  Alan Mackenzie  <acm@muc.de>
5087         Make translation of quotes to curly in doc strings optional.
5088         src/doc.c (traditional, prefer-unicode): new symbols.
5089         (help-quote-translation): new variable.
5090         (Fsubstitute_command_keys): make translation of quotes dependent on
5091         `help-quote-translation'; also translate curly quotes back to ASCII
5092         ones.
5093         lisp/cus-start.el (top-level): Add a customization entry for
5094         `help-quote-translation'.
5096 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
5098         * lisp/emacs-lisp/package.el: Don't always propagate async errors
5099         (package--with-work-buffer-async): Only propagate the error if the
5100         callback returns non-nil.
5101         (package--download-one-archive): Return nil on the signature
5102         checking callback if we accept unsigned.
5103         (package--download-and-read-archives): Return non-nil on the
5104         archive download callback.
5106 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
5108         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
5109         * src/nsfns.m (Fx_create_frame):
5110         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
5111         image_cache_refcount before first x_default_parameter call.
5113 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
5115         Improve and extend filepos-to-bufferpos
5116         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
5117         Don't barf if F returns nil for some argument.
5118         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
5119         that every encoding of type 'charset' is single-byte.
5121 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
5123         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
5124         Properly delete packages.  (Bug#20836)
5126 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
5128         Update data files from just-released Unicode 8.0
5129         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
5130         status.
5131         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
5132         * admin/unidata/BidiMirroring.txt:
5133         * admin/unidata/BidiBrackets.txt:
5134         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
5136 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
5138         Document curved quotes a bit better
5139         * doc/emacs/basic.texi (Inserting Text):
5140         Mention C-x 8.  Change example to use curved quote rather
5141         than infinity, as this lets us give more ways to do it.
5142         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
5143         and quotation marks.
5144         * doc/emacs/text.texi (Quotation Marks):
5145         * doc/lispref/tips.texi (Documentation Tips):
5146         Add "curly quotes" and "curved quotes" to the index.
5147         * doc/emacs/text.texi (Quotation Marks):
5148         Give the C-x 8 shorthands for curved quotes.
5149         Cross-reference to "Quotation Marks".
5151 2015-06-17  Daiki Ueno  <ueno@gnu.org>
5153         Add pinentry.el for better GnuPG integration
5154         * lisp/pinentry.el: New file.
5155         * etc/NEWS: Add entry about pinentry.el.
5156         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
5157         (Bug#20550)
5159 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
5161         * lisp/emacs-lisp/package.el: Slightly better error reporting.
5163 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
5165         (define-minor-mode): Use setq-default for :global minor modes
5166         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
5167         Use setq-default for :global minor modes (bug#20712).
5169 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
5171         Avoid infloop in redisplay with tall images
5172         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
5173         down near ZV.  (Bug#20808)
5174         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
5175         instead of CHARPOS.
5177 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
5179         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
5180         Fix error reporting.
5182         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
5184         * lisp/emacs-lisp/package.el: Revert buffer after any operation
5185         Call `package-menu--post-refresh' after any operation that changes
5186         the package database (`package-install' and `package-delete').  To
5187         avoid performance issues in large transactions, these functions
5188         add `post-refresh' to `post-command-hook' instead of calling it
5189         immediately.
5190         (package-menu--mark-or-notify-upgrades): New function.
5191         (list-packages): Add it to `package--post-download-archives-hook'.
5192         (package-menu--post-refresh): Lose the upgrade-checking code, add
5193         code to remove itself from `post-command-hook'.
5194         (package-install, package-delete): Add it to `post-command-hook'.
5195         (package-menu-execute): Don't call `package-menu--post-refresh'.
5197 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
5199         Add missing function xref-location-group for elisp-mode.
5200         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
5202 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
5204         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
5205         The behavior now matches the description in the manual.  (Bug#20783)
5207 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
5209         Update tutorials/TUTORIAL.cn
5210         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
5212 2015-06-17  Glenn Morris  <rgm@gnu.org>
5214         Generate char-script-table from Unicode source.  (Bug#20789)
5215         * admin/unidata/Makefile.in (AWK): New, set by configure.
5216         (all): Add charscript.el.
5217         (blocks): New variable.
5218         (charscript.el, ${unidir}/charscript.el): New targets.
5219         (extraclean): Also remove generated charscript.el.
5220         * admin/unidata/blocks.awk: New script.
5221         * admin/unidata/Blocks.txt: New data file, from unicode.org.
5222         * lisp/international/characters.el: Load charscript.
5223         * src/Makefile.in (charscript): New variable.
5224         (${charscript}): New target.
5225         (${lispintdir}/characters.elc): Depend on charscript.elc.
5226         (temacs$(EXEEXT)): Depend on charscript.
5228         * lisp/international/characters.el (char-script-table): Tweak
5229         some ranges to better match the source.  (Bug#20789#17)
5231         Remove "no-byte-compile: t" from a few files.
5232         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
5233         * lisp/obsolete/patcomp.el: No reason not to compile these.
5235 2015-06-16  Glenn Morris  <rgm@gnu.org>
5237         Fix some typos in copied Unicode data.  (Bug#20789)
5238         * lisp/international/characters.el (char-script-table):
5239         * lisp/international/fontset.el (script-representative-chars)
5240         (setup-default-fontset): Fix typos.
5242         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
5243         Don't print filename twice (it's in the prefix now).
5245         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
5246         No longer needed.
5248         Address a compilation warning.
5249         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
5250         Replace 't' with '_' in pcase.
5252         Address some check-declare warnings.
5253         * lisp/simple.el (tabulated-list-print):
5254         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
5255         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
5256         (ns-get-selection): Update declarations.
5258         Address some compilation warnings.
5259         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
5260         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
5261         Replace 't' with '_' in pcase.
5263         Address some compilation warnings.
5264         * lisp/face-remap.el (text-scale-adjust):
5265         * lisp/menu-bar.el (popup-menu-normalize-position):
5266         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
5267         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
5268         * lisp/emacs-lisp/generator.el (cps--transform-1):
5269         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
5270         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
5271         * lisp/progmodes/octave.el (octave-goto-function-definition)
5272         (octave-find-definition-default-filename):
5273         Replace 't' with '_' in pcase.
5275         * lisp/emacs-lisp/pcase.el (pcase--u1):
5276         Paper-over today's bootstrap failure.
5278 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
5280         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
5282         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
5284         Better confirmation message in `find-alternate-file' (Bug#20830)
5285         * lisp/files.el (find-alternate-file'): Improve the confirmation
5286         message to show the buffer name.
5288         Better docstring for null. (Bug#20815)
5289         * src/data.c (null): Improves the docstring, saying what null returns
5290         when OBJECT is non-nil.
5292 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
5294         * lisp/net/newst-treeview.el: Use lexical-binding.
5296         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
5297         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
5298         New auxiliary function, extracted from filepos-to-bufferpos.
5299         Make sure it terminates.
5300         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
5301         Add support for the `exact' quality.
5303 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
5305         Identify feeds in newsticker treeview with :nt-feed property
5306         * lisp/net/newst-treeview.el:
5307         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
5309 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
5311         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
5312         (pcase--self-quoting-p): Floats aren't self-quoting.
5313         (pcase): Tweak docstring.
5314         (pcase--u1): Deprecate the t pattern.  Improve error detection for
5315         the nil pattern.
5316         (\`): Tweak docstring.  Signal an error for unrecognized cases.
5317         (bug#20784)
5319 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
5321         Fix infloop in filepos-to-bufferpos
5322         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
5323         offset calculation, and make it conditional on the eol-type of the
5324         file's encoding.  (Bug#20825)
5326 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
5328         Fix handling of image cache refcounts.  (Bug#20802)
5329         This backports Eli Zaretskii's solution of this problem for W32
5330         to X and NS.
5331         * src/nsfns.m (image_cache_refcount): Define unconditionally.
5332         (unwind_create_frame): If the image cache's reference count
5333         hasn't been updated yet, do that now.
5334         (Fx_create_frame): Set image_cache_refcount unconditionally.
5335         * src/xfns.c (image_cache_refcount): Define unconditionally.
5336         (unwind_create_frame): If the image cache's reference count
5337         hasn't been updated yet, do that now.
5338         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
5339         unconditionally.
5340         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
5341         X and NS.
5343 2015-06-16  Nils Ackermann  <nils@ackermath.info>
5345         Improve reftex-label-regexps default value
5346         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
5347         keyvals label regexp more strict to better cope with unbalanced
5348         brackets common in math documents.
5350 2015-06-16  Glenn Morris  <rgm@gnu.org>
5352         * doc/emacs/calendar.texi (Format of Diary File):
5353         Move "nonmarking" from here...
5354         (Displaying the Diary): ... to here.
5356         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
5357         Swap the order of these nodes.
5358         * doc/emacs/emacs.texi: Update detailed menu for the above change.
5360         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
5361         Update date of examples.
5362         (Diary, Format of Diary File): Move example from former to latter.
5363         Reduce duplication.
5365         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
5366         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
5367         Don't set no-byte-compile in the outputs.
5368         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
5370 2015-06-15  Glenn Morris  <rgm@gnu.org>
5372         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
5373         * doc/emacs/calendar.texi (Diary, Format of Diary File):
5374         Update for above diary-file change.
5375         : * etc/NEWS: Mention this.
5377         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
5378         (apply-macro-to-region-lines): Use user-error.
5380         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
5381         (pages-directory-for-addresses): Doc fixes.
5383 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
5385         * lisp/info.el: Cleanup bytepos/charpos issues
5386         * lisp/international/mule-util.el: Use lexical-binding.
5387         (filepos-to-bufferpos): New function.
5388         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
5389         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
5390         (Info-read-subfile, Info-search): Use 0-based file positions.
5392         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
5393         (perl--syntax-exp-intro-keywords): New var.
5394         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
5395         (bug#20800).
5397 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
5399         Fix quoting when making derived mode docstring
5400         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
5401         Nest regexp-quote inside format, not the reverse.
5402         Problem reported by Artur Malabarba in:
5403         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
5405 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
5407         Fix current-iso639-language on MS-Windows
5408         * lisp/international/mule-cmds.el (set-locale-environment):
5409         Downcase the locale name before interning it.  This is so the
5410         'current-iso639-language' on MS-Windows matches the ':lang'
5411         property of font-spec objects.
5413         Limit Symbola usage some more
5414         * lisp/international/fontset.el (setup-default-fontset): Limit
5415         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
5416         (Bug#20727)
5418 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
5420         * lisp/emacs-lisp/map.el (map-let): Better docstring.
5422 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
5424         Spelling fixes
5426 2015-06-14  Glenn Morris  <rgm@gnu.org>
5428         * lisp/version.el (emacs-repository-version-git): Demote errors.
5429         Check result is a hash.
5431 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
5433         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
5434         Catch errors that happen before going async.  (Bug#20809)
5436 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
5438         Another improvement of documentation of set-fontset-font
5439         * doc/lispref/display.texi (Fontsets): Say explicitly that
5440         CHARACTER can be a single codepoint.
5441         * src/fontset.c (Fset_fontset_font): Doc fix.
5443         Another improvement for symbol and punctuation characters
5444         * lisp/international/fontset.el (setup-default-fontset): Exclude
5445         from Symbola character ranges for symbols and punctuation covered
5446         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
5447         installed and where its coverage of symbols and punctuation is
5448         known to be good.  (Bug#20727)
5450 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
5452         Some generic support for multi-mode indentation.
5453                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
5454                 variable.
5455                 (prog-first-column, prog-widen): New convenience functions.
5457 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
5459         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
5460         Don't assume that `tabulated-list-printer' will leave point at the
5461         end of the buffer.  (Bug#20810)
5463 2015-06-13  Glenn Morris  <rgm@gnu.org>
5465         Tweaks for getting repository version; a bit more like it was for bzr.
5466         * lisp/version.el (emacs-repository-version-git)
5467         (emacs-repository--version-git-1): New functions,
5468         split from emacs-repository-get-version.
5469         (emacs-repository-get-version): Make the second argument meaningful.
5471         * lisp/startup.el (command-line-1): Inform if skipping relative
5472         file names due to deleted PWD.
5474         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
5475         when starup directory is missing.  (Bug#18851)
5476         (errno.h): Include it.
5478 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
5480         Better fix for documenting `X as "`X"
5481         Fix suggested by Stefan Monnier.
5482         * lisp/help-fns.el (help-fns--signature):
5483         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
5484         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
5485         Don't treat `X specially, as help-fns--signature now handles this.
5487 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
5489         Improve the default fontset when Symbola is not installed
5490         * lisp/international/fontset.el (setup-default-fontset): Only
5491         prepend Symbola and FreeMono font specs for symbols and
5492         punctuation; do not replace the default spec for them.  This
5493         should have better results when Symbola/FreeMono are not
5494         installed.  (Bug#20727)
5496         Improve documentation of ':lang' in font specs
5497         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
5498         use of the ':lang' property of the font spec.
5499         * doc/emacs/frames.texi (Fonts): Document the language names that
5500         can be in the STYLE part of XLFD.
5501         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
5502         property.
5504         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
5506         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
5508         Revert last change in fontset.el
5509         * lisp/international/fontset.el (setup-default-fontset): Revert
5510         the change "Configure Symbola font only if installed", since font
5511         search is evidently not yet set up when this function is called.
5512         (Bug#20727)
5514 2015-06-12  Glenn Morris  <rgm@gnu.org>
5516         Ensure early startup warnings are visible at the end.  (Bug#20792)
5517         * lisp/emacs-lisp/warnings.el (display-warning):
5518         If startup isn't complete, delay the warning.
5519         * lisp/startup.el (normal-top-level, command-line):
5520         Let display-warning automatically handle the needed delays.
5521         Run delayed-warnings-hook.
5523         * lisp/version.el (emacs-repository-get-version):
5524         Avoid calling external executable if possible.  (Bug#20799)
5526 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
5528         Document `X as "`X", not as "(` X)"
5529         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
5530         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
5532         * src/print.c (print_object): Minor simplification.
5534 2015-06-12  Glenn Morris  <rgm@gnu.org>
5536         * src/buffer.c (init_buffer): Add final newline to message.
5538 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
5540         Configure Symbola font only if installed
5541         * lisp/international/fontset.el (setup-default-fontset):
5542         Don't specify the Symbola font if it's not installed.
5543         Likewise for FreeMono.  (Bug#20727)
5545 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
5547         Configure Symbola font only for symbols and punctuation
5548         * lisp/international/fontset.el (setup-default-fontset): Leave
5549         only symbols and punctuation in the fontset setup for Symbola
5550         font; remove "Greek and Coptic" and "Cyrillic Supplement".
5551         (Bug#20798)
5553 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
5555         Fix crash in fontset-info
5556         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
5557         non-nil.
5559 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
5561         Port to Solaris 10 sparc + Sun C 5.13
5562         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
5563         Adjust to process.c change.
5564         * src/process.c (create_process): Declare volatile variables at
5565         top level of this function, so that they're less likely to be
5566         reused later in the function in the code executed by the vforked
5567         child.  Do not declare locals used only in the vforked child, as
5568         they might share memory with locals still live in the parent.
5569         Instead, use the same variables in the child as in the parent.
5570         This works around a subtle bug that causes a garbage collector
5571         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
5573 2015-06-12  Glenn Morris  <rgm@gnu.org>
5575         * lisp/startup.el (normal-top-level): Don't let *Messages* get
5576         a nil default-directory.
5578 2015-06-11  Glenn Morris  <rgm@gnu.org>
5580         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
5582         Some progress towards starting with PWD deleted.  (Bug#18851)
5583         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
5584         * lisp/startup.el (normal-top-level, command-line-1):
5585         * lisp/minibuffer.el (read-file-name-default):
5586         Handle default-directory being nil.
5588 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
5590         Fix "not a tty" bug on Solaris 10
5591         * configure.ac (PTY_OPEN): Define to plain 'open'
5592         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
5593         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
5594         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
5595         hosts that call grantpt which does its work via a setuid subcommand
5596         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
5597         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
5598         seems relevant in that case too.
5600 2015-06-11  Juri Linkov  <juri@linkov.net>
5602         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
5603         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
5604         (Bug#20785)
5606 2015-06-11  Glenn Morris  <rgm@gnu.org>
5608         * lisp/international/characters.el (char-script-table): Fix typo.
5610 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
5612         Fix quoting of help for functions with odd names
5613         While investigating Bug#20759, I discovered other quoting problems:
5614         C-h f mishandled characters like backslash and quote in function names.
5615         This fix changes the behavior so that 'C-h f pcase RET' now
5616         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
5617         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
5618         in src/lread.c's read1 function says that the backslash will be
5619         needed starting in Emacs 25, which implies that 'format' is
5620         correct and the old pcase documention was wrong to omit the backslash.
5621         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
5622         * lisp/help-fns.el (help-fns--signature):
5623         * lisp/help.el (help-add-fundoc-usage):
5624         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
5625         Use help--make-usage-docstring rather than formatting
5626         help-make-usage.
5627         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
5628         Return raw docstring.
5629         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
5630         raw docstring.  Take more care to distinguish raw from cooked dstrings.
5631         (describe-function-1): Let help-fns--signature substitute
5632         command keys.
5633         * lisp/help.el (help--docstring-quote): New function.
5634         (help-split-fundoc): Use it, to quote funny characters more
5635         systematically.
5636         (help--make-usage): Rename from help-make-usage, since this
5637         should be private.  Leave an obsolete alias for the old name.
5638         (help--make-usage-docstring): New function.
5639         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
5641 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5643         * lisp/thingatpt.el (in-string-p): Revert last change,
5644         since in-string-p is not used in thingatpt.el but only from outside.
5645         Also, use lexical binding.
5647 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
5649         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
5650         * test/automated/let-alist.el (let-alist-cons): Test it.
5652 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
5654         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
5656 2015-06-10  Glenn Morris  <rgm@gnu.org>
5658         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
5660         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
5661         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
5662         * admin/gitmerge.el (gitmerge-commit-message):
5663         Exclude "skipped" messages from ChangeLog once again.
5665         Slight namespace cleanup for thingatpt.el.
5666         * lisp/thingatpt.el (thing-at-point--in-string-p)
5667         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
5668         (thing-at-point--read-from-whole-string): Rename from
5669         old versions without "thing-at-point--" prefix.
5670         Keep old versions as obsolete aliases.  Update all uses.
5672         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
5673         Move requiring of finder from here...
5674         (checkdoc-package-keywords): ... to here.
5676         Use 'user-error' in a few calendar files.
5677         * lisp/calendar/appt.el (appt-add):
5678         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
5679         (calendar-generate):
5680         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
5681         Replace 'error' with 'user-error'.
5683         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
5685         * lisp/files-x.el (add-file-local-variable):
5686         Special-case 'lexical-binding'.  (Bug#20641)
5688         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
5689         No longer autoload.
5690         * doc/misc/autotype.texi (Executables):
5691         Undocument executable-self-display.
5693         * lisp/progmodes/executable.el (executable-self-display):
5694         Use non-obsolete tail syntax.  (Bug#20779)
5695         (executable-self-display): Doc update.
5697 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
5699         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
5700         (finder-known-keywords): Silence byte-compiler.
5702 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5704         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
5706         * lisp/progmodes/sh-script.el: Better handle nested quotes
5707         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
5708         (sh-font-lock-quoted-subshell): Make sure double quotes within single
5709         quotes don't mistakenly end prematurely the surrounding string.
5711         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
5713 2015-06-09  Glenn Morris  <rgm@gnu.org>
5715         * test/automated/Makefile.in (ELFILES): Sort.
5717         * Makefile.in (SUBDIR_MAKEFILES):
5718         * lwlib/Makefile.in (WARN_CFLAGS):
5719         Use built-in Make functions rather than echo+sed.
5721 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
5723         Update char-script-table
5724         * lisp/international/characters.el (char-script-table): Update
5725         from Unicode 8.0 Draft.
5727         Improve font selection for punctuation and other symbols
5728         * src/fontset.c (face_for_char): If the character's script is
5729         'symbol', and the font used for ASCII face has a glyph for it, use
5730         the font for the ASCII face instead of searching the fontsets.
5731         This comes instead of NS-specific code that used the current
5732         face's font instead, which is now disabled due to undesirable
5733         consequences.  (Bug#20727)
5735 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
5737         Skip past `#' to find BEG
5738         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
5739         past `#' to find BEG (bug#20771).
5740         * test/automated/elisp-mode-tests.el
5741         (elisp-completes-functions-after-hash-quote): New test.
5743 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
5745         Fix compilation warning/error in --without-x builds
5746         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
5747         code on HAVE_WINDOW_SYSTEM.
5749         Improve the default fontset wrt symbols
5750         * lisp/international/fontset.el (setup-default-fontset): Better
5751         setup of fontset-default for symbols: use Symbola and FreeMono.
5752         (Bug#20727)
5754 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
5756         Add new command checkdoc-package-keywords
5757         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
5758           defcustom.
5759         (checkdoc-list-of-strings-p): Add doc.
5760         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
5761         non-nil, call `checkdoc-package-keywords'.
5762         (checkdoc-get-keywords): New defun.
5763         (checkdoc-package-keywords): New command. Warns if the current file
5764         has package.el-style keywords that aren't in `finder-known-keywords'.
5765         * etc/NEWS: Add entry.
5767 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
5769         Avoid crashes when key-binding is called from a timer
5770         * src/keymap.c (Fkey_binding): Don't segfault if called with an
5771         empty vector as KEY.  (Bug#20705)
5773         Fix a thinko in arc-mode.el
5774         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
5775         non-Zip64 case.  (Bug#20769)
5777 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
5779         * lisp/emacs-lisp/package.el (package-delete): Make interactive
5781 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
5783         checkdoc.el (checkdoc-file): New function
5784         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
5785           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
5786           to the standard output.
5787         (bug#20754)
5789 2015-06-07  Glenn Morris  <rgm@gnu.org>
5791         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
5793         * src/font.c (syms_of_font) <font-log>: Doc fix.
5795         Remove the obsolete leading "*" from some C doc strings.
5796         * src/coding.c (syms_of_coding):
5797         * src/font.c (syms_of_font): Remove leading "*" from docs.
5798         * lisp/cus-start.el (enable-character-translation): Add it.
5800 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
5802         Move gen_origin from program to data
5803         That way, 'make change-history' needs to change only ChangeLog.2,
5804         instead of having to change two files.
5805         * ChangeLog.2: Add commit info for range that this file covers.
5806         * Makefile.in (new_commit_regexp): New macro.
5807         (change-history-nocommit): Simplify, by putting what used to be
5808         the gen_origin value into the data (ChangeLog.2) rather than
5809         into the program (gitlog-to-emacslog).
5810         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
5811         the input file (e.g., ChangeLog.2) rather than by having a
5812         constant in the program.  Substitute it into the output.
5814 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
5816         Escape any quotes in the function name
5817         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
5818         function name (bug#20759).
5820 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
5822         Adapt 'struct timespec' to next release of MinGW runtime
5823         * nt/inc/ms-w32.h (struct timespec): Don't declare if
5824         __struct_timespec_defined is defined.
5826 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
5828         Merge from gnulib
5829         This incorporates:
5830         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
5831         2015-06-05 stdio: Don't redefine gets when using C++
5832         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
5833         2015-06-02 file-has-acl: fix build on Mac OS X 10
5834         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
5835         2015-06-01 pthread_sigmask: discount system version if a simple macro
5836         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
5837         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
5838         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
5839         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
5840         * lib/gnulib.mk: Regenerate.
5842 2015-06-06  Juri Linkov  <juri@linkov.net>
5844         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
5845         before calling grep-compute-defaults because now it affects the
5846         command lines computed in grep-compute-defaults. (Bug#20728)
5848 2015-06-06  Glenn Morris  <rgm@gnu.org>
5850         Address some compilation warnings.
5851         * lisp/international/mule-cmds.el (w32-get-console-codepage)
5852         (w32-get-console-output-codepage):
5853         * lisp/progmodes/elisp-mode.el (xref-collect-references):
5854         * lisp/version.el (cairo-version-string): Declare.
5855         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
5857 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
5859         Fix display when a font claims large values of ascent and descent
5860         This fixes bug#20628.
5861         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
5862         coordinate of a hollow cursor glyph when the original glyph's
5863         ascent is too small.
5864         (get_font_ascent_descent, normal_char_ascent_descent)
5865         (normal_char_height): New functions.
5866         (handle_single_display_spec, append_space_for_newline)
5867         (calc_pixel_width_or_height, produce_stretch_glyph)
5868         (calc_line_height_property): Use normal_char_ascent_descent and
5869         normal_char_height.
5870         (x_produce_glyphs): When font-global values of ascent and descent
5871         are too large, use per-character glyph metrics instead, if
5872         possible.  But don't allow the glyph row's ascent and descent
5873         values become smaller than the values from the metrics of the
5874         font's "normal" character.
5875         * src/xftfont.c (xftfont_draw):
5876         * src/w32font.c (w32font_draw): Correct the values of ascent and
5877         descent used to draw glyphless characters' hex code in a box.
5878         * src/xterm.c (x_draw_glyph_string_background):
5879         * src/xdisp.c (x_produce_glyphs):
5880         * src/w32term.c (x_draw_glyph_string_background):
5881         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
5882         to detect fonts whose global ascent and descent values are too
5883         large to be used in layout decision, and redraw the background
5884         when that happens.
5885         * src/dispextern.h (FONT_TOO_HIGH): New macro.
5886         (get_font_ascent_descent): Add prototype.
5887         * src/xterm.c (x_new_font):
5888         * src/w32term.c (x_new_font):
5889         * src/nsterm.m (x_new_font):
5890         * src/font.c (font_open_entity):
5891         * src/composite.c (composition_gstring_width): Use
5892         get_font_ascent_descent to obtain reasonable values for ascent and
5893         descent of a font.
5895 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
5897         Add assertion in adjust_point_for_property
5898         * src/keyboard.c (adjust_point_for_property): Add eassert for
5899         current buffer being shown in selected window.
5901 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
5903         Replace uses of in-string-p; make it obsolete
5904         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
5905         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
5907 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
5909         Fix Dired display of an explicit list of files by ls-lisp.el
5910         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
5911         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
5912         correct for when displaying individual files separately, not as
5913         part of listing a directory, in which case these values are not
5914         recomputed by 'ls-lisp-insert-directory', but used verbatim.
5916         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
5918 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
5920         Do not adjust point in a non-selected window
5921         * src/keyboard.c (command_loop_1): Do not adjust point when
5922         current buffer is not shown in selected window (Bug#20590).
5924         * etc/DEBUG: Mention 'maybe_call_debugger'
5926 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
5928         Fix a unit test for map.el
5929         * test/automated/map-tests.el (test-map-let): Fix the test to work
5930         with the new syntax of `map-let'.
5932         * lisp/emacs-lisp/map.el (map-let): Better docstring.
5934         Better syntax for the map pcase pattern
5935         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
5936         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
5938         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
5940         Fix a byte-compiler error in map-put and map-delete
5941         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
5942         called with a symbol.
5944 2015-06-05  Glenn Morris  <rgm@gnu.org>
5946         * admin/gitmerge.el (gitmerge-commit-message):
5947         Revert to including "skipped" messages in ChangeLog once again.
5949 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
5951         Use string> instead of equiv lambda with string<
5952         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
5953         lambda with string<.
5955 2015-06-05  Glenn Morris  <rgm@gnu.org>
5957         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
5958         (map--delete-array): Fix typo.
5960         * test/automated/map-tests.el: Replace "assert" with "should".
5962         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
5963         (SUBDIRS_REL): Derive from SUBDIRS.
5965         Tweak some build messages.
5966         * lisp/Makefile.in ($(lisp)/loaddefs.el):
5967         * lisp/cus-dep.el (custom-make-dependencies):
5968         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
5969         * lisp/international/titdic-cnv.el (batch-titdic-convert):
5970         Don't say how to compile.
5972 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
5974         Omit U+0332 COMBINING LOW LINE in previous change
5975         It turns out that it does not work on Ubuntu 15.04.
5977         Fix transliteration of Bahá'í months
5978         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
5979         Improve quality of Latin transliteration of Bahá'í month names.
5981         Fix curved quotes in a few places
5982         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
5983         The strings in question are not doc strings, so this partially
5984         undoes the recent change that assumed they were doc strings.
5985         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
5986         * lisp/info.el (Info-finder-find-node):
5987         Use curved quotes.
5988         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
5989         Also allow curved quotes in doc strings.
5991 2015-06-04  Glenn Morris  <rgm@gnu.org>
5993         * lisp/Makefile.in (AM_V_at): Add missing definition.
5995         * lisp/Makefile.in: Quieten output a bit.
5996         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
5997         Don't echo directories, since the commands we invoke print them.
5999         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
6000         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
6001         (SUBDIRS_SUBDIRS): New variables.
6002         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
6003         Remove.
6004         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
6005         (update-subdirs, compile-main, compile-clean):
6006         Replace "setwins" usage with new "SUBDIRS" variables.
6008         * lisp/vc/compare-w.el (compare-windows-get-window-function):
6009         Fix :version tag.
6011 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6013         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
6015         Undo removal of x_clear_area call on expose for GTK3 or cairo.
6016         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
6017         exposed area.  (Bug#20677)
6019 2015-06-04  Glenn Morris  <rgm@gnu.org>
6021         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
6023         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
6025         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
6026         Rename from quail-lao-update-translation, since lao.el defines that.
6028 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
6030         Handle new-style advice in find-funct
6031         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
6032         Handle new-style advice.  Return the symbol's function definition.
6033         (Bug#20718)
6034         (find-function-library): Update accordingly.
6036 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
6038         Merge branch 'map'
6040         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
6042         Add new function string-greaterp
6043         * lisp/subr.el (string-greaterp): New function.  Also aliased to
6044         `string>'.
6045         * test/automated/subr-tests.el (string-comparison-test): Add unit
6046         tests for `string>'and `string<'.
6047         * src/fns.c (string-lessp): Better docstring.
6049 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
6051         Fix timezone-related functions on MS-Windows
6052         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
6053         'xputenv', even if no reallocation of tzvalbuf was necessary.
6054         This fixes a bug in timezone-related functions on MS-Windows.
6055         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
6057 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
6059         Don't pass raw directory name to 'error'
6060         * lisp/files.el (basic-save-buffer-2): Avoid format error if
6061         a directory name contains a string like "%s".
6063 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
6065         Override 'grep --color=always'
6066         * lisp/progmodes/xref.el (xref-collect-matches):
6067         Override --color=always in grep-find-template.
6069 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
6071         Fix error introduced recently in file-notify-tests.el
6072         * test/automated/file-notify-tests.el
6073         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
6074         (file-notify--deftest-remote): Revert previous patch, not
6075         necessary anymore.
6077 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
6079         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
6080         Starting from a display string after a newline, point went to the
6081         previous line.  Also, fix an inadvertent use of a buffer position
6082         with FETCH_BYTE.  (Bug#20701)
6084 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
6086         Instrument file-notify-test.el in order to catch hydra error.
6087         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
6088         Wrap body by `ignore-case', in order to trap non-local errors.
6090 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6092         Undo previous changes in non-toolkit scroll bar drawing.
6093         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
6094         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
6096 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
6098         * .gitignore: Also ignore doc/*/*/*.html and .ps.
6100         Support quotes 'like this' in info files
6101         This is possible when 'makeinfo --disable-encoding' is used
6102         in Texinfo 5.
6103         * lisp/calc/calc-help.el (calc-describe-thing):
6104         * lisp/gnus/gnus-art.el (gnus-button-alist):
6105         * lisp/info.el (Info-find-index-name):
6106         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
6107         Also support quotes 'like this'.
6108         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
6109         * lisp/finder.el (finder-font-lock-keywords): Remove var that
6110         hasn't been used in years, instead of bothering to fix its quoting.
6112 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
6114         * .gitignore: Remove !test/etags/html-src/*.html.
6115         It's no longer needed, since *.html was removed.  Sort.
6117 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
6119         Restore <D> instead of '.' in grep-find-template
6120         * lisp/cedet/semantic/symref/grep.el
6121         (semantic-symref-grep-use-template): Update a comment.
6122         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
6123         instead of '.' in grep-find-template (bug#20719).
6124         (rgrep): Pass nil as the directory to rgrep-default-command.
6125         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
6126         default value for DIR.
6127         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
6128         workaround.
6130 2015-06-02  Glenn Morris  <rgm@gnu.org>
6132         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
6134         * configure.ac (emacs_config_features): Add Cairo.
6136         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
6138 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
6140         Ensure, that autorevert works for remote files in file-notify-tests.el
6141         * test/automated/file-notify-tests.el (file-notify--test-desc):
6142         New defvar.
6143         (file-notify--test-remote-enabled)
6144         (file-notify-test00-availability, file-notify-test01-add-watch)
6145         (file-notify-test02-events): Use it.
6146         (file-notify--test-event-test): Check proper descriptor.
6147         (file-notify-test03-autorevert): Ensure, that
6148         `visited-file-modtime' has changed.
6149         (Bug#20392)
6151 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
6153         Add a pcase pattern for maps and `map-let' based on it
6154         * lisp/emacs-lisp/map.el (map-let): New macro.
6155         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
6156         * test/automated/map-tests.el: New test for `map-let'.
6158 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
6160         Reuse rgrep mechanics in xref-find-regexp
6161         * lisp/progmodes/grep.el (rgrep-default-command):
6162         Extract from `rgrep'.
6163         * lisp/progmodes/xref.el (xref-collect-references): Split from
6164         `xref-collect-matches'.  Only handle the case of symbol search.
6165         (xref-collect-matches): Instead of Semantic Symref, use
6166         `rgrep-default-command', to take advantage of its directory and
6167         file ignore settings.
6168         (xref--collect-match): Remove the last argument, leaving the
6169         regexp construction up to the caller.
6170         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
6171         Change to take the xref-collect- function to use as an argument.
6172         (elisp-xref-find): Update accordingly.
6173         * lisp/progmodes/etags.el (etags--xref-find-matches)
6174         (etags-xref-find): Same.
6176         Move xref-elisp-location to elisp-mode.el
6177         * lisp/progmodes/xref.el (xref-elisp-location)
6178         (xref-make-elisp-location, xref-location-marker): Remove here.
6179         (xref--xref): Don't limit the type of the location slot.
6180         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
6181         Define as a cl-struct here.
6182         (xref-location-marker): Move here.
6184 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
6186         Minor tweaks for .gitignore
6187         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
6188         ignore admin/notes/tags that might be ignored as TAGS on
6189         case-insensitive filesystems.  (Bug#20710)
6191 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
6193         Generate curved quotes in ert doc
6194         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
6195         (ert-results-mode-menu)
6196         (ert-results-pop-to-backtrace-for-test-at-point)
6197         (ert-results-pop-to-messages-for-test-at-point)
6198         (ert-results-pop-to-should-forms-for-test-at-point)
6199         (ert-describe-test):
6200         Quote ‘like this’, not `like this', when generating doc strings
6201         and the like.
6202         * test/automated/ert-x-tests.el (ert-test-describe-test):
6203         Allow quoting ‘like this’.
6205 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
6207         Add test for previous commit
6208         * test/automated/replace-tests.el: New file.
6209         (query-replace--split-string-tests): Add test for previous commit.
6211         Avoid confusion in query-replace history when replacing NUL chars
6212         * lisp/replace.el (query-replace--split-string): New function.
6213         (query-replace-read-from): Rely on the 'separator' property
6214         instead of searching for the NUL character (Bug#20690).
6216 2015-06-02  Glenn Morris  <rgm@gnu.org>
6218         Merge from origin/emacs-24
6219         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
6221         * admin/gitmerge.el (gitmerge-commit-message):
6222         Exclude "skipped" messages from ChangeLog.
6224 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
6226         Sync with Tramp repository
6227         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
6228         messages.
6229         (tramp-handle-make-auto-save-file-name): When calling
6230         `make-auto-save-file-name' internally, make sure it uses Unix-like
6231         behavior, not Windows-like behavior.
6232         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
6233         the local case, because "chown" might fail on w32.
6234         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
6235         for XEmacs.
6237 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
6239         MS-Windows followup for batch stdout/stderr output changes
6240         * lisp/international/mule-cmds.el (set-locale-environment): In
6241         batch mode, use console codepages for keyboard and terminal
6242         encoding.  (Bug#20545)
6244         Update .gitattributes for DOS EOL files
6245         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
6246         CRLF end-of-line format.
6248         NS equivalents of xterm.c and w32term.c changes
6249         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
6250         glyph string background also when the font in use claims
6251         preposterously large global height value.  Helps to remove
6252         artifacts left from previous displays when glyphless characters
6253         are displayed as hex code in a box.
6254         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
6255         value for FRAME_LINE_HEIGHT, even when a font claims very large
6256         value for its height.
6258 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6260         Avoid grave accent quoting in stderr diagnostics
6261         A few Emacs diagnostics go directly to stderr, and so can't easily
6262         contain curved quotes (as non-UTF-8 locales might mishandle them).
6263         Instead of bothering to add support for this rarity, reword the
6264         diagnostics so that they don't use grave accent to quote.
6265         * src/alloc.c (mark_memory): Fix comment.
6266         * src/buffer.c (init_buffer):
6267         * src/dispnew.c (init_display):
6268         * src/emacs.c (main, sort_args):
6269         * src/lread.c (dir_warning):
6270         * src/term.c (init_tty):
6271         * src/unexmacosx.c (unexec):
6272         * src/xfns.c (select_visual):
6273         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
6274         Reword stderr diagnostics to avoid quoting `like this'.
6275         * src/unexmacosx.c: Include errno.h.
6276         * src/xfns.c (select_visual): Encode value for locale.
6278 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6280         Treat batch stdout/stderr like standard display
6281         Calls like (print FOO) could generate improperly encoded or
6282         hard-to-read output if FOO contains characters outside the system
6283         locale.  Fix this by treating batch stdout and stderr like
6284         interactive standard display, when it comes to transliterating and
6285         encoding characters (Bug#20545).
6286         * doc/emacs/mule.texi (Communication Coding):
6287         * doc/lispref/display.texi (Active Display Table):
6288         * doc/lispref/nonascii.texi (Locales):
6289         * etc/NEWS:
6290         * src/coding.c (syms_of_coding):
6291         * src/dispnew.c (syms_of_display):
6292         Document this.
6293         * src/print.c: Include disptab.h.
6294         (printchar_to_stream): New function, with much of the guts of the
6295         old Fexternal_debugging_output, except this one also uses the
6296         standard display table.
6297         (printchar, strout, Fexternal_debugging_output): Use it.
6299 2015-05-31  Glenn Morris  <rgm@gnu.org>
6301         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
6303 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6305         Remove unused DEFSYMs
6306         Remove DEFSYMs that aren't used at the C level.  Also:
6307         * src/decompress.c (Qzlib_dll):
6308         * src/font.c (Qunicode_sip):
6309         * src/frame.c (Qtip_frame):
6310         * src/ftfont.c (Qserif):
6311         * src/gnutls.c (Qgnutls_dll):
6312         * src/xml.c (Qlibxml2_dll):
6313         Move from here ...
6314         * src/w32fns.c (syms_of_w32fns): ... to here,
6315         as these are used only on MS-Windows.
6317 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
6319         Use another default value for tramp-histfile-override
6320         * lisp/net/tramp-sh.el (tramp-histfile-override):
6321         Use ".tramp_history" as default.
6322         Fixes: debbugs:#20446
6324 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
6326         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
6328 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
6330         * etc/NEWS: Add an entry about map.el
6332         Improve the docstring of functions in map.el
6333         Since a map is not a data structure but a concept, adding information
6334         about the possible types of maps can be useful information.
6335         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
6336         each public function.
6338 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
6340         Faster implementation of map-empty-p
6341         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
6342         specific tests depending on the type of the map.
6344         * lisp/emacs-lisp/map.el: Better docstrings.
6346 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
6348         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
6350 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
6352         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
6354         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
6356         Fix a false negative in `map-elt' with alists and values being nil
6357         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
6358         found but its associated value is nil, do not return the default
6359         value.
6360         * test/automated/map-tests.el: Add a regression test.
6362 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
6364         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
6366         Do not signal an error when trying to delete a key from an array
6367         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
6368         the key is present to avoid signaling an error.
6369         * test/automated/map-tests.el: Add a test for deleting non-existing
6370         keys from maps.
6372         * lisp/emacs-lisp/map.el: Better docstring.
6374         Minor improvement in map-elt.
6375         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
6376         doing a lookup in arrays, but check the boundaries of the array
6377         instead.
6378         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
6379         and a negative integer as key.
6381 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
6383         * test/automated/map-tests.el: Refactoring of test methods.
6385         * test/automated/map-tests.el: Renamed from map-test.el.
6387 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
6389         * lisp/emacs-lisp/map.el (map-into): Better error message.
6391         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
6393         Throw an error when converting a map into an unknown map type
6394         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
6395         * test/automated/map-test.el: Add a regression test.
6397         New library map.el similar to seq.el but for mapping data structures.
6398         * test/automated/map-test.el: New file.
6399         * lisp/emacs-lisp/map.el: New file.
6401 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
6403         Make sure there's no explicit tag name
6404         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
6405         there's no explicit tag name (bug#20629).
6407 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
6409         Remove format2
6410         * src/editfns.c, src/lisp.h (format2): Remove.
6411         It is more trouble than it's worth, now that we have CALLN.
6412         This is just a minor refactoring.
6413         * src/buffer.c (Fkill_buffer):
6414         * src/dbusbind.c (XD_OBJECT_TO_STRING):
6415         * src/fileio.c (barf_or_query_if_file_exists):
6416         Adjust to format2 going away.
6418         Don't misencode C-generated messages
6419         Also, be more consistent about calls to 'Fmessage' vs 'message'.
6420         * src/alloc.c (Fgc_status):
6421         Prefer AUTO_STRING to build_string for Fmessage call.
6422         * src/data.c (Fmake_variable_buffer_local)
6423         (Fmake_local_variable, Fmake_variable_frame_local):
6424         * src/doc.c (store_function_docstring):
6425         Use Fmessage, not message, since the argument can contain
6426         non-ASCII characters, and this can cause the resulting message
6427         to be incorrectly encoded for the current environment.
6428         * src/fns.c (maybe_resize_hash_table):
6429         * src/xselect.c (x_clipboard_manager_save_all):
6430         Use message, not Fmessage, since Fmessage's power isn't needed here.
6431         * src/process.c (Fmake_network_process): Reword message to avoid %s.
6432         * src/xdisp.c (vmessage): Document restrictions on message contents.
6433         (message_nolog) [false]: Remove unused code.
6435         Use \r rather than ^M in string literals
6436         This is less likely to cause problems on platforms that
6437         use CRLF (or CR!) termination for lines.
6439         Update .gitattributes to match current sources
6440         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
6441         * .gitattributes: Accommodate tests that insist on DOS format.
6442         Remove test/automated/data/decompress/foo-gzipped.
6443         Add etc/e/eterm-color.
6445 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
6447         Document 'face-ignored-fonts'
6448         * doc/emacs/mule.texi (Modifying Fontsets): Document
6449         face-ignored-fonts.  (Bug#20628)
6451         Add etags test for the new -Q option
6452         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
6453         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
6454         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
6455         test-case changes below.
6456         * test/etags/ETAGS.good_6: New file.
6457         * test/etags/cp-src/x.cc: New file.
6458         * test/etags/Makefile (CPSRC): Add x.cc.
6459         (check): Add one more test, for -Q.
6461 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
6463         Use list for the tags completion table, not obarray
6464         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
6465         list instead of an obarray
6466         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
6467         (tags-completion-table): Combine those lists.
6468         (tags-completion-table): Update the docstring.
6470 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
6472         Restore EOL format testing in etags
6473         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
6474         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
6475         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
6476         test-case changes below.
6477         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
6478         * test/etags/cp-src/c.C (B): Add back stray CR character.
6479         * test/etags/c-src/dostorture.c: Add back.
6480         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
6482 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
6484         Declare Emacs on MS-Windows to be DPI-aware
6485         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
6486         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
6487         This avoids Windows entering compatibility mode for Emacs,
6488         which causes fonts to look less nice.
6490 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
6492         Improve Tramp traces.
6493         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
6494         * lisp/net/tramp.el (tramp-debug-message): Use it.
6496 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
6498         backup-buffer minor reworking of internals
6499         * lisp/files.el (backup-buffer): Rework to avoid a couple of
6500         unused locals inadvertently introduced in the previous change.
6502         backup-buffer now reports .emacs.d/%backup% ills
6503         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
6504         fails due to disk space exhaustion or whatever, do not pretend
6505         that it succeeded.  More generally, do a better job of checking
6506         for I/O failures, and limit the scope of the condition-case to
6507         just the operations where file errors should be caught and ignored
6508         (Bug#20595).  Also, don't bother trying to delete later backups if
6509         an earlier deletion fails, as this is a sign of trouble and it's
6510         better to stop when there's trouble.
6512         copy-file now truncates output after writing
6513         * src/fileio.c (Fcopy_file): Truncate output after writing rather
6514         than before.  This is more likely to work than truncation before
6515         writing, if the file system is out of space or the user is over
6516         disk quota (Bug#20595).  Also, check for read errors.
6518 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6520         * lisp/emacs-lisp/package.el: Don't load from parent dir
6521         (package-load-all-descriptors): Don't load descriptors from
6522         directories above the package directories.
6524 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
6526         Merge from gnulib
6527         This incorporates the following (Bug#20681):
6528         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
6529         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
6530         * lib/set-permissions.c: Copy from gnulib.
6532 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
6534         Improve Tramp traces.
6535         * lisp/net/tramp.el (tramp-call-process-region): New defun.
6536         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
6538 2015-05-29  Glenn Morris  <rgm@gnu.org>
6540         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
6542 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
6544         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
6545         The signature was changed in the cairo branch, merged on 2015-05-23.
6546         This oversight broke compiling only the non-toolkit X version.
6548 2015-05-29  Samer Masterson  <samer@samertm.com>
6550         * doc/lispref/os.texi: Update initial-buffer-choice docs.
6552 2015-05-29  Glenn Morris  <rgm@gnu.org>
6554         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
6555         Mark as an expected failure.
6557 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
6559         Change package test to look for curved quotes
6560         * test/automated/package-test.el (package-test-describe-package)
6561         (package-test-signed): Search for curved single quotes as well as
6562         for grave accent and apostrophe.
6564 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
6566         gnus-art.el: Re-revert last change
6567         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
6568         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
6570 2015-05-28  Samer Masterson  <samer@samertm.com>
6572         Show files when `initial-buffer-choice' is non-nil
6573         * startup.el (command-line-1): When Emacs is given a file as an
6574         argument and `initial-buffer-choice' is non-nil, display both the file
6575         and `initial-buffer-choice'.  For more than one file, show
6576         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
6577         commands out of the command line arg parser.
6578         (initial-buffer-choice): Clarify docstring.
6580 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
6582         Fix last commit
6583         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
6584         (gnulib module qcopy-acl): Add back, as it is harmless.  This
6585         minimizes differences wrt lib/gnulib.mk.
6587         Fix the MS-Windows build as followup to gnulib update
6588         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
6589         set-permissions.c, as they don't compile on MinGW.
6590         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
6592 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
6594         Revert my change to gnus-art.el
6595         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
6596         It wasn't that important, and it caused a Gnus build to fail.  See:
6597         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
6599         New minor mode Electric Quote
6600         This lets you easily insert quotes ‘like this’ by typing
6601         quotes `like this', and similarly you can easily insert
6602         quotes “like this” by typing quotes ``like this'' (Bug#20545).
6603         * doc/emacs/basic.texi (Inserting Text):
6604         * doc/emacs/modes.texi (Minor Modes):
6605         * etc/NEWS: Document it.
6606         * doc/emacs/text.texi (Quotation Marks): New section.
6607         * lisp/electric.el (electric-quote-comment)
6608         (electric-quote-string, electric-quote-paragraph):
6609         New custom vars.
6610         (electric--insertable-p)
6611         (electric-quote-post-self-insert-function): New functions.
6612         (electric-quote-mode, electric-quote-local-mode): New minor modes.
6613         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
6614         Add curved single quotes to electric-pair-text-pairs.
6615         Set electric-quote-string in this buffer.
6617         A few more doc string fixes (Bug#20385)
6619         Accept curved quotes in doc strings
6620         * lisp/info-look.el (info-lookup-guess-custom-symbol):
6621         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
6623         Generate curved quotes in pseudo-info nodes
6624         * lisp/info.el (Info-virtual-index-find-node)
6625         (Info-virtual-index, Info-apropos-find-node, info-apropos):
6626         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
6628         Fix minor quoting problems in doc strings
6629         Most of these fixes involve escaping grave accents that are
6630         actually intended to be grave accents, not left quotes.
6631         (Bug#20385)
6633         Support curved quotes in doc strings
6634         Emacs's traditional doc string style has been to quote symbols
6635         `like this'.  This worked well on now-obsolete terminals where
6636         ` and ' were symmetric quotes, but nowadays curved quotes
6637         ‘like this’ look better.  Support quoting the new way too.
6638         (Bug#20385)
6639         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
6640         ‘like-this’ as well as `like-this'.
6641         * etc/NEWS: Mention this.
6642         * lisp/cedet/mode-local.el (overload-docstring-extension)
6643         (mode-local-print-binding, mode-local-describe-bindings-2):
6644         * lisp/cus-theme.el (describe-theme-1):
6645         * lisp/descr-text.el (describe-text-properties-1, describe-char):
6646         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
6647         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
6648         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
6649         (eieio-help-constructor):
6650         * lisp/emacs-lisp/package.el (describe-package-1):
6651         * lisp/faces.el (describe-face):
6652         * lisp/help-fns.el (help-fns--key-bindings)
6653         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
6654         (help-fns--interactive-only, describe-function-1):
6655         (describe-variable):
6656         * lisp/help.el (describe-mode):
6657         * lisp/international/mule-cmds.el (describe-input-method)
6658         (describe-language-environment):
6659         * lisp/international/mule-diag.el (describe-character-set)
6660         (print-coding-system-briefly, list-input-methods)
6661         (list-input-methods-1):
6662         Insert curved quotes rather than grave accent and apostrophe.
6663         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
6664         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
6665         (checkdoc-proper-noun-region-engine):
6666         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
6667         (lisp-cl-font-lock-keywords-2):
6668         * lisp/finder.el (finder-font-lock-keywords):
6669         * lisp/gnus/gnus-art.el (gnus-button-alist):
6670         * lisp/help-fns.el (help-do-arg-highlight)
6671         (describe-function-1, describe-variable):
6672         * lisp/help-mode.el (help-xref-symbol-regexp)
6673         (help-xref-info-regexp, help-xref-url-regexp):
6674         * lisp/help.el (describe-mode):
6675         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
6676         * lisp/wid-edit.el (widget-documentation-link-regexp):
6677         Parse symbols quoted ‘like-this’ as well as `like-this'.
6678         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
6679         Add "‘" and "’" to electric-pair-text-pairs.
6680         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
6681         (elisp-completion-at-point, elisp--preceding-sexp):
6682         Also treat "‘" and "’" as quoting chars.
6684         substitute-command-keys now curves quotes
6685         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
6686         * doc/lispref/help.texi (Keys in Documentation):
6687         * etc/NEWS: Document this.
6688         * src/doc.c (Fsubstitute_command_keys): Implement it.
6690 2015-05-28  Glenn Morris  <rgm@gnu.org>
6692         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
6693         (rmail-summary-by-topic, rmail-summary-by-senders):
6694         No longer strip leading/trailing whitespace.
6696         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
6697         (f90-no-block-limit): Add "enum".  (Bug#20680)
6698         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
6699         New tests.
6701 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6703         * lisp/isearch.el (isearch--current-buffer): Give a default value.
6705         Un-revert changes mistakenly dropped by f9fabb2b
6707 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
6709         Merge from gnulib
6710         This incorporates:
6711         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
6712         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
6713         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
6714         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
6715         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
6716         2015-05-26 stdio: fix probe on mingw under gcc 5.1
6717         * admin/merge-gnulib (GNULIB_MODULES):
6718         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
6719         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
6720         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
6721         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
6722         Get latest versions from gnulib.
6723         * lib/get-permissions.c, lib/set-permissions.c: New files.
6724         * lib/gnulib.mk, m4/gnulib-comp.m4:
6725         Regenerate.
6726         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
6728 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
6730         Delete the old process in vc-setup-buffer
6731         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
6732         process here.
6733         (vc-do-command): Rather than here (bug#20608).
6735 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
6737         Avoid gratuitous delete-dups in face-at-point.
6738         * lisp/faces.el (face-at-point): Do not compute the properly
6739         ordered, duplicate-free list if only a single value is
6740         requested anyway.  (Bug#20519)
6742         Show the exact C-x 8 RET invocation in describe-char.
6743         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
6744         invocation instead of a template.  (Bug#20522)
6746 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
6748         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
6749         (package-menu--post-refresh): Call `tabulated-list-print' with the
6750         UPDATE argument.  This only affects the refresh action, the revert
6751         action still erases tags.
6752         (package-menu-get-status): Change `assq' to `assoc'.
6753         (package-menu--mark-upgrades-1): New function.
6754         (package-menu--mark-upgrades-pending): New variable.
6755         (package-menu-mark-upgrades): Use them to delay marking until
6756         after refresh is done.
6757         (package-menu--post-refresh): Call mark-upgrades-1 if
6758         mark-upgrades-pending is non-nil.
6760 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
6762         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
6764 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6766         * lisp/isearch.el (isearch--current-buffer): New var
6767         (isearch-update): Set cursor-sensor-inhibit here.
6768         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
6770         Change inhibit-point-motion-hooks to t
6771         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
6772         to t and document it as obsolete.
6774 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
6776         Support ZIP files that use Zip64 extensions
6777         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
6778         format of central directory offsets used by Zip64 extensions.
6779         (Bug#20665)
6781 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
6783         New test tramp-test30-make-auto-save-file-name
6784         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
6785         (tramp-test31-special-characters)
6786         (tramp-test31-special-characters-with-stat)
6787         (tramp-test31-special-characters-with-perl)
6788         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
6789         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
6790         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
6791         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
6793         Improve tramp-handle-make-auto-save-file-name
6794         * tramp.el (tramp-auto-save-directory): Add :tags.
6795         (tramp-handle-make-auto-save-file-name): Let native
6796         `make-auto-save-file-name' use `auto-save-file-name-transforms',
6797         if `tramp-auto-save-directory' is not set.
6799 2015-05-27  Glenn Morris  <rgm@gnu.org>
6801         No longer set dired-directory in eshell.  (Bug#16477)
6802         * lisp/eshell/esh-mode.el (eshell-mode):
6803         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
6805         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
6807         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
6808         * lisp/progmodes/cc-mode.el (c-mode-help-address):
6809         Change to submit@debbugs.
6810         (c-mode-bug-package): New constant.
6811         (mail-position-on-field): Declare.
6812         (c-submit-bug-report): Insert X-Debbugs-Package header.
6813         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
6814         Mention debbugs.gnu.org.
6816 2015-05-26  Glenn Morris  <rgm@gnu.org>
6818         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
6819         (rmail-summary-by-recipients, rmail-summary-by-topic)
6820         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
6821         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
6823 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
6825         Handle curved quotes in info files
6826         * lisp/calc/calc-help.el (calc-describe-thing):
6827         * lisp/info.el (Info-find-index-name)
6828         (Info-try-follow-nearest-node, Info-fontify-node):
6829         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
6830         In info files, process quotes ‘like this’ the same way we process
6831         quotes `like this'.  This catches a few places we missed earlier.
6833 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
6835         xref-prompt-for-identifier: Use a list value
6836         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
6837         value, to be interpreted as a list of commands.
6838         (xref--prompt-p): New function.
6839         (xref--read-identifier): Use it.
6841 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
6843         Teach MS-Windows font back-end return per-glyph ascent/descent
6844         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
6845         values.
6846         * src/w32font.c (w32font_text_extents): Compute, cache, and
6847         accumulate per-glyph ascent and descent values, instead of copying
6848         global values from the font.  If the values are not available from
6849         the font data, i.e., non-TTF fonts, fall back on font-global values.
6850         (compute_metrics): Compute and return per-glyph ascent and descent
6851         values, if returned by GetGlyphOutlineW, falling back on
6852         font-global values.  (Bug#20628)
6853         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
6854         height of rectangle to be drawn, to be compatible with
6855         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
6856         box, when per-glyph ascent/descent values are used.
6858 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
6860         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
6861         (tabulated-list-print): Don't sort if sorter is nil
6863 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
6865         Fix Bug#20621
6866         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
6867         are major modes which set `auto-save-mode' on their own rules;
6868         Tramp shall not overwrite such settings.
6869         (Bug#20621)
6871 2015-05-26  Glenn Morris  <rgm@gnu.org>
6873         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
6874         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
6875         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
6876         Doc updates.
6877         (vc-dir-mode): Remove unnecessary autoload.
6879 2015-05-25  Philipp Stephani  <phst@google.com>
6881         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
6882         (xterm--extra-capabilities-type): Add `getSelection'.
6883         (xterm--query): Add `no-async' argument.
6884         (xterm--init-activate-get-selection): New function.
6885         (terminal-init-xterm): Use it.
6886         (xterm--init-modify-other-keys): Rename from
6887         terminal-init-xterm-modify-other-keys.
6888         (xterm--init-bracketed-paste-mode): Rename from
6889         terminal-init-xterm-bracketed-paste-mode.
6890         (xterm--init-activate-set-selection): Rename from
6891         terminal-init-xterm-activate-set-selection.
6892         (xterm--selection-char): New function.
6893         (gui-backend-set-selection): Use it.  Use the &context to only apply
6894         this method in terminals where we enabled the feature.
6895         (gui-backend-get-selection): New method.
6897 2015-05-25  Daniel Colascione  <dancol@dancol.org>
6899         Add C-language keyword constants to C++
6900         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
6901         keyword constants to C++.
6903 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6905         Make TAGS files more portable to MS-Windows
6906         * etc/NEWS: Document this.
6907         * lib-src/etags.c (readline_internal) [DOS_NT]:
6908         Don't treat CRs differently from GNUish hosts.
6909         * lisp/progmodes/etags.el (etags-goto-tag-location):
6910         Adjust STARTPOS to account for the skipped CRs in dos-style files.
6912 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
6914         Improve fix of debbugs:20634 in tramp-sh.el
6916 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
6918         Fix a typo in last commit
6919         * lib-src/etags.c (C_entries): Fix a typo.
6920         * test/etags/ETAGS.good_1:
6921         * test/etags/ETAGS.good_2:
6922         * test/etags/ETAGS.good_3:
6923         * test/etags/ETAGS.good_4:
6924         * test/etags/ETAGS.good_5:
6925         * test/etags/CTAGS.good: Update due to the change in etags.c.
6927         Fix tagging of class members in C-like OO languages
6928         * lib-src/etags.c (longopts): Add new option --class-qualify and
6929         its shorthand -Q.
6930         (print_help): Add help text for --class-qualify.
6931         (main): Add handling of -Q.
6932         (consider_token, C_entries) <omethodparm>: Append argument types
6933         to Objective C methods only if --class-qualify was specified.
6934         Qualify C++, Objective C, and Java class members with their class
6935         names only if --class-qualify was specified.
6936         (C_entries): If --class-qualify was not specified, remove the
6937         namespace and class qualifiers from tag names of C++ methods.
6938         This allows to use etags.el as xref back-end without the
6939         tag-symbol-match-p method, which greatly increases the number of
6940         potentially false positives.  (Bug#20629)
6941         * doc/man/etags.1: Update to document the new --class-qualify
6942         option.
6943         * test/etags/ETAGS.good_1:
6944         * test/etags/ETAGS.good_2:
6945         * test/etags/ETAGS.good_3:
6946         * test/etags/ETAGS.good_4:
6947         * test/etags/ETAGS.good_5:
6948         * test/etags/CTAGS.good: Update due to changes in etags.c.
6950 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
6952         (cl-generic-define-method): Side effects are evil (bug#20644)
6953         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
6954         cons-cells that might be used as keys in an `equal' hash-table.
6956 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6958         Make erc timestamps visible again
6959         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
6960         timestamps visible again (if requested).
6962 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
6964         Fix last change in etags.c that broke tagging compresed files
6965         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
6966         quoting of decompression shell command for MS-Windows/MS-DOS.
6968 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
6970         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
6971         (Bug#20639)
6973 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
6975         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
6977 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
6979         Fix IPv6 addresses in Tramp
6980         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
6981         Add sqare brackets around host name.
6983 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
6985         Inhibit `epa-file-handler' in Tramp
6986         (Bug#20634)
6987         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
6988         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
6989         `epa-file-handler'.
6991 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
6993         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
6994         (pcase-let): Document the behavior in case the pattern doesn't match.
6996 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
6998         * lisp/emacs-lisp/tabulated-list.el: New optional print method
6999         (tabulated-list-print): New optional argument, UPDATE.  If
7000         non-nil, the list is printed by only adding and deleting the
7001         changed entries, instead of erasing the whole buffer.  This method
7002         is much faster when few or no entries have changed.
7003         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
7004         * etc/NEWS: Document it.
7006         * lisp/emacs-lisp/tabulated-list.el: Improve printing
7007         (tabulated-list--get-sorter): New function.
7008         (tabulated-list-print): Restore window-line when remember-pos is
7009         passed and optimize away the `nreverse'.
7011 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7013         Simpilify etags TEX mode scanning
7014         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
7015         Remove static vars.
7016         (TeX_commands): Deduce escapes here instead.
7017         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
7018         This removes the need for a reset_input call.
7020         Improve etags I/O error reporting
7021         * lib-src/etags.c:
7022         Don't include sys/types.h and sys/stat.h; no longer needed.
7023         (infilename): New static var.
7024         (process_file_name): Don't call 'stat'.  Instead, just open the
7025         file for reading and report any errors.  Don't bother making
7026         a copy of the file argument; it's not needed.  Be more careful to
7027         use the failing errno when reporting an error.
7028         Quote the real name better (though no perfectly)
7029         when passing it to the shell.
7030         (reset_input): New function, which reports I/O errors.
7031         All uses of 'rewind' changed to use this function.
7032         (perhaps_more_input): New function, which also checks for
7033         I/O errors.  All uses of 'feof' changed to use this function.
7034         (analyze_regex): Report an error if fclose fails.
7035         (readline_internal): Report an error if getc fails.
7036         (etags_mktmp): Return an error if close fails.
7038         etags.c: avoid side effects in 'if'
7039         * lib-src/etags.c (process_file_name, Perl_functions)
7040         (TEX_decode_env): Hoist side effects into previous statement.
7042         .gitignore tweaks
7043         * .gitignore: Ignore all *.stamp files.  Sort.
7044         Ignore [0-9]*.txt (commonly used name for git patches)
7045         and /vc-dwim-log-* (vc-dwim temporary).
7047 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
7049         Fix last change in etags.c, which failed the test suite
7050         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
7051         before the last change.
7053 2015-05-23  Glenn Morris  <rgm@gnu.org>
7055         Remove charset map files from repository, generate in first bootstrap
7056         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
7057         (all): Create the stamp file.
7058         (extraclean): Delete the stamp file.
7059         * src/Makefile.in (lispintdir, charsets): New variables.
7060         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
7061         New rules.
7062         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
7063         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
7064         * etc/charsets/*.map: Remove from repository.
7066 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7068         Cleanup etags.c to use locale-independent code
7069         Although this doesn't alter behavior (as etags doesn't use
7070         setlocale), the new version is more clearly locale-independent and
7071         the executable is a bit smaller on my platform.
7072         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
7073         Include <c-ctype.h> instead of <ctype.h>.
7074         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
7075         (begtk, midtk):
7076         Remove; no longer needed.
7077         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
7078         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
7079         c_islower, c_tolower, respectively.
7080         (notinname, begtoken, intoken, endtoken): Rewrite as functions
7081         instead of macros, and initialize the tables at compile-time
7082         rather than at run-time.
7084         Put default action first in src/Makefile
7085         * src/Makefile.in (all): Put this rule before lisp.mk.
7086         That way, plain 'make' works in the src directory again.
7088 2015-05-23  Glenn Morris  <rgm@gnu.org>
7090         * Makefile.in: Fix extraclean rule.
7091         (extraclean_dirs): New.
7092         (extraclean): Use it.
7094 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
7096         Avoid compiler warning in image.c on MS-Windows
7097         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
7098         warning in image.c.
7100 2015-05-23  Glenn Morris  <rgm@gnu.org>
7102         Fix --without-toolkit-scroll-bars builds.
7103         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
7104         Add new argument to x_clear_area1.
7105         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
7106         Update x_clear_area arguments.
7108         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
7109         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
7110         Change to included version.
7111         (LOCAL, local, totalclean): Remove.
7112         (extraclean): Delete all generated files.
7114 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
7116         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
7118         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
7120         tags-completion-at-point-function: Don't trust the find-tag function
7121         * lisp/progmodes/etags.el (tags-completion-at-point-function):
7122         Don't trust the find-tag function.
7124 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7126         Pacify --enable-gcc-warnings
7127         * src/frame.h (x_query_color): Remove redundant extern decl.
7128         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
7129         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
7130         (ftcrfont_text_extents, ftcrfont_draw):
7131         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
7132         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
7133         (x_ins_del_lines, frame_highlight, frame_unhighlight)
7134         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
7135         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
7136         (x_update_window_begin, x_connection_closed)
7137         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
7138         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
7139         (*x_gc_get_ext_data, x_extension_initialize)
7140         (x_cr_accumulate_data):
7141         Remove redundant static decl.  Many of these GCC doesn't complain
7142         about, but we might as well clean out the duplication while we're
7143         in the neighborhood.
7144         * src/xterm.c (x_fill_trapezoid_for_relief):
7145         Remove decl of nonexistent function.
7147 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
7149         Replace gui-method macros with cl-generic with &context
7150         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
7151         (gui-method-declare, gui-call): Remove.
7152         (frame-creation-function): Use cl-defgeneric.
7153         (make-frame): Adjust callers.
7154         * lisp/menu-bar.el (menu-bar-edit-menu):
7155         Use gui-backend-selection-exists-p.
7156         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
7157         (gui-backend-get-selection): New cl-generic to replace
7158         gui-get-selection method.
7159         (gui-backend-set-selection): New cl-generic to replace
7160         gui-set-selection method.
7161         (gui-selection-owner-p): New cl-generic to replace
7162         gui-selection-owner-p method.
7163         (gui-backend-selection-exists-p): New cl-generic to replace
7164         gui-selection-exists-p method.  Adjust all callers.
7165         * lisp/server.el (server-create-window-system-frame): Don't ignore
7166         window-system spec even when unsupported.
7167         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
7168         * lisp/startup.el (handle-args-function, window-system-initialization):
7169         Use cl-defgeneric.
7170         (command-line): Adjust calls accordingly.
7171         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
7172         a window-system-initialization method.
7173         (handle-args-function, frame-creation-function): Use cl-defmethod.
7174         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
7175         (gui-get-selection): Use cl-defmethod on the new functions instead.
7176         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
7177         a gui-backend-get-selection method.
7178         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
7179         Use cl-defmethod on the new functions instead.
7180         (msdos-window-system-initialization): Turn into
7181         a window-system-initialization method.
7182         (frame-creation-function, handle-args-function): Use cl-defmethod.
7183         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
7184         a window-system-initialization method.
7185         (handle-args-function, frame-creation-function): Use cl-defmethod.
7186         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
7187         (gui-get-selection): Use cl-defmethod on the new functions instead.
7188         * lisp/term/x-win.el (x-window-system-initialization): Turn into
7189         a window-system-initialization method.
7190         (handle-args-function, frame-creation-function): Use cl-defmethod.
7191         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
7192         (gui-get-selection): Use cl-defmethod on the new functions instead.
7193         * lisp/term/xterm.el (xterm--set-selection): Turn into
7194         a gui-backend-set-selection method.
7195         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
7196         (Fns_selection_owner_p): Remove unused arg `terminal'.
7197         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
7199 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
7201         Revert "Fix etags Bug#20629 that broke C++ support."
7202         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
7204 2015-05-23  Jan D  <jan.h.d@swipnet.se>
7206         Fix etags Bug#20629 that broke C++ support.
7207         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
7208         from Sun May 10 (Bug#20629).
7210         Merge branch 'cairo'.
7211         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
7212         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
7214         Merge branch 'master' into cairo
7216         Fixes to compile cairo branch without cairo.
7217         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
7218         first argument.
7219         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
7220         USE_CAIRO.
7222 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
7224         * lisp/emacs-lisp/package.el: Always update selected-packages
7225         (package--update-selected-packages): New function.
7226         (package-menu-execute): Use it before starting the transaction,
7227         this way the list of selected packages is updated even when the
7228         transaction fails.
7229         (package-menu--perform-transaction): Don't edit selected-packages.
7231 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
7233         Fix etags reading of compressed files
7234         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
7235         Include fcntl.h, for O_CLOEXEC.
7236         (process_file_name): Don't use 'popen', whose streams cannot be
7237         rewound.  Instead, uncompress the file to a temporary file,
7238         created by 'etags_mktmp', and read from that as usual.
7239         (etags_mktmp): New function.
7240         * test/etags/ETAGS.good_1:
7241         * test/etags/ETAGS.good_2:
7242         * test/etags/ETAGS.good_3:
7243         * test/etags/ETAGS.good_4:
7244         * test/etags/ETAGS.good_5: Update to be consistent with latest
7245         changes in etags.c regarding reading compressed files.
7247         Improve documentation of 'set-fontset-font'
7248         * doc/lispref/display.texi (Fontsets): Document the value of nil
7249         for the 3rd argument of 'set-fontset-font'.
7251         Fix documentation of forward-line
7252         * src/cmds.c (Fforward_line): Clarify the return value if the line
7253         at end of accessible portion of the buffer has no newline.
7254         * doc/lispref/positions.texi (Text Lines): Document what happens
7255         if the line at end of accessible portion of buffer has no newline.
7256         (Bug#20587)
7258 2015-05-22  Glenn Morris  <rgm@gnu.org>
7260         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
7262         * admin/charsets/mapconv (LC_ALL): Set to C.
7264         * Makefile.in: Add admin/charsets into top-level clean rules.
7265         (clean): Add admin/charsets.
7266         (maybeclean_dirs): New variable.
7267         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
7269         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
7271 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7273         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
7275 2015-05-22  Glenn Morris  <rgm@gnu.org>
7277         Generate admin/charsets Makefile via configure, and make more portable.
7278         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
7279         (admin/charsets/Makefile): Generate it.
7280         * admin/charsets/Makefile.in: Rename from Makefile.
7281         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
7282         New variables, set by configure.
7283         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
7284         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
7285         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
7286         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
7287         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
7288         (all): Declare PHONY.
7289         (local): New PHONY target.
7290         (map_template): New template.  Use to define short PHONY aliases.
7291         (*.map): Add directory prefixes to targets and prerequisites.
7292         Respect make verbosity.
7293         (JISC6226.map): Replace non-portable sed append without newline.
7294         (install): Remove rule.
7295         (clean): Only delete temporary sedscript.
7296         (bootstrap-clean, distclean, maintainer-clean, extraclean)
7297         (totalclean): New PHONY rules.
7298         * admin/charsets/mapconv (BASE): Replace basename with expr.
7299         (FILE): Add "mapfiles" subdirectory.
7300         (AWK): New variable.  Use throughout in place of "awk".
7301         (main): Use "gunzip -c" in place of "zcat".
7302         Don't leave whitespace before "p", for older sed.
7303         * admin/charsets/mapfiles/PTCP154: Add final newline,
7304         to make older sed versions happy.
7306 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
7308         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
7309         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
7310         (auto-revert-notify-watch-descriptor): Use defvar-local.
7311         (find-file-hook, auto-revert-tail-mode, )
7312         (auto-revert-notify-add-watch): Use setq-local.
7313         (auto-revert-notify-add-watch): Don't call make-local-variable on
7314         kill-buffer-hook (bug#20601).
7316 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7318         Change defgeneric so it doesn't completely redefine the function
7319         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
7320         previously defined methods.
7321         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
7322         (cl--generic-prefill-dispatchers): Only define during compilation.
7323         (cl-method-qualifiers): Remove redundant alias.
7324         (help-fns-short-filename): Silence byte-compiler.
7325         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
7327 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
7329         (package-menu-execute): Remove reference to remove-dups
7331 2015-05-21  kwhite  <kwhite@gnu.org>
7333         * lisp/erc/erc.el: Hide network/channel messages
7334         (erc-network-hide-list, etc-channel-hide-list): New lists to define
7335         message types per network/channel.
7336         (erc-add-targets): New function to parse list of targets
7337         (erc-hide-current-message-p): Modified to check for new targets
7339 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
7341         Don't quote nil and t in doc strings
7342         This is as per "Tips for Documentation Strings" in the elisp manual.
7343         For consistency, do the same in diagnostics and comments.
7345 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
7347         Fix a minor problem with mouse-face on mode line
7348         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
7349         mouse face also if the mouse pointer hovers above mode-line glyphs
7350         that don't come from any Lisp string.  (Bug#20620)
7352 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
7354         * lisp/emacs-lisp/package.el: Fix selected-package logic
7355         (package-menu-execute): Mark as selected all non-upgrade packages
7356         being installed.
7357         (package-menu--perform-transaction): Don't mark anything.
7359         * lisp/emacs-lisp/package.el: Mode-line progress report
7360         (package-menu--transaction-status): New variable.
7361         (package-menu-mode, package-menu--perform-transaction): Use it.
7363         * lisp/emacs-lisp/package.el: Better transaction messages
7364         (package-menu--partition-transaction): New function.
7365         (package-menu--prompt-transaction-p, package-menu-execute): Use
7366         it.
7367         (package-menu--perform-transaction): Don't do any messaging.
7369         * lisp/emacs-lisp/package.el: Revert async package transactions
7370         (package-menu-async): Update doc.
7371         (package-install-from-archive, package-download-transaction)
7372         (package-install, package-menu--perform-transaction)
7373         (package-menu-execute): Remove asynchronous functionality.
7375 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
7377         Revert doc string changes to f90.el
7378         Problem reported by Glenn Morris in:
7379         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
7380         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
7381         Revert recent changes to doc strings, as it's intended that they
7382         use grave accent, not quote.
7384 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
7386         Improve parameter name
7388         Add new inline function `hash-table-empty-p'
7390 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
7392         Don't require help-fns when not needed
7393         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
7394         * lisp/emacs-lisp/elint.el:
7395         Don't require help-fns at the top level.
7396         * lisp/emacs-lisp/advice.el (ad-arglist):
7397         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
7398         Don't require help-fns.  (Bug#17001)
7400 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
7402         Fix slash collapsing in etags on MS-Windows
7403         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
7404         MS-Windows code from the Posix code, and support collapsing both
7405         forward- and back-slashes on MS-Windows.  Fixes a regression found
7406         by the test suite.
7408         Improve documentation of glyphless-char-display
7409         * doc/lispref/display.texi (Glyphless Chars): Improve
7410         documentation of glyphless character display.
7412         Fix "acronym" display of glyphless characters on w32
7413         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
7414         ignore "acronym" substitutes of 1 character for glyphless characters.
7416 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
7418         Add an automated test for let-when-compile
7419         * test/automated/subr-tests.el (let-when-compile): New test.
7421         Add let-when-compile macro instead of using pcase-let
7422         * lisp/subr.el (let-when-compile): New let-like macro that makes its
7423         bindings known to macros like `eval-when-compile' in the body.
7424         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
7425           `let-when-compile'. Also comment out the unused lexical var
7426           `el-kws-re'.
7427         The change greatly improves readability, while providing almost the
7428         same (even shorter) byte code: instead of pre-evaluating 10 variables,
7429         tossing them into a list, and destructuring that list a full screen
7430         page later, the variables are simply bound as they are evaluated,
7431         wrapped individually in `eval-when-compile'.
7433 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
7435         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
7436         (package-delete-button-action): New function.
7437         (describe-package-1): Add Delete button.
7439         * lisp/emacs-lisp/package.el: Better dependency description
7440         (package--used-elsewhere-p): New optional arg, ALL, and return
7441         package-desc objects instead of names.
7442         (package-delete): Update accordingly.
7443         (describe-package-1): Describe which packages require the package.
7445 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
7447         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
7448         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
7449         Fix doc-string (Bug#20533).
7451         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
7452         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
7453         (switch-to-buffer): If the selected window is strongly dedicated
7454         to its buffer, signal error before prompting for buffer name.  Handle
7455         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
7456         * doc/lispref/windows.texi (Switching Buffers): Document
7457         `switch-to-buffer-in-dedicated-window'.
7459 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7461         Prefer "this" to “this” in doc strings
7462         This mostly just straightens quotes introduced in my previous patch.
7463         Suggested by Dmitry Gutov in:
7464         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
7465         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
7466         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
7467         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
7468         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
7469         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
7470         Prefer straight double quotes to curved double quotes in doc strings.
7472         Fix minor quoting problems in doc strings
7473         These were glitches regardless of how or whether we tackle the
7474         problem of grave accent in doc strings.
7475         * lisp/calc/calc-aent.el (math-restore-placeholders):
7476         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
7477         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
7478         * lisp/leim/quail/hebrew.el ("hebrew-new")
7479         ("hebrew-biblical-sil"):
7480         * lisp/leim/quail/thai.el ("thai-kesmanee"):
7481         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
7482         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
7483         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
7484         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
7485         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
7486         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
7487         (semantic-tag-components):
7488         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
7489         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
7490         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
7491         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
7492         * lisp/emacs-lisp/generator.el (iter-next):
7493         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
7494         (gnus-article-mode-syntax-table):
7495         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
7496         * lisp/net/soap-client.el (soap-wsdl-get):
7497         * lisp/net/telnet.el (telnet-mode):
7498         * lisp/org/org-compat.el (org-number-sequence):
7499         * lisp/org/org.el (org-remove-highlights-with-change)
7500         (org-structure-template-alist):
7501         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
7502         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
7503         (handwrite-12pt, handwrite-13pt):
7504         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
7505         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
7506         * lisp/progmodes/verilog-mode.el (verilog-tool)
7507         (verilog-string-replace-matches, verilog-preprocess)
7508         (verilog-auto-insert-lisp, verilog-auto-insert-last):
7509         * lisp/textmodes/makeinfo.el (makeinfo-options):
7510         * src/font.c (Ffont_spec):
7511         Fix minor quoting problems in doc strings, e.g., missing quote,
7512         ``x'' where `x' was meant, etc.
7513         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
7514         Fix minor quoting problem in other string.
7515         * lisp/leim/quail/ethiopic.el ("ethiopic"):
7516         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
7517         Omit unnecessary quotes.
7518         * lisp/faces.el (set-face-attribute, set-face-underline)
7519         (set-face-inverse-video, x-create-frame-with-faces):
7520         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
7521         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
7522         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
7523         * lisp/net/tramp.el (tramp-methods):
7524         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
7525         * lisp/textmodes/artist.el (artist-ellipse-right-char)
7526         (artist-ellipse-left-char, artist-vaporize-fuzziness)
7527         (artist-spray-chars, artist-mode, artist-replace-string)
7528         (artist-put-pixel, artist-text-see-thru):
7529         * lisp/vc/ediff-util.el (ediff-submit-report):
7530         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
7531         Use double-quotes rather than TeX markup in doc strings.
7532         * lisp/skeleton.el (skeleton-pair-insert-maybe):
7533         Reword to avoid the need for grave accent and apostrophe.
7534         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
7535         Don't use grave and acute accents to quote.
7537 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
7539         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
7541 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7543         Try to port new etags tests to MS-Windows
7544         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
7545         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
7546         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
7547         Adjust to test-case changes below.
7548         * test/etags/Makefile (CSRC): Remove dostorture.c.
7549         Whatever it was trying to test, wasn't working portably.
7550         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
7551         just a line-ending problem.
7552         * test/etags/c-src/dostorture.c: Remove.
7553         * test/etags/cp-src/c.C: Remove stray CR.
7554         * test/etags/html-src/algrthms.html: Remove trailing CRs.
7555         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
7556         but if someone edits it later it should stay UTF-8-compatible.
7558 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
7560         Fix display of overlapping window-specific overlays
7561         * src/keyboard.c (adjust_point_for_property): When adjusting point
7562         due to display strings, ignore overlays that are specific to
7563         windows other than the currently selected one.
7564         * src/xdisp.c (handle_single_display_spec): If the display
7565         property comes from an overlay, arrange for buffer iteration to
7566         resume only after the end of that overlay.  (Bug#20607)
7568 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
7570         New command icomplete-force-complete-and-exit
7571         * lisp/icomplete.el (icomplete-force-complete-and-exit):
7572         New command
7573         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
7574         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
7575         (icomplete-minibuffer-map): Bind C-j to it.
7576         (icomplete-forward-completions, icomplete-backward-completions):
7577         Mention the new command in the docstring.
7578         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
7579         the previous fix for bug#17545.
7581 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
7583         Fix last commit
7585         In Elisp manual explain how to override window manager positioning (Bug#20552)
7586         * doc/lispref/frames.texi (Position Parameters): Give example of
7587         how to override a window manager positioning decision.
7589         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
7590         * src/frame.c (Fdelete_frame): In doc-string mention that frame
7591         can't be deleted if it has a surrogate minibuffer.
7592         * doc/lispref/frames.texi (Minibuffers and Frames)
7593         (Deleting Frames): Explain "surrogate minibuffer frames".
7595         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
7596         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
7598 2015-05-18  Glenn Morris  <rgm@gnu.org>
7600         Add option to ignore commit lines matching a pattern in ChangeLog.
7601         * build-aux/gitlog-to-changelog: Add --ignore-line option.
7602         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
7604 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
7606         Don't skip new etags tests on non-UTF-8 hosts
7607         Problem reported by Eli Zaretskii for MS-Windows.
7608         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
7609         (LC_ALL): Set to C if the current locale isn't UTF-8.
7610         (.PHONY): Remove ediff_1 thru ediff_5.
7611         (check): Always run.
7613 2015-05-18  Glenn Morris  <rgm@gnu.org>
7615         * lisp/calculator.el (calculator-funcall):
7616         * lisp/textmodes/artist.el (artist-spray-random-points):
7617         Use standard degree/radian conversion utilities.
7619         Further lisp-complete-symbol related cleanup.
7620         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
7621         Unadvertise non-functional argument.  Replace obsolete alias.
7623 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
7625         Add a test case for Maven warning ouput
7626         * test/automated/compile-tests.el
7627         (compile-tests--test-regexps-data): Add a case for Maven warning
7628         ouput.
7629         (compile--test-error-line): Check the compilation message type, if
7630         it's specified in the test data.
7632 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
7634         Update Maven compilation-mode entry to distinguish warnings
7635         * lisp/progmodes/compile.el
7636         (compilation-error-regexp-alist-alist): Update Maven entry to
7637         distinguish warnings (bug#20556).
7639 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
7641         * test/automated/sgml-mode-tests.el: New file.
7643 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
7645         Improve handling of the first Git revision
7646         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
7647         there's no next entry, delete until the end of the buffer.
7648         (log-view-end-of-defun-1): Stop at eob.
7649         * lisp/vc/vc-annotate.el
7650         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
7651         when previous-revision is nil.
7652         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
7653         with `--' to avoid ambiguity.
7654         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
7655         returned revision string.
7656         (vc-git-annotate-time): Expect `^' before the first revision.
7657         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
7658         REV1 is nil, and REV2 is not.
7659         * lisp/vc/vc.el: Update the description of the `diff' function.
7661 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
7663         Allow checkdoc to be called in batch
7664         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
7665           is non-nil, echo the error with `warn'.
7666         How it can be used in -batch:
7667         (with-current-buffer (find-file "checkdoc.el")
7668           (checkdoc-current-buffer t))
7670 2015-05-18  Glenn Morris  <rgm@gnu.org>
7672         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
7674 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
7676         * admin/notes/unicode: New section "binary files".
7678         Change new etags test to use UTF-8 encoding
7679         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
7680         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
7681         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
7682         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
7683         * test/etags/html-src/softwarelibero.html:
7684         Switch to UTF-8 encoding.
7685         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
7686         Remove Makefile, as it's too incestuous to have the test input
7687         include the build procedure.
7688         (UTF8_LOCALE, UTF_ENCODING): New macros.
7689         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
7690         (check): Skip if not UTF-8.
7691         (.PHONY): New rule.
7692         (FRC): Remove, as superseded by .PHONY.  All uses removed.
7693         (regexfile): Prefer printf to echo when outputting oddball chars.
7694         (.PRECIOUS): Remove, as these files are not built.
7696         Rename 'foo-gzipped' to 'foo.gz'
7697         * test/automated/data/decompress/foo.gz:
7698         Rename from test/automated/data/decompress/foo-gzipped,
7699         to make it easier for other tools to tell that it's compressed.
7700         * test/automated/zlib-tests.el (zlib--decompress):
7701         Adjust to renamed file.
7703 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
7705         Set up default-directory
7706         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
7707         binding for `v'.
7708         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
7709         appropriate value for default-directory.
7711 2015-05-17  Samer Masterson  <samer@samertm.com>
7713         * lisp/eshell/em-term.el (eshell-term-sentinel):
7714         No-op by default, only kills term buffer if
7715         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
7716         (eshell-destroy-buffer-when-process-dies): New custom to preserve
7717         previous behavior.
7719         eshell: Introduce new buffer syntax
7720         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
7721         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
7722         needed (Bug#19319).
7723         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
7724         (eshell-get-target): Remove shorthand-specific code.
7725         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
7726         '#<buffer-name>'.
7728 2015-05-17  Jan D  <jan.h.d@swipnet.se>
7730         Merge branch 'master' into cairo
7732 2015-04-26  Jan D  <jan.h.d@swipnet.se>
7734         Merge branch 'master' into cairo
7736         Add PBM support for cairo.
7737         * src/image.c (xcolor_to_argb32): New function.
7738         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
7739         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
7740         XImagePtr if ! USE_CAIRO.
7741         (pbm_load): Add cairo support.
7743 2015-04-12  Jan D  <jan.h.d@swipnet.se>
7745         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
7746         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
7747         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
7748         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
7749         x_free_cr_resources.
7751         Handle specified bg in images.  Use generic libpng code for PNG:s.
7752         * src/image.c (get_spec_bg_or_alpha_as_argb)
7753         (create_cairo_image_surface): New functions when USE_CAIRO.
7754         (xpm_load): Call the above functions.  Handle XPM without mask
7755         when USE_CAIRO.
7756         (png_load_body): Handle USE_CAIRO case.
7757         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
7758         instead.
7759         (jpeg_load_body): Call create_cairo_image_surface.
7760         (gif_load, svg_load_image): Handle specified background, call
7761         create_cairo_image_surface.
7762         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
7764 2015-04-11  Jan D  <jan.h.d@swipnet.se>
7766         Support GIF and Tiff with cairo.
7767         * configure.ac: Allow jpeg with cairo.
7768         Allow tiff and gif with cairo.
7769         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
7770         (tiff_load): Create cairo image surface if USE_CAIRO.
7771         (gif_load): Ditto.
7773         Support JPEG with USE_CAIRO.
7774         * configure.ac: Allow jpeg with cairo.
7775         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
7777 2015-04-05  Jan D  <jan.h.d@swipnet.se>
7779         Support RSVG and cairo.
7780         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
7781         * src/dispextern.h (struct image): add cr_data2 if cairo.
7782         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
7783         (x_clear_image): Free cr_data and cr_data2 if set.
7784         (xpm_load): Assign data to cr_data2.
7785         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
7787 2015-04-03  Jan D  <jan.h.d@swipnet.se>
7789         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
7790         * configure.ac (HAVE_RSVG): Move after cairo.
7791         (USE_CAIRO): Disable rsvg, don't disable Xpm.
7792         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
7793         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
7794         don't return early.
7795         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
7796         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
7797         and create a surface.
7799         Tool tips for menus did not show any text.
7800         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
7801         tip frames, the geometry may be wrong.
7803         Merge branch 'master' into cairo, fixes tooltips not shown.
7805         Merge branch 'master' into cairo
7807         Add CAIRO_CFLAGS to lwlib/Makefile.in
7808         * Makefile.in (CAIRO_CFLAGS): Add.
7810 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
7812         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
7814 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
7816         Draw outermost line using black relief and erase corners also for cairo.
7817         * xterm.c [USE_CAIRO]: Include math.h.
7818         (enum corners) [USE_CAIRO]: New enum.
7819         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
7820         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
7821         than 1, draw the outermost line using the black relief.
7823         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
7825 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
7827         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
7829         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
7831         Use int instead of unsigned int for width and height args.
7832         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
7833         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
7834         width and height args.
7836         Modernize k&r cairo-related function declarations.
7837         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
7838         (xg_print_frames_dialog): Modernize k&r declarations.
7839         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
7840         (Fx_print_frames_dialog): Modernize k&r declarations.
7841         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
7842         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
7843         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
7844         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
7845         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
7846         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
7847         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
7848         (x_clear_area): Modernize k&r declarations.
7850         Implement wave-style variant of underlining for cairo.
7851         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
7852         (x_draw_underwave) [USE_CAIRO]: Use it.
7854         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
7856 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
7858         Fix fringe bitmap initialization for cairo.
7859         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
7860         cairo image surface.
7861         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
7863 2015-02-11  Jan D  <jan.h.d@swipnet.se>
7865         Add cairo drawing.
7866         * configure.ac (with-cairo): New option.
7867         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
7868         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
7869         Output "Does Emacs use cairo?".
7870         * lisp/version.el (emacs-version): Add cairo version.
7871         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
7872         (FONT_OBJ): Add comment about ftcrfont.
7873         (ALL_CFLAGS): Add CAIRO_CFLAGS.
7874         (LIBES): Add CAIRO_LIBS.
7875         * src/dispextern.h (struct image): Add cr_data for cairo.
7876         (x_cr_init_fringe): Declare.
7877         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
7878         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
7879         * src/fringe.c (x_cr_init_fringe): New function name that shares code
7880         with w32_init_fringe.
7881         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
7882         * src/ftfont.c (ftfont_info_size); New global variable.
7883         (ftfont_open2): New extern function almost the same as old ftfont_open,
7884         but takes the font_object as argument.
7885         (ftfont_open): Build font object and call ftfont_open2.
7886         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
7887         * src/gtkutil.c (xg_clear_under_internal_border)
7888         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
7889         queue_draw if not cairo.  Change args to x_clear_area.
7890         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
7891         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
7892         (xg_print_frames_dialog): New functions for printing.
7893         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
7894         (xg_print_frames_dialog): Declare.
7895         * src/image.c: Add defined (USE_CAIRO) for PNG.
7896         Add !defined USE_CAIRO for W32 PNG code.
7897         (x_clear_image): If cairo, destroy the surface in cr_data.
7898         (png_load): Add new cairo compatible implementation.
7899         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
7900         * src/xfns.c: New section Printing.
7901         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
7902         (x-print-frames-dialog): New printing functions.
7903         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
7904         cairo.
7905         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
7906         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
7907         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
7908         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
7909         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
7910         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
7911         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
7912         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
7913         Declare.
7914         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
7915         (max_fringe_bmp, fringe_bmp): New variables.
7916         (x_gc_get_ext_data, x_extension_initialize)
7917         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
7918         (x_set_cr_source_with_gc_foreground)
7919         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
7920         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
7921         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
7922         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
7923         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
7924         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
7925         (x_update_begin): Create cairo surface if needed.
7926         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
7927         (x_update_end): Paint cairo drawing surface to xlib surface.
7928         (x_clear_under_internal_border, x_after_update_window_line): Adjust
7929         arguments to x_clear_area.
7930         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
7931         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
7932         of XSetClipMask.
7933         (x_set_glyph_string_clipping)
7934         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
7935         instead of XSetClipRectangles.
7936         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
7937         x_fill_rectangle instead of XFillRectangle.
7938         (x_draw_glyph_string_foreground)
7939         (x_draw_composite_glyph_string_foreground)
7940         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
7941         of XDrawRectangle.
7942         (x_draw_relief_rect): Add code for USE_CAIRO.
7943         Call x_reset_clip_rectangles instead of XSetClipMask.
7944         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
7945         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
7946         instead of XSetClipMask.
7947         (x_draw_image_foreground, x_draw_image_foreground_1):
7948         x_draw_rectangle instead of XDrawRectangle.
7949         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
7950         XFillRectangle.
7951         (x_draw_image_glyph_string): If img has cr_data, use it as
7952         a cairo surface.
7953         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
7954         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
7955         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
7956         x_reset_clip_rectangles instead of XSetClipMask.
7957         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
7958         (x_clear_area1): New function that calls XClearArea.
7959         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
7960         non-cairo.
7961         (x_clear_frame): x_clear_window instead of XClearWindow.
7962         (x_scroll_run): Set frame garbaged if cairo.
7963         (XTmouse_position): Initialize *part to 0.
7964         (x_scroll_bar_create): Adjust arguments to x_clear_area.
7965         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
7966         x_fill_rectangle instead of XFillRectangle.
7967         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
7968         arguments to x_clear_area.
7969         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
7970         (handle_one_xevent): Adjust arguments to x_clear_area.
7971         Destroy cairo surface for frame if ConfigureNotify.
7972         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
7973         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
7974         x_reset_clip_rectangles instead of XSetClipMask.
7975         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
7976         x_reset_clip_rectangles instead of XSetClipMask.
7977         (x_clear_frame_area): Adjust arguments to x_clear_area.
7978         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
7979         (x_term_init): Call x_extension_initialize if cairo.
7980         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
7981         x_cr_destroy_fringe_bitmap for cairo.
7982         (x_initialize): Call x_cr_init_fringe for cairo.
7983         * src/xterm.h: Add include of cairo header files.
7984         (x_bitmap_record): Add img if cairo.
7985         (x_gc_ext_data): New struct for cairo.
7986         (x_display_info): Add ext_codes for cairo.
7987         (x_output): Add cr_context and cr_surface for cairo.
7988         (x_clear_area): Change arguments from Display*/Window to frame pointer.
7989         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
7990         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
7991         (x_cr_draw_frame, x_cr_export_frames): Declare.
7993 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
7995         Fix integer-valued `mouse-highlight' (Bug#20590)
7996         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
7998 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
8000         MS-Windows followup for ASCIIfication of curved quotes
8001         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
8002         test for curved quotes being displayable, after switching the
8003         terminal encoding.  (Bug#20545)
8005 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
8007         Spelling fixes
8009 2015-05-17  Jan D  <jan.h.d@swipnet.se>
8011         Add comment that x_shift_glyphs_for_insert is never called.
8012         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
8013         comment that this function is never called.
8015 2015-05-16  Glenn Morris  <rgm@gnu.org>
8017         * src/lisp.mk: Remove from repository and generate at build-time.
8018         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
8019         (shortlisp_filter): New variable.
8020         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
8021         (distclean): Remove lisp.mk.
8022         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
8023         * lisp/loadup.el: Tweak layout to make it easier to parse.
8024         * make-dist: Do not distribute src/lisp.mk.
8026 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
8028         Display shorter dates in Git annotate output
8029         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
8030         format (when not overridden with vc-git-annotate-switches).
8031         (vc-git-annotate-time): Support the short format, as well as ISO
8032         8601 that has been used until now (bug#5428).
8034 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
8036         ASCIIfy curved quotes on displays lacking them
8037         * lisp/international/mule-cmds.el (set-locale-environment):
8038         If curved quotes don't work, display straight ASCII approximations
8039         (Bug#20545).
8041 2015-05-16  Glenn Morris  <rgm@gnu.org>
8043         Small src/Makefile simplification.
8044         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
8045         * src/Makefile.in (lisp): Derive from shortlisp.
8046         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
8048 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
8050         * lisp/help-mode.el (help-go-forward): Doc fix.
8051         (Bug#20577)
8053         * doc/lispref/debugging.texi (Profiling): Improve indexing.
8054         (Bug#20576)
8056 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
8058         Use `unless' to have one fewer `not'
8059         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
8060         have one fewer `not'.
8062         Remove redundant :group declarations from vc-git.el
8063         * lisp/vc/vc-git.el (vc-git-diff-switches)
8064         (vc-git-annotate-switches, vc-git-resolve-conflicts)
8065         (vc-git-program, vc-git-root-log-format): Remove the redundant
8066         :group declarations.
8068 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
8070         Removes the predicate from lisp-complete-symbol (Bug#20456)
8071         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
8072         and remove it from the docstring.
8074 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
8076         Add new option vc-git-resolve-conflicts
8077         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
8078         (vc-git-find-file-hook): Add to after-save-hook only when the
8079         above is non-nil.
8080         (vc-git-resolve-when-done): Update to honor the new variable.
8081         (Bug#20292)
8083 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
8085         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
8086         (tabulated-list-init-header): Document new behavior.
8087         (tabulated-list-print-fake-header): No nothing if
8088         `tabulated-list--header-string' is nil.
8089         (tabulated-list--header-string): Add a docstring.
8090         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
8091         * etc/NEWS: Document it.
8093 2015-05-15  Leo Liu  <sdl.web@gmail.com>
8095         Revert "Fix cps--gensym"
8096         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
8097           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
8099 2015-05-15  Glenn Morris  <rgm@gnu.org>
8101         Replace AC_SUBST_FILE in configure with include in Makefiles.
8102         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
8103         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
8104         (AUTO_DEPEND): New output variable.
8105         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
8106         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
8107         (lwlib_deps_frag): Replace by conditional include.
8108         * lwlib/autodeps.mk: Remove file.
8109         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
8110         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
8111         (oldxmenu_deps_frag): Replace by conditional include.
8112         * oldXMenu/autodeps.mk: Remove file.
8113         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
8114         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
8115         (lisp_frag): Replace by an include.
8116         (deps_frag): Replace by conditional include.
8117         * src/autodeps.mk: Remove file.
8119         Tweak japanese.el's loading of dependencies.
8120         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
8121         * lisp/language/japanese.el: Use require rather than load.
8122         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
8123         Provide a feature.
8124         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
8125         Provide a feature in the generated file.
8127 2015-05-15  Jan D  <jan.h.d@swipnet.se>
8129         Fix NS warnings.
8130         * nsmenu.m (ns_popup_dialog)
8131         * nsimage.m (initFromXBM:width:height:fg:bg:)
8132         * nsfns.m (Fx_create_frame): Remove unused variables.
8133         (Fns_read_file_name): Initialize fname, remove ret.
8134         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
8135         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
8136         variable.
8137         (init): Add parantesis in if.
8138         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
8140 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
8142         Fix a enum conversion warning in macfont.m
8143         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
8144         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
8146 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
8148         Support de-alt dictionary with Aspell.
8149         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
8150         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
8152 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
8154         cus-start.el: Add ns-confirm-quit.
8155         * cus-start.el: Add ns-confirm-quit.
8157         Fix warnings on OSX 10.10.
8158         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
8159         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
8160         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
8161         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
8162         * nsimage.m (allocInitFromFile, setPixmapData): Only call
8163         setScalesWhenResized for OSX < 10.6.
8164         * nsterm.h (EmacsScroller): Declare scrollerWidth.
8165         * nsterm.m (ns_copy_bits): New function that does not use deprecated
8166         NSCopyBits.
8167         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
8168         (runAlertPanel): New function.
8169         (applicationShouldTerminate:): Call runAlertPanel.
8170         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
8171         for OSX < 10.10.
8172         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
8173         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
8174         (draggingEntered:): Returns NSDragOperation.
8175         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
8177 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
8179         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
8180         (package--init-file-ensured): New variable.
8181         (package-initialize, package--ensure-init-file): Use it.
8183 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
8185         Honor :fore/background for XBM on NS (Bug#14969).
8186         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
8187         initFromXBM takes bg, fg args, remove flip arg.
8188         (ns_image_from_XBM): Add bg, fg args.
8189         * image.c (x_create_bitmap_from_data)
8190         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
8191         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
8192         Remove flip arg.
8193         (initFromSkipXBM): Move code to initFromXBM.
8194         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
8195         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
8196         false.
8197         Remove bit flipping (bitPat, swt), generated incorrect images when
8198         width/height wasn't a multiple of 8.
8199         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
8200         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
8201         flip arg.
8203 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
8205         * lisp/emacs-lisp/package.el: Be more careful with the init file
8206         (package--ensure-init-file): Check that user-init-file is set,
8207         exists, is readable, and is writable.  (Bug#20584)
8208         Also expand the docstring.
8210 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
8212         Sync with upstream verilog-mode revision 6232468
8213         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
8214         (verilog-highlight-grouping-keywords): Fix use of face when
8215         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
8216         Pompa.
8217         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
8218         parent is reset, bug906. Reported by Ken Schmidt.
8219         (verilog-auto-inout-module): Add fourth regexp argument to
8220         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
8221         bug856. Reported by John Tillema.
8222         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
8223         modport if signal attachment is itself a modport.  Reported by
8224         Matthew Lovell.
8225         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
8226         always_comb and always_latch, bug844.  Reported by Greg Hilton.
8227         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
8228         with many curly-bracket pairs, bug663.
8229         (verilog-set-auto-endcomments): Fix end comments for functions of
8230         type void, etc.  Reported by Alex Reed.
8231         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
8232         caused by indent-line-to deleting tabls pre 24.5.
8233         (verilog-nameable-item-re): Fix nameable items that can have an
8234         end-identifier to include endchecker, endgroup, endprogram,
8235         endproperty, and endsequence.  Reported by Alex Reed.
8236         (verilog-label-be): When auto-commenting a buffer, consider
8237         auto-comments on all known keywords (not just a subset thereof).
8238         Reported by Alex Reed.
8239         (verilog-auto-end-comment-lines-re)
8240         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
8241         Automatically comment property/endproperty blocks to match other
8242         similar blocks like sequence/endsequence, function/endfunction,
8243         etc. Reported by Alex Reed.
8244         (verilog-set-auto-endcomments): Detect the function- or task-name
8245         when auto-commenting blocks that lack an explicit
8246         portlist. Reported by Alex Reed.
8247         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
8248         allow post-AUTO user fixups, bug826. Reported by Dennis
8249         Muhlestein.
8250         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
8251         is nil, fix indenting initial/final to match always statements,
8252         bug825. Reported by Tim Clapp.
8253         (verilog-extended-complete-re): Fix indentation of DPI-C imports
8254         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
8255         Mao and Jason Forkey.
8256         (verilog-read-decls): Fix parsing typed interfaces.  Fix
8257         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
8258         Fix localparam not being ignored in AUTOINSTPARAM,
8259         bug889. Reported by Shannon Hill.
8260         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
8261         bug793.  Reported by Pierre-David Pfister.
8262         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
8263         verilog-auto-arg-format to support newlines in AUTOARG. Reported
8264         by Jie Xiao.
8265         (verilog-batch-execute-func): Do not batch re-auto files loaded by
8266         Local Variables. Fix printing "no changes to be saved" with
8267         verilog-batch. Reported by Dan Dever.
8268         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
8269         interface-only modules, bug721.  Reported by Dean Hoyt.
8270         Author: Alex Reed <acreed4@gmail.com>
8271         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
8272         treat '<keyword>:<identifier>' as the start of a labeled
8273         statement, bug905.  Reported by Enzo Chi.
8274         (verilog-directive-re, verilog-compiler-directives)
8275         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
8276         directives (plus some extras) when determining indentation, bug
8277         901.  Reported by Bernd Beuster.
8278         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
8279         iff expression doesn't start with word-character, bug900.
8280         (verilog-optional-signed-range-re, verilog-optional-signed-re):
8281         Fix incorrect indentation/alignment of unsigned declarations,
8282         bug897.
8283         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
8284         always constructs, bug895.
8285         (verilog-calc-1): Fix verilog-mode constraint indentation,
8286         bug324. Reported by Eric Mastromarchi.
8287         (verilog-beg-of-statement): Fix indenting for some forms of
8288         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
8289         continued assignment incorrect if first line ends with ']',
8290         bug437. Reported by Dan Dever.  Fix indention of cover inside an
8291         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
8292         blocks, bug842.
8293         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
8294         bug859. Reported by Kaushal Modi.
8295         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
8296         (verilog-backward-token): Fix indenting sensitivity lists with
8297         named events, bug840.  Reed.
8298         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
8299         nil not honoring 'forever', 'foreach', and 'do' keywords.
8301 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
8303         Check for invalid GTK+ monitor scales
8304         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
8305         INT_MAX for too-large scales.  All callers changed to assume the
8306         result is valid (Bug#20432).
8307         (xg_frame_set_char_size, xg_update_scrollbar_pos):
8308         Calculate scale only if needed.
8309         show ASCII approximations instead.
8311 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
8313         Fix daemon crashes when linum-mode is turned on early on
8314         * src/window.c (Fwindow_end): Don't try calling display engine
8315         functions on initial-frame frame.  (Bug#20565)
8317         Fix selective diff browsing in Ediff
8318         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
8319         beginning of the region before searching for the
8320         ediff-regexp-focus-* regexps.  (Bug#20568)
8322 2015-05-14  Jan D  <jan.h.d@swipnet.se>
8324         Fixes Bug#20142.
8325         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
8326         in the main loop, even for Gtk 3 (Bug#20142).
8328         Don't access display after i/o error (Bug#19147).
8329         * xterm.c (x_connection_closed): Add third arg ioerror.
8330         If ioerror, set display to 0 (Bug#19147).
8331         (x_error_quitter): Call x_connection_closed with third arg false.
8332         (x_io_error_quitter): Call x_connection_closed with third arg true.
8334         Handle GTK_SCALE, fixes Bug#20432.
8335         * gtkutil.c (xg_get_gdk_scale): New function.
8336         (xg_frame_set_char_size)
8337         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
8338         (xg_get_default_scrollbar_height)
8339         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
8340         when setting sizes (Bug#20432).
8342 2015-05-13  Leo Liu  <sdl.web@gmail.com>
8344         Fix cps--gensym
8345         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
8347 2015-05-13  Glenn Morris  <rgm@gnu.org>
8349         Fix bootstrap (void function cl-member).
8350         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
8351         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
8353 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8355         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
8356         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
8357         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
8358         Avoid defalias for closures which are not immutable.
8359         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
8360         dispatchers table with various entries.
8361         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
8362         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
8364 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
8366         Improve tagging of C bindings in DEFVAR_*
8367         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
8368         from DEFVAR_*.
8370 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
8372         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
8374 2015-05-12  Glenn Morris  <rgm@gnu.org>
8376         * lisp/progmodes/tcl.el (tcl-filter):
8377         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
8379         Add basic VC push support.
8380         * lisp/vc/vc.el (vc-push): New autoloaded command.
8381         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
8382         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
8383         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
8384         (vc-bzr-push): New.
8385         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
8386         (vc-git-pull): Reimplement using vc-git--pushpull.
8387         (vc-git-push): New.
8388         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
8389         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
8390         * doc/emacs/maintaining.texi (Pulling / Pushing):
8391         Rename from "VC Pull".  Mention pushing.
8392         (VC With A Merging VCS, VC Change Log): Update xrefs.
8393         (Branches): Update menu.
8394         * doc/emacs/emacs.texi: Update menu.
8395         * etc/NEWS: Mention this.
8397 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
8399         Improve the seq pcase pattern and the `seq-let' macro
8400         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
8401         object is a sequence, and binds each element of ARGS to the
8402         corresponding element of the sequence.
8404 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
8406         Fix tags created from DEFVAR_* declarations in C
8407         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
8408         to make tags extracted from DEFVAR_* declarations more accurate.
8410         Add a test suite for etags
8411         * test/etags/: New test suite, adapted from
8412         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
8413         whose original author is Francesco Potortì <pot@gnu.org>.
8415         Fix tagging of symbols in C enumerations
8416         * lib-src/etags.c (consider_token): Don't tag symbols in
8417         expressions that assign values to enum constants.  See
8418         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
8419         for details.
8420         (C_entries): Reset fvdef to fvnone after processing a preprocessor
8421         conditional and after a comma outside of parentheses.
8423 2015-05-12  Glenn Morris  <rgm@gnu.org>
8425         * lisp/url/url-handlers.el (url-file-name-completion)
8426         (url-file-name-all-completions): Silence compiler.
8428         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
8430         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
8432 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
8434         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
8435         (cl--generic-mandatory-args): Remove.
8436         (cl--generic-split-args): New function.
8437         (cl-generic-define, cl--generic-lambda): Use it.
8438         (cl-generic-define-method): Use it as well, and add support for
8439         context args.
8440         (cl--generic-get-dispatcher): Handle &context dispatch.
8441         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
8442         (cl--generic-dispatchers): Pre-fill.
8443         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
8445 2015-05-11  Glenn Morris  <rgm@gnu.org>
8447         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
8449 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
8451         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
8452         * lisp/term/rxvt.el: Require term/xterm.
8453         (rxvt-function-map): Use xterm-rxvt-function-map.
8454         (rxvt-standard-colors): Move before first use.
8455         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
8456         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
8457         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
8458         Move shared bindings between rxvt and xterm to it.
8459         (xterm-function-map): Use it.  Move the xterm-paste binding to
8460         xterm-rxvt-function-map (bug#20444).
8461         (xterm-standard-colors): Move before first use.
8462         (xterm--push-map): New function.
8463         (xterm-register-default-colors): Take standard colors as argument.
8464         (terminal-init-xterm): Use it.  Adjust call to
8465         xterm-register-default-colors.
8467 2015-05-11  Glenn Morris  <rgm@gnu.org>
8469         * lisp/term/x-win.el: Quieten --without-x compilation.
8470         (x-own-selection-internal, x-disown-selection-internal)
8471         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
8472         Declare.
8474         * Makefile.in (emacslog): Remove srcdir.
8475         (ChangeLog): Update for the above.
8477 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
8479         Spelling fix
8481 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8483         python.el: better limit for looking-back calls
8484         * lisp/progmodes/python.el (python-shell-accept-process-output):
8485         Use last comint prompt start as limit for looking-back.
8487 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
8489         CEDET (srecode-insert-fcn): Fix use of oref on a class
8490         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
8491         a class.  Reported by Pierre Lorenzon.
8492         (srecode-template-inserter-point): Remove declaration.
8494         CEDET (srecode-create-dictionary): Avoid obsolete object name
8495         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
8496         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
8498 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
8500         C-x 8 shorthands for curved quotes, Euro, etc.
8501         Although C-x 8 lets you insert arbitrary Unicode characters,
8502         it's awkward to use this to insert commonly used symbols such as curved
8503         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
8504         characters commonly found in English text and in basic math.
8505         For example, assuming the Alt key works on your keyboard and iso-transl
8506         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
8507         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
8508         (Bug#20499)
8509         * doc/emacs/mule.texi (Unibyte Mode):
8510         A few other printing characters now work too.
8511         * etc/NEWS: Document this.
8512         * lisp/international/iso-transl.el (iso-transl-char-map):
8513         Also support the following characters:
8514         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
8516 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
8518         Add xref-find-regexp
8519         * lisp/progmodes/xref.el (xref-find-function): Describe the
8520         `matches' action.
8521         (xref-find-regexp): New command, using it.
8522         (xref-collect-references): Rename to xref-collect-matches.
8523         (xref--collect-reference): Rename to xref--collect-match.
8524         (xref-collect-matches, xref--collect-match): Accept new argument,
8525         KIND.  Update accordingly.
8526         (xref--regexp-to-extended): New function.
8527         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
8528         `matches' action.
8529         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
8530         * lisp/progmodes/etags.el (etags-xref-find):
8531         Support the `matches' action.
8532         (etags--xref-find-matches): New function.
8534 2015-05-10  Glenn Morris  <rgm@gnu.org>
8536         * Makefile.in: Fixes for recent change-history changes.
8537         (change-history-nocommit): Update footer regexp.
8538         Ensure output script stays executable.
8540 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
8542         New version of `seq-let' based on a pcase pattern
8543         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
8544         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
8546 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
8548         Add basic HTML5 tags and a template
8549         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
8550         (html-tag-alist): Add HTML5 tags.
8551         (html-tag-help): Add new tags descriptions.
8552         (html-navigational-links): Template for nav links.
8553         (html-html5-template): Template for a HTML5 page.
8555 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
8557         semantic/symref/grep: Don't use word boundaries
8558         * lisp/cedet/semantic/symref/grep.el
8559         (semantic-symref-perform-search): Instead of wrapping input in
8560         word boundaries, check that the characters before and after are
8561         not word constituents.
8563         semantic/symref/grep: Support regexp search
8564         * lisp/cedet/semantic/symref.el
8565         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
8566         the search type is regexp.
8567         * lisp/cedet/semantic/symref/grep.el
8568         (semantic-symref-perform-search): Support the regexp search type.
8569         Pass -E to Grep when it's used.
8571         semantic-symref-regexp: Allow to input an arbitrary string
8572         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
8573         Allow to input an arbitrary string interactively.
8575         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
8576         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
8577         Remove tag-symbol-match-p from the default value
8578         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
8580         Declare find-tag obsolete
8581         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
8582         xref-find-definitions.
8584 2015-05-10  Jan D  <jan.h.d@swipnet.se>
8586         Draw composite string correctly (Bug#20537).
8587         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
8588         (ns_draw_glyph_string): Call it (Bug#20537).
8590 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
8592         Avoid infloop in ERC
8593         * lisp/simple.el (line-move-to-column): Ignore field boundaries
8594         while computing line beginning position.  (Bug#20498)
8596 2015-05-08  Glenn Morris  <rgm@gnu.org>
8598         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
8599         * build-aux/gitlog-to-emacslog: Check called from right directory.
8600         (srcprefix): Remove.
8602         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
8603         * Makefile.in (ChangeLog): No longer pass "distprefix".
8604         * make-dist: Update "make ChangeLog" syntax for the above change.
8606         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
8607         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
8609         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
8611         Add command-line option-parsing to gitlog-to-emacslog.
8612         * build-aux/gitlog-to-emacslog: Add command-line options.
8613         By default, refuse to remove an existing output file.
8614         * Makefile.in (CHANGELOG): Update default.
8615         (ChangeLog): Do not test for existing file.
8616         (change-history-nocommit): Ensure temp file does not exist.
8618         Quieten --without-x compilation.
8619         * lisp/term/common-win.el: Provide a feature.
8620         * lisp/term/x-win.el (term/common-win): Require it.
8622         * lisp/dired-aux.el (dired-do-print): Require lpr.
8624         Quieten compilation, eg in --without-x builds.
8625         * lisp/dired-aux.el (lpr-printer-switch):
8626         * lisp/frame.el (tool-bar-height):
8627         * lisp/linum.el (font-info):
8628         * lisp/window.el (font-info, overflow-newline-into-fringe)
8629         (tool-bar-height):
8630         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
8631         * lisp/gnus/gnus-util.el (iswitchb-mode):
8632         * lisp/mail/rmailmm.el (libxml-parse-html-region):
8633         * lisp/net/nsm.el (gnutls-peer-status)
8634         (gnutls-peer-status-warning-describe):
8635         * lisp/net/shr.el (libxml-parse-xml-region):
8636         * lisp/url/url-http.el (gnutls-peer-status): Declare.
8638 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
8640         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
8641         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
8642         `subclass' since they're never called with a class.
8643         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
8644         srecode-dictionary-child-p.
8646 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
8648         help--binding-locus: Document argument POSITION.
8649         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
8651 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
8653         Merge from gnulib.
8654         * doc/misc/texinfo.tex: Get latest version.
8656 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
8658         ffap.el (ffap-read-file-or-url): Fix completing-read call
8659         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
8660           `completing-read' should be a symbol.
8662 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
8664         Verify file modifications by other programs
8665         * src/filelock.c (lock_file): Check whether the file was modified
8666         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
8668         Fix keyboard macros that include function keys
8669         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
8670         keys in the macro before returning.  (Bug#20454)
8672 2015-05-08  Glenn Morris  <rgm@gnu.org>
8674         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
8675         "Copyright-paperwork-exempt".  (Bug#20324)
8677         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
8678         (log-edit-rewrite-tiny-change): New variable.
8679         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
8680         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
8681         * etc/NEWS: Mention this.
8683         * lisp/calc/calc.el (math-zerop): Declare.
8685         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
8687 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
8689         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
8690         Support the case when BINDINGS is a single tuple.  (Bug#20525)
8692         * etc/NEWS: Fix typo in commit 14bb519
8694 2015-05-07  Jan D  <jan.h.d@swipnet.se>
8696         Warn for multiple display crash for all Gtk+ versions.
8697         * configure.ac: Warn for multiple display crash for all Gtk+
8698         versions.  Output URL to Gtk+ bug (Bug#20452).
8700         ns-win.el (ns-paste-secondary): Use gui-get-selection.
8701         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
8703 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
8705         * lisp/emacs-lisp/package.el: New "external" package status
8706         An external package is any installed package that's not built-in
8707         and not from `package-user-dir', which usually means it's from an
8708         entry in `package-directory-list'.  They are treated much like
8709         built-in packages, in that they cannot be through the Package Menu
8710         deleted and are not considered for upgrades.
8711         (package-desc-status): Identify if a package is installed outside
8712         `package-user-dir'.
8713         (package-menu--print-info-simple)
8714         (package-menu--status-predicate): Add support for it.
8715         * etc/NEWS: Document it.
8717 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
8719         * lisp/mail/rmail.el: Use lexical-binding
8720         (rmail-bury): Remove unused var `buffer-to-bury'.
8721         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
8722         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
8723         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
8724         (rmail-insert-inbox-text): Remove unused var `movemail'.
8725         (rmail-add-mbox-headers): Remove unused var `limit'.
8726         (rmail-undelete-previous-message): Remove unused var `value'.
8727         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
8728         `resent-reply-to'.
8729         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
8730         (rmail-restore-desktop-buffer): Rename arguments.
8732 2015-05-06  Glenn Morris  <rgm@gnu.org>
8734         * Makefile.in (change-history-commit): Add missing piece of previous.
8736         Avoid unnecessary bumping of Makefile.in's timestamp.
8737         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
8738         (emacslog): New variable.
8739         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
8740         (unchanged-history-files): Use $emacslog rather than Makefile.in.
8741         (change-history-nocommit): Store hash in $emacslog.
8742         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
8743         * admin/update_autogen (changelog_files): Update for the above.
8745         * Makefile.in: Don't always insist on removing existing "ChangeLog".
8746         (CHANGELOG): New variable.
8747         (no-ChangeLog): Remove.
8748         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
8749         (change-history-nocommit): Use a temp file rather than insisting
8750         on deletion of any existing "ChangeLog".
8752         * build-aux/gitlog-to-emacslog: Allow specification of output.
8754         * admin/update_autogen: Add option to update ChangeLog.
8755         (usage): Mention -H.
8756         (changelog_flag, changelog_n, changelog_files): New variables.
8757         (main): Check for -H, and maybe run change-history-nocommit.
8759 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
8761         * lisp/subr.el (delete-dups): Pre-size the hashtable.
8763         (define-modify-macro): Make sure cl--arglist-args is defined
8764         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
8765         cl--arglist-args is defined (bug#20517).
8767 2015-05-06  Glenn Morris  <rgm@gnu.org>
8769         * Makefile.in (change-history-nocommit): New.
8771 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
8773         Only cancel timer when it is non-nil
8774         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
8775         timer when it is non-nil
8776         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
8778 2015-05-06  Glenn Morris  <rgm@gnu.org>
8780         Quieten cedet compilation
8781         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
8782         Invert fboundp test to quieten on current Emacs.
8783         * lisp/cedet/ede/config.el (ede-shell-run-something)
8784         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
8785         (semanticdb-refresh-table): Declare.
8786         (ede-preprocessor-map): Require semantic/db.
8788         Quieten cc-mode compilation
8789         * lisp/progmodes/cc-awk.el (c-forward-sws):
8790         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
8791         Declare.
8793 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
8795         lisp/subr.el (delete-dups): Avoid nreverse.
8797 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
8799         * lisp/subr.el (delete-dups): Make it destructive again.
8801 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
8803         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
8805 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
8807         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
8808         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
8809         (testcover--read): Rename from testcover-read.  Change calling convention.
8810         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
8811         (testcover-start): Use add-function.  Move edebug-all-defs binding to
8812         testcover--read.
8813         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
8814         (testcover-mark): Remove unused var `item'.
8815         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
8817 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
8819         lisp/subr.el (delete-dups): Use a hash table
8820         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
8821           use a hash table. This can result in ~500 times speed-up for typical
8822           collections of size 5000, like that of `load-library'.
8824 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
8826         CEDET: Avoid `oref' on classes in a few more cases
8827         * lisp/cedet/ede/generic.el (ede-find-target):
8828         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
8829         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
8830         var `prefix'.
8832         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
8833         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
8834         (semantic-symref-perform-search): Remove unused var `pat'.
8836         CEDET (srecode-compile-inserter): Avoid `oref' on classes
8837         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
8838         Avoid `oref' on classes (bug#20491).
8839         (srecode-compile-split-code): Remove unused var `key'.
8841 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
8843         Clean up pulse.el a little
8844         * lisp/cedet/pulse.el (pulse): Remove.
8845         (pulse-momentary-timer): Save instead of the stop time.
8846         (pulse-momentary-highlight-overlay): Call
8847         pulse-momentary-unhighlight first thing. Treat
8848         pulse-momentary-overlay as a single value, not a list. Save the
8849         created timer. Only pass the stop time to the timer.
8850         (pulse-tick): Update accordingly.
8851         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
8852         single value. Cancel the timer.
8854 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
8856         Support the biblatex journaltitle field
8857         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
8858         Support the biblatex journaltitle field.
8860 2015-05-05  Glenn Morris  <rgm@gnu.org>
8862         Minor declare-function improvement
8863         * lisp/emacs-lisp/bytecomp.el
8864         (byte-compile-macroexpand-declare-function):
8865         Handle declarations after calls.  (Bug#20509)
8867         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
8869         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
8871 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
8873         Pulse using a timer
8874         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
8875         (pulse-momentary-highlight-overlay): Set up the timer instead of
8876         calling `pulse'
8877         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
8878         (pulse-tick): New function.
8879         (pulse-momentary-unhighlight): Cut off the stop time.
8880         (pulse-delay): Update the docstring WRT to not using sit-for.
8882         Add semantic/symref/grep file patterns for ruby-mode
8883         * lisp/cedet/semantic/symref/grep.el
8884         (semantic-symref-filepattern-alist): Add patterns for
8885         ruby-mode. Clarify the docstring.
8887         Don't require match
8888         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
8889         match. That doesn't work for every command, and some identifier
8890         completion tables are bound to be imperfect anyway.
8892 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
8894         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
8895         (semantic-grammar--template-expand): New function.
8896         (semantic-grammar-header, semantic-grammar-footer): Use it.
8897         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
8898         (semantic-grammar-file-regexp): Refine regexp.
8899         (semantic-grammar-eldoc-get-macro-docstring):
8900         Use elisp-get-fnsym-args-string when available.
8901         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
8902         instead of the old eldoc-* names.
8903         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
8904         from elisp-mode.el.  Tweak calling convention.
8905         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
8906         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
8907         elisp--get-fnsym-args-string.
8908         (elisp--highlight-function-argument): Add `prefix' arg.
8909         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
8910         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
8912 2015-05-05  Glenn Morris  <rgm@gnu.org>
8914         * lisp/help-fns.el (describe-function-1):
8915         Handle builtins with advertised calling conventions.  (Bug#20479)
8917 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
8919         Merge branch 'seq-let'
8921         Update `seq-let' documentation
8922         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
8923         with the support of  `&rest'.
8925         Add support for &rest in `seq-let'
8926         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
8927         in the argument list.
8928         * test/automated/seq-tests.el: Add a test for parsing and binding
8929         `&rest' in `seq-let'.
8931 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
8933         Spelling fixes
8935 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
8937         * eieio-custom.el (eieio-object-value-get): Add missing increment
8938         (Bug#20467)
8940         (eieio-object-value-create): Adjust to new slots representation
8941         (Bug#20467)
8942         * eieio-custom.el (eieio-object-value-create):
8943         Fix missed adjustment to new representation of slots metadata.
8945 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
8947         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
8949 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
8951         Work around "Attempt to modify read-only object"
8952         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
8953         elisp--xref-find-definitions, to work around "Attempt to modify
8954         read-only object" error.
8956         Only skip some variables that have function counterparts
8957         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8958         Only skip minor-mode-named variable if it's defined in a Lisp
8959         file, and it's in minor-mode-list (bug#20506).
8960         * test/automated/elisp-mode-tests.el
8961         (elisp-xref-finds-both-function-and-variable)
8962         (elisp-xref-finds-only-function-for-minor-mode): New tests.
8964 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
8966         Buttonize the whole line, including the number at the beginning
8967         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
8968         previous change.
8969         (xref--insert-xrefs): Buttonize the whole line, including the
8970         number at the beginning.
8972         Make sure we're inside the let bindings
8973         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
8974         Make sure we're inside the let bindings.
8975         * test/automated/elisp-mode-tests.el
8976         (elisp-completes-functions-after-let-bindings): New test.
8978 2015-05-04  Glenn Morris  <rgm@gnu.org>
8980         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
8981         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
8982         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
8983         Remove outdated declarations.
8985         Replace instances of "(eval-when-compile (autoload ...))"
8986         * lisp/gnus/gnus-art.el (nneething-get-file-name):
8987         Declare rather than autoload.
8988         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
8989         Remove pointless autoload.
8990         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
8991         (gnus-topic-create-topic, gnus-topic-enter-dribble):
8992         Declare rather than autoload.
8993         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
8994         (mailcap-extension-to-mime): Autoload at run-time.
8995         * lisp/gnus/mm-util.el (latin-unity-massage-name)
8996         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
8997         (latin-unity-representations-present-region):
8998         Declare rather than autoload.
8999         * lisp/gnus/mml-smime.el (epg-make-context)
9000         (epg-passphrase-callback-function): Autoload at run-time.
9001         (epg-context-set-signers, epg-context-result-for)
9002         (epg-new-signature-digest-algorithm)
9003         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
9004         (epg-sign-string, epg-encrypt-string)
9005         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
9006         (epg-configuration, epg-expand-group, epa-select-keys):
9007         Declare rather than autoload.
9008         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
9009         Autoload at run-time.
9010         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
9011         (gnus-registry-get-id-key, gnus-registry-action):
9012         Declare rather than autoload.
9013         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
9014         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
9015         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
9016         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
9017         (spam-stat-split-fancy): Remove pointless autoloads.
9018         * lisp/net/mairix.el: Load gnus-util when compiling.
9019         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
9020         (message-field-value): Declare rather than autoload.
9021         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
9022         Check gnus-alive-p is fbound.
9023         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
9024         (vm-check-for-killed-summary, vm-error-if-folder-empty)
9025         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
9026         Declare rather than autoload.
9028         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
9030         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
9031         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
9033         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
9035         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
9037         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
9038         * lisp/emacs-lisp/package.el (epg-signature-status):
9039         Fix declarations.
9041         * lisp/play/gametree.el (gametree-show-children-and-entry)
9042         (gametree-apply-layout, gametree-mouse-show-subtree)
9043         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
9045         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
9046         Handle cl-defgeneric, cl-defmethod.
9048 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9050         Highlight both type and symbol name
9051         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
9052         Highlight both type and symbol name.
9054         Insert, highlight and align line numbers in xref output
9055         * lisp/progmodes/etags.el (xref-location-line): Specialize for
9056         xref-etags-location.
9057         * lisp/progmodes/xref.el (xref-location-line): New generic method.
9058         (xref-file-location): Add reader for the line slot.
9059         (xref--location-at-point): Skip to the `xref-location' property.
9060         (xref--collect-reference): Drop the line number from description.
9061         (xref--insert-xrefs): Insert, highlight and align line numbers.
9063 2015-05-04  Daniel Colascione  <dancol@dancol.org>
9065         Fix previous commit
9067 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9069         Don't pulse the indentation, or the newline
9070         * lisp/cedet/pulse.el (pulse-lighten-highlight)
9071         (pulse-reset-face): Fall back to the inherited background
9072         attribute in FACE.
9073         (pulse-momentary-highlight-region): Add autoload cookie.
9074         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
9075         indentation, or the newline, if the line's non-empty
9076         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
9078 2015-05-04  Daniel Colascione  <dancol@dancol.org>
9080         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
9081         * doc/lispref/positions.texi (Excursions): Document
9082         `save-mark-and-excursion'.
9083         * lisp/font-lock.el (font-lock-fontify-block): Use
9084         `save-mark-and-excursion' instead of `save-excursion', restoring
9085         Emacs 24 behavior.
9086         * lisp/simple.el (save-mark-and-excursion--save)
9087         (save-mark-and-excursion--restore): New functions.
9088         (save-mark-and-excursion): New user macro.
9089         * src/editfns.c (Fsave_excursion): Mention
9090         `save-mark-and-excursion' in `save-excursion' documentation.
9092 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
9094         Classify lone symbol inside let varlist as variable
9095         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
9096         Classify lone symbol inside let varlist as variable.
9097         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
9098         New test.
9100         Add xref-pulse-on-jump
9101         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
9102         Add autoload cookie.
9103         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
9104         (xref--maybe-pulse): New function.
9105         (xref-pop-marker-stack, xref--pop-to-location)
9106         (xref--display-position): Use it.
9107         (xref--location-at-point): Use back-to-indentation.
9109 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
9111         * lisp/org/org-{macs,list}.el: Fix lexical warnings
9112         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
9113         (org-list-get-next-item, org-list-get-prev-item)
9114         (org-list-get-children): Mark unused arg `struct'.
9115         (org-list-use-alpha-bul-p): Remove unused var `bul'.
9116         (org-toggle-checkbox): Mark unused var.
9117         (org-update-checkbox-count): Remove unused var `box-num'.
9118         (org-adapt-indentation): Declare.
9119         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
9120         (org-list-send-list): Remove unused var `txt'.
9121         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
9122         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
9123         * lisp/org/org-macs.el: Use `declare'.
9124         (org-with-limited-levels): Declare dyn-bound vars.
9126 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
9128         Fix minor issues with CEDET on MS-Windows
9129         * lisp/cedet/semantic/symref/idutils.el
9130         (semantic-symref-parse-tool-output-one-line): Fix the search
9131         regexp to match MS-Windows file names with drive letters.
9132         (Bug#19468)
9133         * lisp/cedet/semantic/symref/grep.el
9134         (semantic-symref-grep-use-template): Remove "--color=always" from
9135         Grep switches on MS-Windows.
9136         (semantic-symref-grep-shell): Use shell-file-name as the default
9137         value, so this works not only on Posix platforms.
9138         (semantic-symref-perform-search): Use shell-quote-argument instead
9139         of literal '..' for portable quoting of Grep command-line
9140         argument.  Use shell-command-switch instead of a literal "-c".
9141         * lisp/cedet/semantic/bovine/gcc.el
9142         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
9143         for an absolute file name in a portable way.
9145 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
9147         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
9148         (package-import-keyring, package-refresh-contents)
9149         (package-compute-transaction, package--save-selected-packages)
9150         (package-install-from-archive, package-delete)
9151         (package-menu--perform-transaction): Use `inhibit-message'
9152         instead.
9153         (package--compile): Set `warning-minimum-level' to :error.
9155 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
9157         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
9158         (terminal-init-screen): Use it (bug#20356).
9159         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
9160         (xterm--extra-capabilities-type): New const.
9161         (xterm-extra-capabilities): Use it.
9162         (xterm--version-handler): Lower the pseudo-version for `screen'.
9164 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
9166         xref--insert-xrefs: Tweak the faces
9167         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
9168         Always insert a newline at the end (to avoid mouse-face background
9169         tail at the last line).
9171         elisp-completion-at-point: Prioritize being quoted over funpos
9172         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
9173         Only consider function position when not inside quoted form
9174         (bug#20425).
9175         * test/automated/elisp-mode-tests.el: New file.
9177         Stop vc-print-log from jumping to the top
9178         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
9179         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
9180         is not specified.
9181         (vc-incoming-outgoing-internal): Always pass nil.
9182         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
9183         call it, and don't set vc-sentinel-movepoint (bug#15322).
9184         (vc-print-root-log): Don't fetch the root working revision, nor
9185         pass it to vc-print-log-internal.
9187 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
9189         Fix display of keyboard layouts for right-to-left scripts
9190         * lisp/international/quail.el (quail-insert-kbd-layout): Force
9191         left-to-right paragraph direction.
9193 2015-05-02  K. Handa  <handa@gnu.org>
9195         * cmds.c (internal_self_insert): When we insert spaces for
9196         padding, set point before the padding spaces, not after them.
9198 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
9200         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
9202 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
9204         Fix etags-xref-find for references
9205         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
9206         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
9207         directory if no tags tables are loaded (bug#19468).
9209 2015-05-02  Philipp Stephani  <phst@google.com>
9211         Update the options in whitespace-style defcustom
9212         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
9213         `repeat' because the option is really set-like.  Add missing
9214         options.  Reorder options to match the order in the
9215         documentation.  (Bug#20346)
9217 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
9219         Fix error diagnostics of c-macro-expand
9220         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
9221         too early if no start-marker string was found -- that generally
9222         means cpp exited abnormally, and we still want to show its error
9223         messages to the user.
9225         Don't require Texinfo 5.0 for Emacs documentation
9226         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
9227         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
9228         "@codequoteundirected on", respectively, to avoid requiring
9229         Texinfo 5.x for Emacs documentation.
9231 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
9233         * lisp/files.el (pwd):
9234         When called with a prefix argument, insert the current default
9235         directory at point.
9237 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
9239         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
9240         * lisp/isearch.el (isearch-mode-map): Don't inhibit
9241         function-key-map remapping for backspace (bug#20466).
9243 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
9245         Implement xref-find-references in etags and elisp-mode
9246         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
9247         (elisp-xref-find): Use it.
9248         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
9249         * lisp/progmodes/xref.el (xref-collect-references):
9250         (xref--collect-reference): New functions.
9252 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
9254         Prefer plain characters to Texinfo circumlocutions
9255         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
9256         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
9258         Fix single-quoting style in PDF manuals
9259         The PDF versions of the GNU manuals used curved single quotes to
9260         represent grave accent and apostrophe, which made it a pain to cut
9261         and paste code examples from them.  Fix the PDF versions to use
9262         grave accent and apostrophe for Lisp source code, keystrokes, etc.
9263         This change does not affect the info files, nor does it affect
9264         ordinary uses of curved single quotes in PDF.
9265         * doc/emacs/docstyle.texi: New file, which specifies treatment for
9266         grave accent and apostrophe, as well as the document encoding.
9267         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
9268         * doc/lispintro/emacs-lisp-intro.texi:
9269         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
9270         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
9271         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
9272         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
9273         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
9274         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
9275         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
9276         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
9277         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
9278         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
9279         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
9280         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
9281         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
9282         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
9283         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
9284         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
9285         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
9286         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
9287         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
9288         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
9289         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
9290         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
9291         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
9292         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
9293         * doc/misc/woman.texi:
9294         Use it instead of '@documentencoding UTF-8', to lessen the need for
9295         global changes like this in the future.
9296         * doc/emacs/Makefile.in (EMACS_XTRA):
9297         * doc/lispintro/Makefile.in (srcs):
9298         * doc/lispref/Makefile.in (srcs):
9299         Add dependency on docstyle.texi.
9300         * doc/misc/Makefile.in (style): New macro.
9301         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
9302         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
9303         Use it.
9305 2015-05-01  Glenn Morris  <rgm@gnu.org>
9307         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
9309         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
9310         (help-fns--signature): Declare.
9312         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
9314 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
9316         New macro seq-let, providing destructuring support to seq.el
9317         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
9318         to `cl-destructuring-bind' but works on all sequence types supported
9319         by `seq.el'.  Bump version number to 1.6.
9320         * test/automated/seq-tests.el: Add tests for seq-let.
9321         * doc/lispref/sequences.texi: Add documentation for seq-let.
9323 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
9325         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
9327 2015-05-01  Glenn Morris  <rgm@gnu.org>
9329         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
9331 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
9333         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
9334         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
9335         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
9336         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
9337         (Bug#20445).
9339 2015-05-01  K. Handa  <handa@gnu.org>
9341         * mule-cmds.el (input-method-use-echo-area): Change :type to
9342         'boolean.
9344 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
9346         Start using proportional fonts in eww by default
9347         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
9348         it seems to work well.
9350         Fix links in tables in shr
9351         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
9352         makes (some) links in tables not work.
9354 2015-05-01  Jan D  <jan.h.d@swipnet.se>
9356         (ns-get-cut-buffer-internal): Remove this alias.
9357         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
9359 2015-04-30  Glenn Morris  <rgm@gnu.org>
9361         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
9362         Update for 2015-02-08 change to indirect-function.
9364         * lisp/term/ns-win.el (ns-get-selection-internal):
9365         Remove declaration for function deleted 2014-10-21.
9367         * lisp/dom.el: Load subr-x when compiling, for when-let.
9369         Silence some compilation warnings
9370         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
9371         * lisp/emulation/cua-base.el (delete-active-region):
9372         * lisp/net/net-utils.el (w32-get-console-output-codepage):
9373         * lisp/term/ns-win.el (ns-own-selection-internal)
9374         (ns-disown-selection-internal, ns-selection-owner-p)
9375         (ns-selection-exists-p, ns-get-selection):
9376         Declare for compiler..
9378         Function declaration updates prompted by 'make check-declare'
9379         * lisp/emacs-lisp/package.el (lm-homepage):
9380         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
9381         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
9382         * lisp/gnus/mml.el (libxml-parse-html-region):
9383         * lisp/gnus/nnrss.el (libxml-parse-html-region):
9384         * lisp/net/eww.el (libxml-parse-html-region):
9385         * lisp/net/shr.el (libxml-parse-html-region):
9386         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
9387         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
9388         * lisp/vc/vc-git.el (vc-annotate-convert-time):
9389         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
9390         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
9391         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
9392         Update declaration.
9394         Remove compatibility code for 20-year old function renaming
9395         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
9396         Make it an obsolete alias.
9397         (idlwave-shell-filter): Change all uses to comint-output-filter.
9399 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
9401         Add ace-window face config
9402         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
9403         configuration.
9405 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
9407         Unclutter 'make doc' output a bit
9408         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
9409         Use make subst rather than sh IFS to split target string apart.
9410         This makes 'make' output easier to follow.
9412         Merge from gnulib
9413         * doc/misc/texinfo.tex: Update from gnulib.
9415 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
9417         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
9418         (package-menu--print-info): Obsolete.
9419         (package-menu--print-info-simple): New function.
9420         (package-menu--refresh): Use it, simplify code, and improve
9421         performance.
9422         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
9423         Tiny performance improvement.
9425         * lisp/emacs-lisp/package.el (package--message): inhibit-message
9427 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
9429         Omit -Wstrict-overflow workaround in GCC 5
9430         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
9431         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
9433         Merge from gnulib
9434         This incorporates:
9435         2015-04-29 extern-inline: no need for workaround in GCC 5.1
9436         2015-04-26 file-has-acl: port to CentOS 6
9437         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
9439 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
9441         Set next-error-* in xref--xref-buffer-mode
9442         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
9443         `next-error-last-buffer'.
9444         (xref--next-error-function): New function.
9445         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
9447 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
9449         python.el: Fix warnings on looking-back calls missing LIMIT
9450         * lisp/progmodes/python.el (python-shell-accept-process-output):
9451         Pass LIMIT arg to looking-back.
9453 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
9455         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
9456         (package--download-and-read-archives): Use pushnew instead of
9457         append.  If something terrible happened during a previous
9458         download, simply refreshing should now make things work again.
9460 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
9462         Introduce etags-xref-find-definitions-tag-order
9463         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
9464         New variable.
9465         (etags--xref-find-definitions): Use it (bug#19468).
9467 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
9469         PATH- and completion-related fixes in Eshell on MS-Windows
9470         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
9471         MS-Windows, prepend "." to list of directories produced from PATH,
9472         as Windows always implicitly searches the current directory first.
9473         (eshell-force-execution): Make it have a non-nil default value on
9474         MS-Windows and MS-DOS.
9475         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
9476         eshell-force-execution is non-nil, complete on readable files and
9477         directories, not only executables.  When running on MS-Windows,
9478         prepend "." to list of directories produced from PATH, as Windows
9479         always implicitly searches the current directory first.
9481 2015-04-29  Sam Steingold  <sds@gnu.org>
9483         bury RCIRC buffers when there is no activity
9484         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
9485         (rcirc-bury-buffers): new function
9486         (rcirc-next-active-buffer): when there is no new activity, use
9487         `rcirc-bury-buffers' to hide all RCIRC buffers
9489 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
9491         Fix DBUS query result parsing for secrets-search-items
9492         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
9493         parsing.  The function assumed that return value of the
9494         SearchItems method called on a collection is a list of two lists,
9495         however this is true only when no collection is specified.  GNOME
9496         had used to incorrectly return a list of two lists in both cases,
9497         but this was already fixed:
9498         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
9499         incorrect information in the secrets-search-items’ docstring.
9500         (Bug#20449)
9502 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
9504         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
9505         (byte-compile--message): Use `inhibit-message' instead of hiding
9506         the previous message with (message nil).
9508 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
9510         Remove the deprecated INTERNAL_FIELD macro by expanding it
9511         * src/lisp.h (INTERNAL_FIELD): Remove.
9512         (DEFVAR_KBOARD): Modify accordingly.
9513         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
9514         * syntax.c: Adjust users.
9515         * src/buffer.c (compact_buffer): Use BVAR.
9517 2015-04-29  Glenn Morris  <rgm@gnu.org>
9519         Replace an obsolete function alias
9520         * lisp/isearch.el (isearch-yank-x-selection):
9521         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
9522         (mouse-drag-secondary-moving):
9523         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
9524         Replace obsolete alias x-get-selection with gui-get-selection.
9526 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9528         * lisp/mail/rmailsum.el: Use lexical-binding.
9530 2015-04-29  Glenn Morris  <rgm@gnu.org>
9532         * test/automated/package-test.el (package-test-update-archives-async):
9533         Skip test on hydra.nixos.org.
9535 2015-04-28  Glenn Morris  <rgm@gnu.org>
9537         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
9538         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
9539         (foldout-mouse-hide-or-exit): Use new names for outline functions.
9541         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
9542         Update for 2014-06-26 hideif.el change.
9544         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
9545         (rmail--decode-and-apply): New function.
9546         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
9548         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
9550 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9552         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
9553         (package-menu--refresh): Delegate obsolete-hiding to
9554         `package--remove-hidden'.
9555         (package--remove-hidden): Disregard high-priority package if it is
9556         older than the installed one.
9558 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
9560         Update source file encoding list
9561         Update admin/notes/unicode, along with coding system cookies in
9562         other files, so that the two match each other better.
9563         * admin/notes/unicode: lisp/language/ethio-util.el and
9564         lisp/language/ethiopic.el also use utf-8-emacs.
9565         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
9566         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
9567         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
9568         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
9569         * etc/refcards/sk-survival.tex:
9570         Add "coding: utf-8" so that this file is not mishandled in a
9571         Latin-1 or Big-5 locale.
9572         * lisp/international/robin.el, lisp/org/ox-ascii.el:
9573         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
9574         * lisp/language/ethio-util.el: Fix trailer.
9576 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
9578         Fix synchronous invocation of Ispell
9579         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
9580         value to ispell-process-directory before calling ispell-init-process.
9581         Don't call set-process-coding-system if ispell-async-processp is nil.
9582         (Bug#20448)
9584 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9586         * lisp/emacs-lisp/package.el: Skip space and comments in init file
9587         (package--ensure-init-file): Insert snippet at first
9588         non-whitespace non-comments line.  Respects local-vars at the top
9589         of the file.
9591 2015-04-28  Glenn Morris  <rgm@gnu.org>
9593         * lisp/mail/rmail.el (rmail-copy-headers):
9594         Handle rmail-nonignored-headers being nil.  (Bug#18878)
9596         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
9598         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
9599         Don't get confused by a bzrlib version mismatch warning.
9601 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9603         Change default location of EUDC options file
9604         * NEWS: Document change to EUDC options file's default location.
9605         * lisp/net/eudc-vars.el (eudc-options-file): Use
9606         `locate-user-emacs-file' to change default options file location.
9608 2015-04-27  Glenn Morris  <rgm@gnu.org>
9610         * test/automated/package-test.el (package-test-update-archives-async):
9611         Try to handle the test server script dying.
9613 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9615         * lisp/saveplace.el (save-place-mode): New minor mode.
9616         (save-place): Redefine as an obsolete alias.
9618         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
9619         * lisp/midnight.el: Use lexical-binding.
9620         (midnight-mode): Make it a proper minor mode.
9621         (midnight-buffer-display-time): Make arg non-optional.
9622         (midnight-find): Remove.
9623         (clean-buffer-list-kill-never-regexps)
9624         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
9625         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
9626         contain functions.
9627         (clean-buffer-list): Use cl-find.
9628         Allow clean-buffer-list-kill-never-regexps to contain functions.
9630 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
9632         Bump version of seq.el to 1.5
9633         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
9634           from seq-doseq.  Bump version number of seq.el.
9636 2015-04-27  Glenn Morris  <rgm@gnu.org>
9638         * lisp/mail/rmail.el (rmail-reply):
9639         Decode subject before matching "Re:" prefix.  (Bug#20396)
9641 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
9643         * lisp/emacs-lisp/package.el: Small improvements
9644         (package--with-work-buffer-async): More informative error.
9645         (package-install-user-selected-packages): Rename to
9646         `package-install-selected-packages'.
9648 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9650         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
9651         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
9652         (eieio--class-make): Remove leftover `tag'.
9654 2015-04-27  Glenn Morris  <rgm@gnu.org>
9656         * lisp/gnus/message.el (gnus-extract-address-components):
9657         Remove bogus declaration that was masking previous problem.
9659 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
9661         * lisp/gnus/message.el (message-insert-formatted-citation-line):
9662         Fix typo.  (Bug#20318)
9664 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9666         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
9668         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
9669         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
9670         the buffer in yet another frame.
9671         (reftex-toc-visit-location): Make sure toc-window has focus at the end
9672         when `final' is nil.
9673         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
9674         silence warnings.  Use `--' to clarify that it's internal.
9675         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
9676         (reftex-toc-promote): Clarify unused argument.
9677         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
9678         Add `reftex--' prefix.  Fix all users.
9679         (reftex-toc-promote-prepare): Use _ for dummy variable.
9680         (reftex-toc-restore-region): Rename `m
9682 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
9684         Fix a typo in bibtex.el
9685         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
9686         last change.  (Bug#20429)
9688         Fix redisplay of frame after loading new fonts
9689         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
9690         frame because new fonts were loaded, disable all redisplay
9691         optimizations on that frame by calling SET_FRAME_GARBAGED.
9692         (Bug#20410)
9694 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9696         * lisp/info.el (Info-menu): Properly provide the `default'
9697         (Bug#20391)
9699         * elisp-mode.el: Catch errors from `documentation'
9700         (Bug#20418)
9701         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
9702         Catch errors from documentation.
9703         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
9705 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
9707         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
9708         Remove redundant ":group 'package".
9710 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
9712         Fix a typo in rmail.el
9713         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
9714         last commit.  (Bug#20429)
9716 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
9718         Introduce xref-prompt-for-identifier
9719         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
9720         (xref--read-identifier): Use it
9721         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
9723 2015-04-26  João Távora  <joaotavora@gmail.com>
9725         `tex-insert-quote' after single `'' opens quotes instead of closing
9726         Without this, it's very hard to precede double quotes with the
9727         apostrophe character, i.e. insert the sequence '``
9728         (quote-backquote-backquote), commonly useful in portuguese, for
9729         instance.
9730         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
9731         chars making `tex-insert-quote' be in the "opening" context.
9733 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
9735         Pass `id' to `completing-read' as def instead of initial input
9736         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
9737         as the default value instead of initial input
9738         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
9740 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
9742         Don't freeze with unreadable processes
9743         Don't freeze if an exiting process can't be read from. (Bug#19860).
9744         This fixes a bug I introduced in
9745         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
9746         "* process.c: Add sanity checks for file descriptors."
9747         Dmitry Gutov did most of the legwork in finding the problem.
9748         * src/process.c (wait_reading_process_output):
9749         Treat non-running processes that can't be read from
9750         the same as other non-running processes.
9752 2015-04-25  Alan Mackenzie  <acm@muc.de>
9754         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
9755         * lisp/subr.el (remove-yank-excluded-properties): put
9756         `with-silent-modifications' around only the last three lines of code.
9758 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9760         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
9761         (package--all-keywords): Deleted variable.
9763         * etc/NEWS: Document package-hiding functionality
9765 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
9767         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
9769         Clarify the doc string of 'replace-regexp-in-string'
9770         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
9772         Improve doc string of 'insert-buffer-substring'
9773         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
9775         MS-Windows followup for the recent gnulib update
9776         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
9777         acl-internal.c.
9779 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9781         Spelling fixes
9783         Merge from gnulib
9784         This incorporates:
9785         2015-04-24 file-has-acl: new module, split from acl
9786         2015-04-24 manywarnings: add GCC 5.1 warnings
9787         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
9788         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
9789         2015-04-15 acl: On Linux, check for acls without libacl
9790         2015-04-14 tempname: avoid unused parameter warnings (trivial)
9791         * lib/acl-internal.c: New file, from gnulib.
9792         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
9793         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
9794         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
9795         Update from gnulib.
9797         Port --enable-gcc-warnings to GCC 5.1 x86-64
9798         * lib-src/ebrowse.c (dump_sym):
9799         * lib-src/hexl.c (main):
9800         * src/ccl.c (ccl_driver):
9801         * src/character.c (string_escape_byte8):
9802         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
9803         * src/gnutls.c (Fgnutls_boot):
9804         * src/gtkutil.c (xg_check_special_colors):
9805         * src/image.c (x_build_heuristic_mask):
9806         * src/print.c (safe_debug_print, print_object):
9807         * src/term.c (produce_glyphless_glyph):
9808         * src/xdisp.c (get_next_display_element)
9809         (produce_glyphless_glyph):
9810         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
9811         Don't use a signed format to print an unsigned integer, or vice
9812         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
9813         * src/image.c (png_load_body, jpeg_load_body):
9814         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
9816 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
9818         Add new faces to tsdh-light-theme
9819         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
9820         definitions for Info-quoted, ace-jump-face-foreground,
9821         hl-paren-face, show-paren-match, and show-paren-mismatch.
9823 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
9825         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
9827 2015-04-24  Glenn Morris  <rgm@gnu.org>
9829         * build-aux/gitlog-to-emacslog:
9830         Use raw log format rather than wrapped one.
9832 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
9834         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
9835         (seq-doseq): Fix out-of-scope binding.
9836         Don't call `seq-length at every iteration.
9837         Reduce `if's from 3 to 2 per iteration.
9838         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
9840 2015-04-24  Glenn Morris  <rgm@gnu.org>
9842         * lisp/textmodes/text-mode.el (text-mode-hook):
9843         Move text-mode-hook-identify to default.
9845         * lisp/mouse.el (minor-mode-menu-from-indicator):
9846         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
9848         * lisp/help-fns.el (describe-function): More type checking.
9849         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
9851         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
9852         (Bug#20325)
9854 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
9856         shr: strip leading whitespace when expanding URLs
9857         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
9859 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
9861         Clarify "co-authored" some more
9863         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
9865         Clarify doc strings of functions that search for properties
9866         * src/textprop.c (Fnext_char_property_change)
9867         (Fprevious_char_property_change)
9868         (Fnext_single_char_property_change)
9869         (Fprevious_single_char_property_change, Fnext_property_change)
9870         (Fnext_single_property_change, Fprevious_property_change)
9871         (Fprevious_single_property_change): Clarify doc strings wrt return
9872         value and the optional LIMIT argument.  (Bug#20411)
9874 2015-04-24  Glenn Morris  <rgm@gnu.org>
9876         * test/automated/message-mode-tests.el (message-mode-propertize):
9877         Handle non-writable HOME; eg on hydra.nixos.org.
9879 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
9881         Avoid starting threads by w32-shell-execute
9882         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
9883         local file names, before invoking ShellExecute.  (Bug#20220)
9885 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
9887         Fix following doc-links in `widget-documentation-link-action'
9888         * lisp/wid-edit.el (widget-documentation-link-action): Make
9889         following doc-links less simplistic (Bug#20398).
9891 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9893         Improve EUDC manual
9894         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
9896 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
9898         Omit needless "\ " after multibyte then newline
9899         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
9900         (print_object): When print-escape-multibyte is non-nil and a
9901         multibyte character is followed by a newline or formfeed, followed
9902         by a hex digit, don't output a needless "\ " before the hex digit.
9903         * test/automated/print-tests.el (print-hex-backslash): New test.
9905 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
9907         Add a new `inhibit-message' variable
9908         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
9909         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
9910         `inhibit_message' is non-zero.
9911         * etc/NEWS: Add an entry.
9912         * doc/lispref/display.texi: Add an entry for `inhibit-message',
9913           mention it in `message'.
9915 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
9917         Fix last fix in `display-buffer-record-window'.
9918         * lisp/window.el (display-buffer-record-window): Fix last fix.
9920 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
9922         Minor edits in CONTRIBUTE
9923         * CONTRIBUTE: Rearrange instructions about log messages.
9924         Use "Git" capitalized all over.
9925         Use 2 spaces between sentences.
9927 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
9929         * lisp/files.el (basic-save-buffer): Fix argument
9931         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
9932         In case `(and (null custom-file) init-file-had-error)' do the same
9933         thing we'd do if `(null user-init-file)', which is to either error out
9934         or return nil.  This is in line with `custom-save-all' which would
9935         throw an error in that situation. (bug#20355)
9937         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
9938         (package-menu-hide-low-priority): New variable, see its doc.
9939         (package-archive-priorities): Update doc.
9940         (package-desc-priority): New function.
9941         (package-desc-priority-version): Use it.
9942         (package--remove-hidden): New function.
9943         (package-menu--refresh): Use it.
9945         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
9946         (package-menu--hide-obsolete): New variable.
9947         (package--remove-hidden): Use it.
9948         (package-menu-hide-obsolete): New interactive function to toggle
9949         the variable.
9950         (package--quick-help-keys): Document it.
9951         (package-menu-async): Add :version tag.
9952         (package-menu-mode-map): Bind package-menu-hide-obsolete.
9953         (package-desc-status): Indicate non-installed obsolete packages as
9954         avail-obso.
9955         (package-menu-mark-install): Allow installation of avail-obso.
9956         (package-menu--status-predicate): Sort avail-obso with available.
9958 2015-04-22  Alan Mackenzie  <acm@muc.de>
9960         On C-y, stop some text property entries being written into buffer-undo-list
9961         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
9962         `with-silent-modifications'.
9964 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
9966         In display-buffer-record-window record selected window if necessary.
9967         * lisp/window.el (display-buffer-record-window): Store selected window
9968         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
9970 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
9972         Fix reftex-citation bug
9973         * reftex-cite.el (reftex-extract-bib-entries): Fix
9974         `wrong-type-argument stringp nil' error that occurs when AUCTeX
9975         integration is enabled and there are no citations in the document
9976         so far.
9978 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
9980         Add or reset based on the presence of MERGE_HEAD
9981         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
9982         `vc-git-resolve-when-done' to `after-save-hook' in either case.
9983         (vc-git-conflicted-files): Add a TODO.
9984         (vc-git-resolve-when-done): Depending on the presence of
9985         MERGE_HEAD, either update the resolved file in the index, or
9986         remove it from there.  (Bug#20292)
9988 2015-04-21  Glenn Morris  <rgm@gnu.org>
9990         * lisp/custom.el (custom-declare-group): No need to purecopy
9991         custom-current-group-alist members following recent change to set
9992         it to nil before dumping.
9994         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
9995         (Bug#20399)
9997 2015-04-21  Daniel Colascione  <dancol@dancol.org>
9999         Unbreak no-op buffer save message
10000         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
10001         (basic-save-buffer): Accept called-interactively as an argument instead of
10002         directly invoking called-interactively-p, which will always yield nil
10003         in that context.
10005 2015-04-21  Alan Mackenzie  <acm@muc.de>
10007         CC Mode: Do nothing in before/after-change-functions for text property changes
10008         Fixes bug#20266.
10009         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
10010         yank-handled-properties buffer local, and remove 'category from it.
10011         (c-called-from-text-property-change-p): New function.
10012         (c-before-change): Don't do anything if a call of the new function
10013         returns non-nil.
10014         (c-after-change): Don't do much if a call of the new function returns
10015         non-nil.
10016         (c-extend-after-change-region): Put changes to text property 'fontified
10017         inside c-save-buffer-state.
10019 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
10021         Fix byte-compiler warnings about looking-back.
10022         * lisp/vc/log-view.el (log-view-end-of-defun-1):
10023         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
10024         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
10025         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
10026         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
10027         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
10028         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
10029         * lisp/org/org.el (org-insert-heading, org-sort-entries):
10030         * lisp/org/org-mouse.el (org-mouse-end-headline)
10031         (org-mouse-context-menu):
10032         * lisp/org/org-clock.el (org-clock-cancel):
10033         * lisp/man.el (Man-default-man-entry):
10034         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
10035         (rmail-ensure-blank-line):
10036         * lisp/mail/footnote.el (Footnote-delete-footnote):
10037         * lisp/mail/emacsbug.el (report-emacs-bug):
10038         * lisp/info.el (Info-follow-reference, Info-fontify-node):
10039         * lisp/info-look.el (info-lookup-guess-custom-symbol):
10040         * lisp/help-fns.el (help-fns--key-bindings):
10041         * lisp/files.el (hack-local-variables):
10042         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
10043         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
10044         (viper-complete-filename-or-exit):
10045         * lisp/emulation/viper-cmd.el (viper-backward-indent):
10046         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
10047         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
10048         * lisp/cus-edit.el (custom-face-edit-value-create):
10049         * lisp/calendar/todo-mode.el (todo-set-item-priority)
10050         (todo-filter-items-1, todo-convert-legacy-files)
10051         (todo-prefix-overlays): Add explicit second arg to looking-back.
10053 2015-04-20  Glenn Morris  <rgm@gnu.org>
10055         Avoid non-nil current-load-list at startup
10056         * src/process.c (init_process_emacs): Move Fprovide statement...
10057         (syms_of_process): ... to here.
10059         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
10061         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
10063 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
10065         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
10066         (Bug#20330)
10068 2015-04-20  Glenn Morris  <rgm@gnu.org>
10070         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
10072         Tweak exec-path in uninstalled case
10073         * src/callproc.c (init_callproc): If running uninstalled, do not
10074         include eventual installation libexec directory in exec-path.
10076 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
10078         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
10079         (package-menu-filter): Accept a list of keywords.
10080         (package--all-keywords): New variable to cache known keywords.
10081         (package-all-keywords): Populate it if necessary.
10082         (package-refresh-contents): Reset it.
10084         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
10085         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
10086         as special keywords which match agains package archive and status
10087         respectively.
10088         * etc/NEWS: Document it.
10090 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
10092         Describe and index "empty overlays".
10093         * doc/lispref/display.texi (Overlays): Improve indexing.
10094         (Managing Overlays): Describe "empty" overlays.
10095         (Overlay Properties, Finding Overlays): Add cross-reference to
10096         where empty overlays are described.
10098 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10100         Spelling fixes
10102         Quote 'like this' in top-level files
10103         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
10104         Prefer to single-quote 'like this' (instead of the older style
10105         `like this').
10106         * configure.ac: Fix some space-before-tab problems that 'git commit'
10107         complained about.
10109         Use bool for boolean in textprop.c, undo.c
10110         * src/textprop.c (soft, hard): Now constants instead of macros.
10111         (validate_plist): Rewrite to avoid need for boolean local.
10112         (interval_has_all_properties, interval_has_some_properties)
10113         (interval_has_some_properties_list, add_properties)
10114         (remove_properties, get_char_property_and_overlay)
10115         (Fnext_single_char_property_change)
10116         (Fprevious_single_char_property_change, add_text_properties_1)
10117         (Fremove_text_properties, Fremove_list_of_text_properties)
10118         (copy_text_properties):
10119         * src/tparam.c (tparam1):
10120         * src/undo.c (record_change, record_property_change)
10121         (syms_of_undo):
10122         Use 'true' and 'false' for booleans.
10124 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
10126         Call `smerge-start-session' even when dealing with a stash conflict
10127         * lisp/vc/vc-git.el (vc-git-find-file-hook):
10128         Call `smerge-start-session' even when dealing with a stash
10129         conflict (bug#20292).
10131 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
10133         Add option to eshell/clear to clear scrollback.
10134         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
10135         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
10136         scrollback contents are cleared.
10137         * etc/NEWS: Describe change.
10138         * doc/misc/eshell.texi: Add entry for `clear'.
10140 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10142         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
10143         where either will do.
10145 2015-04-19  Steve Purcell  <steve@sanityinc.com>
10147         Assume package archive-contents are UTF8-encoded
10148         * lisp/emacs-lisp/package.el (package--read-archive-file):
10149         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
10150         downloaded and cached archive-contents files, so that non-ASCII
10151         characters in package descriptions are displayed correctly in the
10152         `list-packages' menu. (Bug#20231)
10154 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
10156         Abort when looking at stashed changes
10157         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
10158         stashed changes (bug#20292).
10160 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10162         Refactor low-level printing for simplicity
10163         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
10164         PRINTPREPARE; doable now that we assume C99.  All callers changed.
10165         (PRINTCHAR): Remove, as it adds more mystery than clarity.
10166         All callers changed.
10167         (strout): Assume that caller computes length.  All callers changed.
10168         (print_c_string): New function.
10169         (write_string, write_string_1): Compute length instead of asking
10170         the caller to compute it.  All callers changed.
10171         (write_string): Simplify by using write_string_1.
10172         (write_string_1): Simplify by using print_c_string.
10173         (Fterpri): Compute default val more clearly.
10174         (Fprin1_to_string, print_object):
10175         Assume C99 to avoid unnecessary nesting.
10176         (print_object): Prefer print_c_string to multiple printchar, or
10177         to calling strout with -1 length.  Coalesce into sprintf when
10178         this is easy.
10180 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
10182         Prefer "Bug#1234" in commit messages (Bug#20325)
10183         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
10184         as this isn't useful for Git.
10185         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
10187 2015-04-18  Glenn Morris  <rgm@gnu.org>
10189         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
10190         (Bug#19506)
10192 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
10194         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
10195         (Bug#19505)
10197 2015-04-18  Glenn Morris  <rgm@gnu.org>
10199         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
10201         * doc/emacs/misc.texi (Sorting): Small edit.
10202         (Bug#19896)
10204         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
10206 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
10208         css-mode.el: Support multi-line comment filling
10209         (Bug#20256)
10210         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
10211         comment filling.
10212         (css-adaptive-fill): New function.
10213         (css-mode): Set `adaptive-fill-function'.
10214         (scss-mode): Set `comment-continue'.
10216 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
10218         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
10220 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
10222         Minor improvements in Bulgarian input methods
10223         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
10224         Replace U+042C with U+045D, as the former character is not used in
10225         the modern Bulgarian language.
10226         (Bug#20350)
10228 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
10230         Improve EUDC manual
10231         * eudc.texi (LDAP Configuration): Mention simple and SASL
10232         authentication schemes.  Add index items.  Shorten example server
10233         name.
10235 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
10237         Don't show both feature and function with the same name
10238         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
10239         Don't show both feature and function with the same name.
10241         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
10242         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
10243         Avoid returning both the variable and the function for the same
10244         minor mode.
10246 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
10248         Fix fontification of keywords clobbered by the prompt.
10249         * lisp/comint.el (comint-output-filter): Remove the uses of
10250         with-silent-modifications I introduced as part of the last change.
10251         This fixes, e.g., erratically missing highlighting when running
10252         ./configure --help; ./configure in a shell-mode buffer with
10253         compilation-shell-minor-mode turned on.
10255 2015-04-17  Glenn Morris  <rgm@gnu.org>
10257         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
10259 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
10261         * lisp/indent.el (indent-region): Don't deactivate the mark
10262         (Bug#20357)
10264 2015-04-17  Sam Steingold  <sds@gnu.org>
10266         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
10268 2015-04-16  Leo Liu  <sdl.web@gmail.com>
10270         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
10272 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
10274         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
10276 2015-04-16  Glenn Morris  <rgm@gnu.org>
10278         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
10280 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
10282         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
10283         * configure.ac (LIBJPEG): Leave it empty for MinGW.
10285 2015-04-16  Glenn Morris  <rgm@gnu.org>
10287         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
10288         to avoid rogue setting after startup.
10290 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
10292         Pre-4.6 GCC succeeds with unknown option
10293         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
10294         (Bug#20338)
10296 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10298         '[:graph:]' now excludes whitespace, not just ' '
10299         * doc/lispref/searching.texi (Char Classes):
10300         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
10301         sans whitespace (not sans space).
10302         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
10303         not just space.
10304         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
10306 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10308         (looking-back): Make the second arg non-optional.
10309         * lisp/subr.el (substitute-key-definition-key, special-form-p)
10310         (macrop): Drop deprecated second arg to indirect-function.
10311         (looking-back): Make the second arg non-optional.
10313         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
10314         command is actually sent to the shell.
10316 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10318         Port jpeg configuration to Solaris 10 with Sun C
10319         * configure.ac: Check for jpeglib 6b by trying to link it, instead
10320         of relying on cpp magic that has problems in practice.  Check for
10321         both jpeglib.h and jerror.h features.  Remove special case for
10322         mingw32, which should no longer be needed (and if it were needed,
10323         should now be addressable by hotwiring emacs_cv_jpeglib).
10324         (Bug#20332)
10326 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10328         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
10329         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
10330         Move to elisp-mode.el.
10331         (lisp-mode-variables): (Re)move elisp-specific settings.
10332         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
10333         from lisp-mode-variables.
10334         (elisp--font-lock-flush-elisp-buffers): New function, moved from
10335         lisp-mode.el.
10337         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
10338         Avoid pathological slowdown at top-level in large file.
10340 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10342         Standardize names of ChangeLog history files
10343         Suggested by Glenn Morris in:
10344         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
10345         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
10346         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
10347         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
10348         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
10349         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
10350         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
10351         Remove.
10353         Split top-level entries into pre- and post-April 7
10354         This more clearly distingiushes pre-April-7 ChangeLog entries (which
10355         are for top-level files only) from post-April-7 entries (which are
10356         about files at all levels.  Problem reported by Glenn Morris in:
10357         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
10358         * ChangeLog.1: Move post-April-7 entries from here ...
10359         * ChangeLog.2: ... to this new file.
10360         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
10362 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10364         Fix recent cus-start changes that added customize-rogues
10365         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
10366         vars early.
10367         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
10369 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
10371         Define cl-concatenate as an alias to seq-concatenate
10372         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
10373           code by making cl-concatenate an alias to seq-concatenate.
10375 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10377         * src/lread.c (intern_1): Make sure we'd find the symbol we add
10378         (Bug#20334)
10379         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
10381 2015-04-15  Glenn Morris  <rgm@gnu.org>
10383         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
10385 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
10387         Clean up gnus-uu saving code slightly
10388         * gnus-uu.el (gnus-uu-save-article): Make the
10389         save-restriction/widen calls make more sense.
10391 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
10393         Make [:graph:] act like [:print:] sans space
10394         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
10395         [:graph:] so that it matches everything that [:print:] does,
10396         except for space.
10397         * doc/lispref/searching.texi (Char Classes):
10398         * etc/NEWS:
10399         * lisp/emacs-lisp/rx.el (rx):
10400         Document [:graph:] to be [:print:] sans ' '.
10401         * src/character.c, src/character.h (graphicp): New function.
10402         * src/regex.c (ISGRAPH) [emacs]: Use it.
10403         (BIT_GRAPH): New macro.
10404         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
10405         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
10406         Return BIT_GRAPH for RECC_GRAPH.
10407         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
10408         and ISPRINT if BIT_PRINT.
10410 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
10412         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
10413         Don't use call-next-method in a cl-defmethod.
10415         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
10416         (eieio--class-p): Remove, provided by cl-defstruct.
10418 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
10420         Add seq-intersection and seq-difference to the seq library
10421         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
10422         functions.
10423         * test/automated/seq-tests.el: Add tests for seq-intersection and
10424         seq-difference.
10425         * doc/lispref/sequences.texi: Add documentation for seq-intersection
10426         and seq-difference.
10428 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
10430         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
10432 2015-04-14  Sam Steingold  <sds@gnu.org>
10434         package--ensure-init-file: widen requires save-restriction
10436 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
10438         Improve the commit-msg Git hook for unibyte environments
10439         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
10440         in unibyte environments.  (Suggested by Paul Eggert
10441         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
10442         [:print:], based on UTF-8 sequences of the unprintable characters.
10444         Describe problems with cursor caused by Windows Magnifier
10445         * etc/PROBLEMS: Describe the problem with cursor shape on
10446         MS-Windows due to Windows Magnifier.
10447         (Bug#20271)
10449         Make [:print:] support non-ASCII characters correctly
10450         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
10451         (BIT_PRINT): New bit mask.
10452         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
10453         * src/character.c (printablep): New function.
10454         * src/character.h (printablep): Add prototype.
10455         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
10456         of 'print', 'alnum', and 'alphabetic'.
10457         * doc/lispref/searching.texi (Char Classes): Document the new
10458         behavior of [:print:].
10459         * etc/NEWS: Mention the new behavior of [:print:].
10461         Assign correct general-category and names to surrogates
10462         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
10463         surrogates.  This avoids assigning them the default
10464         general-category of 'Cn', i.e. unassigned codepoints.
10465         (unidata-get-name): Give surrogates synthetic names.
10467 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
10469         Assume C89 offsetof in xterm.c, xlwmenu.c
10470         * lwlib/xlwmenu.c (offset):
10471         * src/xterm.c (cvt_string_to_pixel_args):
10472         Use offsetof, not XtOffset.
10474 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
10476         Assume C89 offsetof in widget.c
10477         * src/widget.c (XtOffset): Remove; no longer needed.
10478         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
10480         Fix think-o in previous patch
10481         * src/window.c (count_windows, get_leaf_windows):
10482         Don't optimize count_windows incorrectly.
10484 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
10486         Avoid some int overflows in window.c
10487         * src/print.c (print_object):
10488         * src/window.c (sequence_number):
10489         * src/window.h (struct window.sequence_number):
10490         Don't assume window sequence number fits in int.
10491         * src/window.c (window_select_count):
10492         * src/window.h (struct window.use_time, window_select_count):
10493         Don't assume window use time fits in int.
10494         * src/window.c (Fsplit_window_internal):
10495         Don't assume user-supplied integer, or sum, fits in int.
10496         (Fset_window_configuration, count_windows, get_leaf_windows)
10497         (save_window_save, Fcurrent_window_configuration):
10498         Use ptrdiff_t for object counts.
10499         (Fset_window_configuration): Omit unused local 'n'.
10500         (count_windows): Simplify by writing in terms of get_leaf_windows.
10501         (get_leaf_windows): Don't store through FLAT if it's null.
10502         (extract_dimension): New static function.
10503         (set_window_margins, set_window_fringes, set_window_scroll_bars):
10504         Use it to avoid undefined behavior when converting user-supplied
10505         integer to 'int'.
10507 2015-04-13  Glenn Morris  <rgm@gnu.org>
10509         Minor doc copyedits
10510         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
10511         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
10513 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
10515         [Gnus] Catch the invalid-operation that idna.el will issue
10516         * lisp/gnus/gnus-art.el (gnus-use-idna):
10517         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
10518         * lisp/gnus/message.el (message-use-idna):
10519         Catch the invalid-operation that idna.el will issue.
10521 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
10523         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
10525 2015-04-13  Sam Steingold  <sds@gnu.org>
10527         package--ensure-init-file: widen before looking for "(package-initialize)"
10529 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
10531         Change diff-switches default to `-u'
10532         (Bug#20290)
10533         * doc/emacs/files.texi (Comparing Files): Document the new default
10534         value of `diff-switches'.
10535         * doc/emacs/trouble.texi (Sending Patches): Document the preference
10536         for unified diff format.  Escape the plus in the suggested `-F' regexp
10537         value.
10538         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
10540 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
10542         (gnus-group--setup-tool-bar-update): Fix last change
10543         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
10544         cursor-sensor-functions should be a list of functions.
10546 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
10548         Use gmm-called-interactively-p in Gnus
10549         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
10551 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
10553         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
10554         (Bug#20321)
10555         * lisp/cus-start.el (read-buffer-function): Don't advertize
10556         iswitchb-read-buffer any more.
10557         (iswitchb): Don't tweak this obsolete group any more.
10559 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
10561         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
10563         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
10564         Adding a string after a constructor's argument list will use
10565         that string as the constructor function docstring.  If this string
10566         is absent but the struct itself was given a docstring, use that as
10567         the constructor's docstring.
10568         Fixes (bug#17284).
10570 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
10572         Deprecate `intangible' and `point-entered' properties
10573         * lisp/emacs-lisp/cursor-sensor.el: New file.
10574         * lisp/simple.el (pre-redisplay-functions): New hook.
10575         (redisplay--pre-redisplay-functions): New function.
10576         (pre-redisplay-function): Use it.
10577         (minibuffer-avoid-prompt): Mark obsolete.
10578         (redisplay--update-region-highlight): Adapt it to work as a function on
10579         pre-redisplay-functions.
10580         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
10581         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
10582         than point-entered to make the prompt intangible.
10583         * lisp/forms.el: Move `provide' calls to the end.
10584         (forms-mode): Don't use `run-hooks' on a local var.
10585         (forms--make-format, forms--make-format-elt-using-text-properties):
10586         Use cursor-intangible rather than `intangible'.
10587         (forms-mode): Enable cursor-intangible-mode.
10588         * lisp/isearch.el (isearch-mode): Use defvar-local.
10589         (cursor-sensor-inhibit): Declare.
10590         (isearch-mode): Set cursor-sensor-inhibit.
10591         (isearch-done): Set it back.
10592         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
10593         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
10594         any more.
10595         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
10596         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
10597         Add Edebug spec.
10598         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
10599         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
10600         inhibit-point-motion-hooks any more.
10601         (ses--cell-at-pos, ses--curcell): New functions, extracted from
10602         ses-set-curcell.
10603         (ses-set-curcell): Use them.
10604         (ses-print-cell, ses-setup): Use cursor-intangible instead of
10605         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
10606         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
10607         Use ses--cell-at-pos.
10608         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
10609         extracted from ses-command-hook.  Make them work with multiple windows
10610         displaying the same buffer.
10611         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
10612         Enable cursor-intangible-mode.
10613         (ses-command-hook): Remove cell highlight and mode-line update code.
10614         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
10615         Update for new name of text-property holding the cell name.
10616         (ses-rename-cell): Don't mess with mode-line-process.
10617         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
10618         cursor-sensor-functions property instead of point-entered.
10619         (erc-insert-timestamp-right, erc-format-timestamp):
10620         Use cursor-intangible rather than `intangible'.
10621         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
10622         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
10623         cursor-sensor-mode if needed.
10624         (erc-echo-timestamp): Adapt to calling convention of
10625         cursor-sensor-functions.
10626         (erc-insert-timestamp-right): Remove unused vars `current-window' and
10627         `indent'.
10628         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
10629         (gnus-update-group-mark-positions): Remove unused `topic' var.
10630         (gnus-group-insert-group-line): Remove unused var `header'.
10631         (gnus-group--setup-tool-bar-update): New function.
10632         (gnus-group-insert-group-line): Use it.
10633         (gnus-group-update-eval-form): Declare local
10634         dynamically-bound variables.
10635         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
10636         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
10637         (gnus-group-prepare-topics, gnus-topic-update-topic)
10638         (gnus-topic-change-level, gnus-topic-catchup-articles)
10639         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
10640         Use inhibit-read-only.
10641         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
10642         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
10643         * lisp/textmodes/reftex-index.el (reftex-display-index):
10644         Use cursor-intangible-mode if available.
10645         (reftex-index-post-command-hook): Check cursor-intangible.
10646         * lisp/textmodes/reftex-toc.el (reftex-toc):
10647         Use cursor-intangible-mode if available.
10648         (reftex-toc-recenter, reftex-toc-post-command-hook):
10649         Check cursor-intangible.
10650         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
10651         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
10652         (sgml-tags-invisible): Use with-silent-modifications and
10653         inhibit-read-only.  Enable cursor-sensor-mode.
10654         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
10655         calling convention of cursor-sensor-functions.
10656         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
10657         (table-point-entered-cell-hook, table-point-left-cell-hook):
10658         Don't autoload.
10659         (table-cell-entered-state): Remove var.
10660         (table--put-cell-point-entered/left-property)
10661         (table--remove-cell-properties):
10662         Use cursor-sensor-functions rather than point-entered/left.
10663         (table--point-entered/left-cell-function): Merge
10664         table--point-entered-cell-function and table--point-left-cell-function
10665         and adjust to calling convention of cursor-sensor-functions.
10667         Update ldef-boots.el
10669         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
10671         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
10673         Collapse successive char deletions in the undo log
10674         * src/cmds.c (remove_excessive_undo_boundaries): New function,
10675         extracted from Fself_insert_command.
10676         (Fdelete_char, Fself_insert_command): Use it.
10677         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
10678         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
10680         xterm and OSC 52: Add NEWS entry, and tweak the code
10681         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
10682         top-level.
10683         (terminal-init-xterm-activate-set-selection): Set a terminal property.
10684         (xterm--set-selection): Use it instead of checking the value of
10685         `terminal-initted'.  Don't use string-bytes.
10687 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
10689         xterm.el: Implement OSC-52 functionality for setting the X selection
10690         * lisp/term/xterm.el (xterm-max-cut-length): New var.
10691         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
10692         (terminal-init-xterm, xterm--version-handler): Use them.
10694 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
10696         Remove left over code from when we used an obsolete/loaddefs.el file
10697         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
10698         we used an obsolete/loaddefs.el file.
10700         * cedet/semantic/fw.el: Use declare.
10701         * cedet/semantic/fw.el (semantic-exit-on-input)
10702         (semanticdb-without-unloaded-file-searches): Use declare.
10703         (semantic-fw-add-edebug-spec): Remove.
10705         (completion-lisp-mode-hook): Use completion-separator-chars
10706         * lisp/completion.el (completion-lisp-mode-hook):
10707         Use completion-separator-chars rather than local key binding.
10709         * src/*.c: Set deactivate_mark buffer-locally
10710         (Bug#20260)
10711         * src/insdel.c (prepare_to_modify_buffer_1):
10712         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
10713         buffer-locally.
10715 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
10717         python.el: Keep symmetry on sexp navigation with parens
10718         (Bug#19954)
10719         * lisp/progmodes/python.el
10720         (python-nav--forward-sexp): Add argument skip-parens-p.
10721         (python-nav-forward-sexp, python-nav-backward-sexp)
10722         (python-nav-forward-sexp-safe)
10723         (python-nav-backward-sexp-safe): Use it.
10724         * test/automated/python-tests.el
10725         (python-nav-forward-sexp-1): Fix test.
10727 2015-04-12  João Távora  <joaotavora@gmail.com>
10729         Don't use `setq-local' in Gnus code
10730         This might break upstream builds with older Emacsen
10731         * lisp/gnus/message.el (message-mode): Use `set' and
10732         `make-local-variable' instead of `setq-local'.
10734 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
10736         Update Makefile.in's .PHONY dependencies
10737         * Makefile.in (change-history-commit, master-branch-is-current)
10738         (no-ChangeLog): Now phony.
10740         Remove configure's --with-mmdf option
10741         * configure.ac (MAIL_USE_MMDF): Remove.
10742         * etc/NEWS: Document this.
10743         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
10744         (Bug#20308)
10746         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
10747         That way, 'make install' won't think it's a man page.
10748         Reported by Ashish SHUKLA in:
10749         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
10751         Improve 'make change-history' prereq tests
10752         * Makefile.in (gen_origin): Fix to match what's in the master branch.
10753         (no-ChangeLog, master-branch-is-current): New rules.
10754         (change-history): Depend on them, to avoid similar future problems.
10755         Escape the local-variables string to pacify Emacs when editing
10756         Makefile.in.
10758 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
10760         * test/automated/package-test.el (with-package-test): Kill Packages buffer
10762         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
10763         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
10764         "Upgrade" last, and use capitalized instead of all-caps.
10766         * lisp/emacs-lisp/package.el: Completely silence async operations
10767         (package--make-autoloads-and-stuff): Silence autoloads.
10768         (package--save-selected-packages): New function, silences
10769         `customize-save-variable'.
10770         (package--user-selected-p, package-install-from-buffer)
10771         (package-delete, package-install): Use it.
10772         (package-install-from-archive)
10773         (package-menu--perform-transaction): Silence.
10774         (package-menu-execute): Feedback when operation starts.
10776         Use delay-mode-hooks when visiting the init-file
10777         * lisp/emacs-lisp/package.el (package--ensure-init-file):
10778         delay-mode-hooks
10779         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
10781         * lisp/files.el: Only message when saving if save-silently is nil
10782         (save-silently): New variable.
10783         (files--message): New function.
10784         (find-file-noselect, save-buffer, basic-save-buffer)
10785         (basic-save-buffer-2, save-some-buffers, not-modified)
10786         (append-to-file): Use them.
10788 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
10790         Support debug declarations in pcase macros
10791         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
10792         (pcase-UPAT): Use it.  Remove "`".
10793         (pcase--edebug-match-macro): New function.
10794         (pcase-defmacro): Support debug declarations.
10795         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
10796         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
10797         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
10799         pcase.el: Edebug support for `app' and vector patterns
10800         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
10801         (pcase-UPAT): Use it. Support `app' patterns.
10802         (pcase-QPAT): Support vector patterns.
10804         edebug.el: Disambiguate vector specifications
10805         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
10806         `(vector ...)' as a vector specification, not as a sublist.
10808         (gnus-summary-refer-thread): Don't clobber unread articles
10809         This fixes a bug where `A T' causes "random" articles to become marked
10810         as read.
10811         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
10812         gnus-newsgroup-unreads remains sorted.
10814         mouse-sel.el: Fix mouse-sel-get-selection-function
10815         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
10816         Use gui--last-selected-text-primary instead of no longer existing
10817         gui-last-selected-text.
10819         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
10821         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
10823 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
10825         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
10827         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
10829         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
10830         (byte-compile--interactive): New var.
10831         (byte-compile--message): New function.
10832         (byte-compile-log-1, byte-force-recompile)
10833         (byte-recompile-directory, byte-recompile-file)
10834         (byte-compile-file, compile-defun)
10835         (byte-compile-file-form-defmumble, byte-compile)
10836         (byte-compile-file-form-defalias, display-call-tree): Use it.
10838         * lisp/files.el: Don't message when nothing happened
10839         (save-some-buffers, basic-save-buffer): Before messaging to say
10840         "nothing was saved" check if (called-interactively-p 'any).
10842 2015-04-12  João Távora  <joaotavora@gmail.com>
10844         Summary: Improve sexp-based movement in message-mode
10845         Works by giving citations and smileys a different syntax.  This helps
10846         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
10847         sexp-based movement.
10848         * lisp/gnus/message.el (message--syntax-propertize): New function.
10849         (message-mode): Set syntax-related vars.
10850         (message-smileys): New variable.
10851         * test/automated/message-mode-tests.el: New file
10853 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
10855         Use bool for boolean in window.c
10856         * src/window.c: Omit unnecessary static function decls.
10857         (adjust_window_count, select_window, Fselect_window)
10858         (window_body_width, Fwindow_body_height, Fwindow_body_width)
10859         (set_window_hscroll, check_window_containing, Fwindow_at)
10860         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
10861         (unshow_buffer, replace_window, recombine_windows)
10862         (add_window_to_list, candidate_window_p, next_window)
10863         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
10864         (Fget_buffer_window, Fdelete_other_windows_internal)
10865         (replace_buffer_in_windows_safely, set_window_buffer)
10866         (Fset_window_buffer, Fforce_window_update)
10867         (temp_output_buffer_show, make_parent_window)
10868         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
10869         (resize_frame_windows, Fsplit_window_internal)
10870         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
10871         (Fresize_mini_window_internal, mark_window_cursors_off)
10872         (window_scroll, window_scroll_pixel_based)
10873         (window_scroll_line_based, scroll_command, Fscroll_other_window)
10874         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
10875         (Fmove_to_window_line, Fset_window_configuration)
10876         (delete_all_child_windows, apply_window_adjustment)
10877         (set_window_fringes, set_window_scroll_bars)
10878         (Fset_window_vscroll, foreach_window, foreach_window_1)
10879         (compare_window_configurations, Fcompare_window_configurations):
10880         Prefer 'bool', 'true', and 'false' for booleans.
10881         * src/window.h (WINDOW_MODE_LINE_LINES)
10882         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
10884 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
10886         Speed up byte-compilation and autoload generation by avoiding mode-hooks
10887         This prevents emacs-lisp-mode-hook from being run everytime an
10888         autoload file is generated, which can account for a fraction of
10889         package installation time depending on the hooks the user has
10890         configured.
10891         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
10892         * lisp/emacs-lisp/autoload.el (autoload-find-file)
10893         (autoload-find-generated-file): Use delay-mode-hooks.
10895         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
10896         (package-menu-refresh): Respect async and do new package checking.
10897         (list-packages): Use `package-menu-refresh' instead of repeating code.
10899         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
10900         (package--quick-help-keys): New variable.
10901         (package--prettify-quick-help-key): New function.
10902         (package-menu-quick-help): Use it.
10904         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
10905         (package--build-compatibility-table): require finder
10907         * test/automated/package-test.el: Fix new test
10909         * lisp/emacs-lisp/package.el: Silence async operations
10910         (package--silence): New variable.
10911         (package--message): New function.
10912         (package-import-keyring, package-refresh-contents)
10913         (package-compute-transaction, package-install, package-delete)
10914         (package-menu--perform-transaction, package-menu-execute): Use it.
10916         * test/automated/package-test.el: Test async functionality
10917         (package-test-update-archives-async): New test
10919 2015-04-11  Daiki Ueno  <ueno@gnu.org>
10921         Utilize `make-process' in epg.el
10922         * lisp/epg.el (epg-error-output): Abolish.
10923         (epg-context): New slot `error-buffer'.
10924         (epg--start): Use `make-process' and `make-pipe-process'.
10925         (epg--process-filter): Remove code separating stderr from stdout.
10926         (epg-wait-for-completion): Simplify `error-output' handling.
10927         (epg-reset): Dispose error buffer.
10929 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
10931         * .gitignore: Ignore doc temps and outputs.
10933         Port commit-msg to MSYS Bash+Gawk
10934         See Eli Zaretskii in:
10935         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
10936         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
10937         (cent_sign, print_at_sign, at_sign): Revert previous change.
10938         (print_at_sign): Prepend "BEGIN".
10939         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
10941         Port commit-msg to broken MS-Windows shell
10942         * build-aux/git-hooks/commit-msg (cent_sign):
10943         Just use UTF-8 here rather than ASCII + printf, as the latter fails
10944         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
10945         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
10947 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
10949         Support GnuTLS v3.4 and later on MS-Windows
10950         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
10951         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
10952         GnuTLS DLL to load according to value of libgnutls-version.
10953         (Bug#20294)
10955 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
10957         Minor quoting etc. fixes to misc manuals
10958         Fix some minor quoting and spacing issues.  Distinguish more
10959         clearly among grave accent and apostrophe (which are ASCII) and
10960         single quote (which is not).  Prefer the standard terms
10961         "apostrophe" and "grave accent" to alternative names that can be
10962         confusing.  Use apostrophes to single-quote ASCII text.
10963         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
10964         rather than approximating it in ASCII with grave accent.
10966 2015-04-11  Daiki Ueno  <ueno@gnu.org>
10968         Respect more keyword args in `make-process'
10969         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
10970         keywords as documented.
10972 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
10974         Extract ChangeLog entries when committing a directory
10975         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
10976         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
10977         Add a FIXME comment.
10978         (log-edit-changelog-entries): Extract from
10979         `log-edit-changelog-entries', handle FILE being a directory
10980         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
10982 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
10984         Fix problems found by --enable-gcc-warnings
10985         * src/process.c (create_process, Fmake_pipe_process)
10986         (Fmake_network_process): Omit unused locals.
10988         Fix commit-msg to handle scissors lines
10989         * build-aux/git-hooks/commit-msg:
10990         Ignore every line after a scissors line, such as a line generated
10991         by 'git commit -v'.  Problem reported by Johan Bockgård in:
10992         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
10994         port commit-msg to Gawk 3.0.4 (1999)
10995         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
10996         (print_at_sign, at_sign): New vars.  Use them to avoid problems
10997         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
10998         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
11000         Have commit-msg report commit failure
11001         * build-aux/git-hooks/commit-msg: If the commit is aborted,
11002         say so.  Simplify by doing this at the end.  Problem reported
11003         by Eli Zaretskii in:
11004         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
11006 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11008         Clean up LDAP Configuration section of EUDC manual
11009         * doc/misc/eudc.texi: Combine indices.
11010         (LDAP Configuration): Use command markup.  Add index entries.
11011         Change formatting.  Wrap long lines.  Add noindent markup.
11013 2015-04-10  Daiki Ueno  <ueno@gnu.org>
11015         Add facility to collect stderr of async subprocess
11016         * src/w32.h (register_aux_fd): New function declaration.
11017         * src/w32.c (register_aux_fd): New function.
11018         * src/process.h (struct Lisp_Process): New member stderrproc.
11019         * src/process.c (PIPECONN_P): New macro.
11020         (PIPECONN1_P): New macro.
11021         (Fdelete_process, Fprocess_status, Fset_process_buffer)
11022         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
11023         (Fcontinue_process): Handle pipe process specially.
11024         (create_process): Respect p->stderrproc.
11025         (Fmake_pipe_process): New function.
11026         (Fmake_process): Add new keyword argument :stderr.
11027         (wait_reading_process_output): Specially handle a pipe process when
11028         it gets an EOF.
11029         (syms_of_process): Register Qpipe and Smake_pipe_process.
11030         * doc/lispref/processes.texi (Asynchronous Processes): Document
11031         `make-pipe-process' and `:stderr' keyword of `make-process'.
11032         * lisp/subr.el (start-process): Suggest to use `make-process' handle
11033         standard error separately.
11034         * test/automated/process-tests.el (process-test-stderr-buffer)
11035         (process-test-stderr-filter): New tests.
11036         * etc/NEWS: Mention new process type `pipe' and its usage with the
11037         `:stderr' keyword of `make-process'.
11039 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
11041         Minor quoting etc. fixes to lispref manual
11042         * doc/lispref/tips.texi (Documentation Tips):
11043         Distinguish more clearly among grave accent, apostrophe,
11044         and single quote.
11045         * doc/lispref/README, doc/lispref/buffers.texi:
11046         * doc/lispref/commands.texi, doc/lispref/control.texi:
11047         * doc/lispref/customize.texi, doc/lispref/display.texi:
11048         * doc/lispref/elisp.texi, doc/lispref/files.texi:
11049         * doc/lispref/frames.texi, doc/lispref/hash.texi:
11050         * doc/lispref/help.texi, doc/lispref/internals.texi:
11051         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
11052         * doc/lispref/markers.texi, doc/lispref/modes.texi:
11053         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
11054         * doc/lispref/os.texi, doc/lispref/positions.texi:
11055         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
11056         * doc/lispref/text.texi, doc/lispref/tips.texi:
11057         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
11058         Use American-style double quoting in ordinary text,
11059         and quote 'like this' when single-quoting in ASCII text.
11060         Also, fix some minor spacing issues.
11062 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
11064         Handle symlinked test directory in tramp-tests.el
11065         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
11066         (tramp--test-check-files): Use `file-truename' for directories.
11068 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
11070         Fix 'recenter' when visual-line-mode is turned on
11071         * src/window.c (Frecenter): Use the same code for GUI and TTY
11072         frames alike; use vmotion only for "initial" frames.  This is
11073         because vmotion doesn't support visual-line-mode.  Rewrite the
11074         'iarg >= 0' case to use move_it_* functions instead of using
11075         vmotion, for the same reason.  Fix the clipping of the argument
11076         value to support scroll-margin in all cases and avoid unwarranted
11077         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
11078         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
11079         which see.
11081 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11083         * abbrev.el (define-abbrev-table): Refine last change.
11085         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
11086         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
11087         use of c[ad]+r", so as to keep the "cl-" prefix on all
11088         cl-lib definitions.
11090         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
11092         * lisp/cedet/semantic: Remove some dead code
11093         * lisp/cedet/semantic/util-modes.el
11094         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
11095         any more.
11096         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
11097         not supported any more.
11098         (semantic-safe): Use `declare'.
11099         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
11100         (semantic-tag-intangible-p): Remove unused functions.
11101         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
11102         Remove unused function.
11104         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
11105         (gnus-article-hide-text, gnus-article-unhide-text)
11106         (gnus-article-unhide-text-type): Remove special handling of
11107         `intangible' since that property is not used any more.
11108         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
11110 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
11112         Use the VC root in `log-edit-listfun'
11113         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
11114         `log-edit-listfun'.
11116 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
11118         Fix description of Unix time, mention new function.
11119         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
11120         Unix time.
11121         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
11122         (Basic Operations on Units): Mention `calc-convert-exact-units'.
11124 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
11126         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
11128 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
11130         (log-edit-insert-changelog-entries): Don't add newline after the last entry
11131         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
11132         Don't add newline after the last entry.
11134 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
11136         css-mode.el: Add "not" pseudo-class
11137         (Bug#20267)
11138         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
11139         list of CSS pseudo-classes.
11141 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11143         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
11145 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
11147         Stop messing with the EMACS env var
11148         * misc.texi (Interactive Shell): Remove description of EMACS env var.
11150 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11152         Adapt 'make change-history' to coding cookie
11153         * Makefile.in (change-history): Adjust to change of format of
11154         ChangeLog file, which now has a coding cookie before an indented
11155         copyright notice.
11157 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11159         Adapt 'make change-history' to coding cookie
11160         * Makefile.in (change-history): Adjust to change of format of
11161         ChangeLog file, which now has a coding cookie before an indented
11162         copyright notice.
11164         gitlog-to-changelog coding cookie and mv -i
11165         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
11166         for copyright notice prototype, so that we get a proper "coding:"
11167         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
11168         existing ChangeLog.  Problems reported by Eli Zaretskii in:
11169         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
11171         Merge from gnulib
11172         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
11173         2015-04-09 gitlog-to-changelog: port to MS-Windows
11175 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
11177         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
11178         (Bug#20212)
11180 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11182         Stop messing with the EMACS env var
11183         (Bug#20202)
11184         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
11185         * lisp/comint.el (comint-exec-1):
11186         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
11187         * lisp/progmodes/compile.el (compilation-start): Same and bring
11188         INSIDE_EMACS's format in line with other users.
11190         css-mode.el (css-smie-rules): Fix indentation after complex selectors
11191         (Bug#20282)
11192         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
11193         inner structure of selectors.
11195 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
11197         python.el: Indent docstring lines to base-indent
11198         (Bug#19595)
11199         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
11200         an initial patch.
11201         * lisp/progmodes/python.el
11202         (python-indent-context): Add :inside-docstring context.
11203         (python-indent--calculate-indentation): Handle :inside-docstring.
11204         (python-indent-region): Re-indent docstrings.
11205         * test/automated/python-tests.el (python-indent-region-5)
11206         (python-indent-inside-string-2): Fix tests.
11208         python.el: Increase native completion robustness
11209         (Bug#19755)
11210         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
11211         this and providing useful ideas.
11212         * lisp/progmodes/python.el
11213         (python-shell-completion-native-output-timeout): Increase value.
11214         (python-shell-completion-native-try-output-timeout): New var.
11215         (python-shell-completion-native-try): Use it.
11216         (python-shell-completion-native-setup): New readline setup avoids
11217         polluting current context, ensures output when no-completions are
11218         available and includes output end marker.
11219         (python-shell-completion-native-get-completions): Trigger with one
11220         tab only.  Call accept-process-output until output end is found or
11221         python-shell-completion-native-output-timeout is exceeded.
11223 2015-04-08  Samer Masterson  <samer@samertm.com>
11225         * lisp/eshell: Make backslash a no-op in front of normal chars
11226         (Bug#8531)
11227         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
11228         (eshell-parse-backslash): Return escaped character after backslash
11229         if it is special.  Otherwise, if the backslash is not in a quoted
11230         string, ignore the backslash and return the character after; if
11231         the backslash is in a quoted string, return the backslash and the
11232         character after.
11233         * test/automated/eshell.el (eshell-test/escape-nonspecial)
11234         (eshell-test/escape-nonspecial-unicode)
11235         (eshell-test/escape-nonspecial-quoted)
11236         (eshell-test/escape-special-quoted): Add tests for new
11237         `eshell-parse-backslash' behavior.
11239 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
11241         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
11242         after the file name.
11243         (Bug#20276)
11245 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11247         Minor quoting etc. fixes to Emacs manual
11248         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
11249         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
11250         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
11251         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
11252         * doc/emacs/indent.texi, doc/emacs/macos.texi:
11253         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
11254         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
11255         * doc/emacs/search.texi, doc/emacs/trouble.texi:
11256         * doc/emacs/vc1-xtra.texi:
11257         Use American-style double quoting in ordinary text,
11258         and quote 'like this' when single-quoting in ASCII text.
11259         Also, fix some minor spacing issues.
11261         Minor quoting etc. fixes to elisp intro
11262         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
11263         American-style double quoting in ordinary text.  In ASCII text,
11264         consistently quote 'like this' instead of `like this', unless
11265         Emacs requires the latter.
11267 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
11269         * CONTRIBUTE: Mention log-edit-insert-changelog.
11271         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
11273 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11275         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
11277 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
11279         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
11280         (Bug#20270)
11281         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
11282         Fix inheritance of initargs.
11284 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
11286         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
11287         while dowloading information.
11289         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
11290         (package--ensure-init-file): Check file contents before visiting.
11291         (package-initialize): Call it.
11292         (package-install-from-buffer, package-install): Don't call it.
11294 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
11296         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
11297         (Bug#17517)
11299 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
11301         Fix nasty scoping bug in tramp-cache.el
11302         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
11304 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
11306         Add notice to visual commands section
11307         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
11308         such as git call less with its -F option which omits pagination if
11309         the contents is less than one page long.  This interferes with
11310         eshell's visual (sub-)commands.
11312 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
11314         ffap: Support environment variable expansion in file names
11315         (Bug#19839)
11316         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
11317         environment variable expansion in file names.
11319 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
11321         Prefer double-quote to accent-grave in man pages
11323 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
11325         (Bug#20257)
11326         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
11328 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
11330         Update etc/PROBLEMS.
11331         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
11332         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
11333         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
11334         respectively); other minor updates and tweaks.  (Bug#20011)
11336 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
11338         Add doc strings for some Isearch state vars
11339         * lisp/misearch.el (multi-isearch-buffer-list)
11340         (multi-isearch-file-list): Add doc strings.
11341         (Bug#20232)
11343 2015-04-07  Alan Mackenzie  <acm@muc.de>
11345         Always mark "<" and ">" in #include directives with text properties.
11346         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
11347         matcher" with an invocation of c-make-font-lock-search-function to allow
11348         fontification when there's no trailing space on an "#include <..>" line.
11350 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
11352         Generate a ChangeLog file from commit logs
11353         * .gitignore: Add 'ChangeLog'.
11354         * build-aux/gitlog-to-changelog: New file, from Gnulib.
11355         * build-aux/gitlog-to-emacslog: New file.
11356         * CONTRIBUTE: Document the revised workflow.
11357         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
11358         instead of just special cases.
11359         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
11360         (ChangeLog, unchanged-history-files, change-history)
11361         (change-history-commit): New rules.
11362         * admin/admin.el (make-manuals-dist--1):
11363         Don't worry about doc/ChangeLog.
11364         * admin/authors.el: Add a FIXME.
11365         * admin/make-tarball.txt:
11366         * lisp/calendar/icalendar.el:
11367         * lisp/gnus/deuglify.el:
11368         * lisp/obsolete/gulp.el:
11369         * lwlib/README:
11370         Adjust to renamed ChangeLog history files.
11371         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
11372         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
11373         Remove obsolete discussion of merging ChangeLog files.
11374         New section "Maintaining ChangeLog history".
11375         * build-aux/git-hooks/pre-commit:
11376         Reject attempts to commit files named 'ChangeLog'.
11377         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
11378         * make-dist: Make and distribute top-level ChangeLog if there's a
11379         .git directory.  Distribute the new ChangeLog history files
11380         instead of scattered ChangeLog files.  Distribute the new files
11381         gitlog-to-changelog and gitlog-to-emacslog.
11382         (Bug#19113)
11384         Rename ChangeLogs for gitlog-to-changelog
11385         This patch was implemented via the following shell commands:
11386         find * -name ChangeLog |
11387         sed 's,.*,git mv & &.1,
11388         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
11389         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
11390         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
11391         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
11392         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
11393         sh
11394         git commit -am"[this commit message]"
11396 This file records repository revisions from
11397 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
11398 commit cc90c25a50e536669ac327f7e05ec9194d1650d0 (inclusive).
11399 See ChangeLog.1 for earlier changes.
11401 ;; Local Variables:
11402 ;; coding: utf-8
11403 ;; End:
11405   Copyright (C) 2015 Free Software Foundation, Inc.
11407   This file is part of GNU Emacs.
11409   GNU Emacs is free software: you can redistribute it and/or modify
11410   it under the terms of the GNU General Public License as published by
11411   the Free Software Foundation, either version 3 of the License, or
11412   (at your option) any later version.
11414   GNU Emacs is distributed in the hope that it will be useful,
11415   but WITHOUT ANY WARRANTY; without even the implied warranty of
11416   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11417   GNU General Public License for more details.
11419   You should have received a copy of the GNU General Public License
11420   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.