2015-08-30 Michael Albinus * lisp/net/tramp-sh.el (tramp-convert-file-attributes): Revert patch from 2015-08-24. Tramp shall be have like for local files. * test/automated/tramp-tests.el (tramp-test18-file-attributes): Adapt test. 2015-08-30 Paul Eggert Text quoting fixes in cedet, emulation, emacs-lisp * lisp/cedet/ede.el (ede-check-project-directory): * lisp/cedet/semantic/analyze/debug.el: (semantic-analyzer-debug-insert-include-summary): * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment): * lisp/cedet/semantic/decorate/include.el: (semantic-decoration-unknown-include-describe) (semantic-decoration-all-include-summary): * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump): * lisp/emulation/edt.el (edt-load-keys): * lisp/emulation/viper-cmd.el: (viper-display-current-destructive-command) (viper-query-replace, viper-brac-function): * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile): * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro): Respect text quoting style in doc string or diagnostic. * lisp/cedet/mode-local.el (describe-mode-local-overload): Use format-message to avoid overtranslating quotes. * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p): Escape an apostrophe in a docstring. * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string. 2015-08-29 Daniel Colascione Fix which-func for curly quotes: look for symbol, not message * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new imenu-unavailable error symbol instead of trying to match message exactly. * lisp/imenu.el (imenu-unavailable): New error (imenu-unavailable-error): New function. 2015-08-29 Eli Zaretskii Fix Python tests on MS-Windows * test/automated/python-tests.el (python-shell-calculate-command-1): Run python-shell-interpreter through shell-quote-argument before comparing with what python-shell-calculate-command returns. (python-shell-calculate-pythonpath-1) (python-shell-calculate-pythonpath-2) (python-shell-calculate-process-environment-2): Use path-separator instead of a literal ':'. (python-shell-calculate-exec-path-2) (python-shell-calculate-exec-path-3) (python-shell-calculate-exec-path-4) (python-shell-with-environment-1) (python-shell-with-environment-2): Run "/env/bin" through expand-file-name before comparing with exec-path. (Bug#21375) 2015-08-29 YAMAMOTO Mitsuharu Use Core Text types/functions/variables/enumerators directly * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits) (CharacterCollection): Remove typedefs. All uses replaced with definitions. (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE) (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE) (MAC_FONT_CASCADE_LIST_ATTRIBUTE) (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE) (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT) (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT) (MAC_FONT_SLANT_TRAIT): Remove macros. All uses replaced with definitions. (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD) (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS) (MAC_FONT_FORMAT_BITMAP) (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING) (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators. All uses replaced with definitions. (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace) (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping) (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add compatibility enumerators for older versions. (mac_font_descriptor_create_with_attributes) (mac_font_descriptor_create_matching_font_descriptors) (mac_font_descriptor_create_matching_font_descriptor) (mac_font_descriptor_copy_attribute) (mac_font_descriptor_supports_languages) (mac_font_create_with_name, mac_font_get_size) (mac_font_copy_family_name, mac_font_copy_character_set) (mac_font_get_glyphs_for_characters, mac_font_get_ascent) (mac_font_get_descent, mac_font_get_leading) (mac_font_get_underline_position) (mac_font_get_underline_thickness, mac_font_copy_graphics_font) (mac_font_copy_non_synthetic_table): Remove macros. All uses replaced with definitions. (mac_font_create_preferred_family_for_attributes) (mac_font_get_advance_width_for_glyph) (mac_font_get_bounding_rect_for_glyph) (mac_font_create_available_families, mac_font_shape): Remove macros for renamed functions. (mac_nsctfont_copy_font_descriptor): Remove unused macro. * src/macterm.m (mac_font_descriptor_supports_languages): Rename from mac_ctfont_descriptor_supports_languages. (mac_font_create_preferred_family_for_attributes): Rename from mac_ctfont_create_preferred_family_for_attributes. (mac_font_get_advance_width_for_glyph): Rename from mac_ctfont_get_advance_width_for_glyph. Use kCTFontOrientationDefault also for older versions. (mac_font_get_bounding_rect_for_glyph): Rename from mac_ctfont_get_bounding_rect_for_glyph. Use kCTFontOrientationDefault also for older versions. (mac_font_create_available_families): Rename from mac_ctfont_create_available_families. (mac_font_equal_in_postscript_name): Rename from mac_ctfont_equal_in_postscript_name. All uses changed. (mac_font_create_line_with_string_and_font): Rename from mac_ctfont_create_line_with_string_and_font. All uses changed. (mac_font_shape): Rename from mac_ctfont_shape. (mac_font_family_compare): Remove unused declaration. 2015-08-29 Paul Eggert Fix minor text quoting in calc, calendar, vc * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help): * lisp/calc/calc-help.el (calc-j-prefix-help): * lisp/calc/calc-misc.el (calc-help): * lisp/calc/calc.el (calc-algebraic-mode, calc-mode): Escape an apostrophe in a docstring. * lisp/calc/calc-forms.el (calc-hms-notation): * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode): Escape an apostrophe in a diagnostic. * lisp/calc/calc-misc.el (calc-help): * lisp/calendar/diary-lib.el (diary-include-files): * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark): * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace): * lisp/vc/ediff-diff.el (ediff-same-contents): * lisp/vc/ediff-merg.el (ediff-re-merge): * lisp/vc/ediff-ptch.el (ediff-patch-file-internal): * lisp/vc/ediff-util.el (ediff-test-save-region) (ediff-status-info): * lisp/vc/ediff.el (ediff-merge-revisions) (ediff-merge-revisions-with-ancestor): * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice): * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string): Respect text quoting style in doc string or diagnostic. * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop): * lisp/vc/add-log.el (change-log-goto-source): Avoid double-formatting. * lisp/vc/ediff-init.el (format-message): New backward-compatibility alias. 2015-08-28 Paul Eggert Fix minor text quoting problems in lisp top level * lisp/apropos.el (apropos-describe-plist): * lisp/cus-theme.el (customize-themes): * lisp/dired.el (dired-log): * lisp/help-fns.el (describe-variable): * lisp/hexl.el (hexl-insert-multibyte-char): * lisp/info.el (Info-finder-find-node): * lisp/json.el (json-read-string): * lisp/novice.el (disabled-command-function) (disabled-command-function): * lisp/startup.el (normal-mouse-startup-screen): * lisp/woman.el (WoMan-log, WoMan-warn): Respect text quoting style in doc string or diagnostic. * lisp/replace.el (replace-character-fold): * src/syntax.c (Fmodify_syntax_entry): Escape an apostrophe in a docstring. * lisp/tempo.el (tempo-define-template): Remove confusing apostrophe from docstring. * lisp/whitespace.el (whitespace-mark-x): Use directed quotes in docstring. 2015-08-28 Simen Heggestøyl Fix indentation rule in css-mode * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of brackets in presence of pseudo-selectors. (Bug#21328) 2015-08-28 Eli Zaretskii Fix a bug in recording a macro while flyspell-mode is active * lisp/subr.el (sit-for): Don't call read-event when recording a macro. (Bug#21329) 2015-08-27 Paul Eggert Tweak startup screen quoting * lisp/startup.el (normal-splash-screen): Use standard "M-" abbrevation rather than a confusingly-different one. (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’. 2015-08-27 Paul Eggert Add test case for ‘format’ bug and refactor * src/editfns.c (styled_format): Refactor internally, mostly by moving declarations closer to uses. This should not affect behavior. * test/automated/textprop-tests.el (textprop-tests-format): New test. Fix ‘format’ bug with property offsets * src/editfns.c (styled_format): Fix recently-introduced ‘format’ bug in calculating string property offsets (Bug#21351). Use straight quotes in lib-src diagnostics These auxiliary programs can’t use Emacs’s text-quoting-style, and it’s too much trouble to redo that mechanism by hand. So just use straight quotes for now. * lib-src/ebrowse.c (main): * lib-src/emacsclient.c (decode_options, main): * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help) (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help) (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help) (none_help, print_language_names, print_help, add_regex) (suggest_asking_for_help): * lib-src/make-docfile.c (write_c_args, scan_c_stream): Use straight quotes in diagnostics. ‘text-quoting-style’ fixes for admin * admin/admin.el (cusver-scan, cusver-check): * admin/authors.el (authors-canonical-file-name): * admin/bzrmerge.el (bzrmerge-missing): Respect ‘text-quoting-style’ in diagnostics. 2015-08-26 Paul Eggert Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS This removes the need for GCPRO1 etc. Suggested by Stefan Monnier in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html * doc/lispref/internals.texi (Writing Emacs Primitives): * etc/NEWS: Document the change. * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies) (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live) (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise): * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]: * src/eval.c (gcpro_level) [DEBUG_GCPRO]: * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK) (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS) (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES) (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6) (GCPRO7, UNGCPRO, RETURN_UNGCPRO): Remove. All uses removed. The code now assumes GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS. * src/bytecode.c (relocate_byte_stack): Rename from unmark_byte_stack, since it now only relocates. All callers changed. * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2 with GCPROs removed. * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1. * test/automated/finalizer-tests.el (finalizer-basic) (finalizer-circular-reference, finalizer-cross-reference) (finalizer-error): * test/automated/generator-tests.el (cps-test-iter-close-finalizer): Remove tests, as they depend on gc-precise. 2015-08-26 Nicolas Petton Improve seq-concatenate for new sequence types Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to ensure that concatenation happens on sequences only. This makes it possible to use `seq-concatenate' for new types of seqs. * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate): New function used in `seq-concatenate'. * test/automated/seq-tests.el (test-seq-into-sequence): New unit test for seq-into-sequence. 2015-08-26 Stephen Leake Add mode local overrides to xref-find-definitions * lisp/cedet/mode-local.el (xref-mode-local--override-present, xref-mode-local-overload): New; add mode local overrides to xref-find-definitions. * test/automated/elisp-mode-tests.el: Add mode local override tests. (xref-elisp-test-run): Handle indented defuns. (xref-elisp-generic-*): Improve doc strings. * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New. (elisp--xref-find-definitions): Use it. Add mode local overrides to describe-function * lisp/cedet/mode-local.el (describe-mode-local-overload): New; add mode local overrides to describe-function. * etc/NEWS: Document change. 2015-08-26 Paul Eggert Prefer straight quoting in some etc text files These files are plain text and might be used by non-Emacs apps. They’re mostly ASCII, so just use straight quotes. Fix quoting in ‘message_with_string’ * src/nsfont.m (nsfont_open): Use directed quotes in format; they should work now. * src/xdisp.c (message_to_stderr): New function, refactored from part of ‘message3_nolog’. (message3_nolog): Use it. (message_with_string): Use it. Don’t mishandle NUL bytes when noninteractive. Prefer AUTO_STRING when it’s most likely faster. Use ‘format-message’, not ‘format’, so that quotes are translated. 2015-08-26 Eli Zaretskii Mention false positives of file-accessible-directory on w32 * src/fileio.c (Ffile_accessible_directory_p): Doc fix. (Bug#21346) 2015-08-26 Paul Eggert Treat error strings as help * src/print.c (print_error_message): Translate quotes and command keys in errmsg so that users see, e.g., "Symbol’s value as variable is void: foo" when text-quoting-style is curved. 2015-08-26 Michael Albinus * lisp/net/tramp-cache.el (top): Use `message' but `format-message'. 2015-08-26 Paul Eggert Top-level elisp files respect ‘text-quoting-style’ In top-level elisp files, use format-message in diagnostic formats, so that they follow user preference as per ‘text-quoting-style’ rather than being hard-coded to quote `like this'. * lisp/allout.el (allout-get-configvar-values): * lisp/apropos.el (apropos-symbols-internal): * lisp/dired-aux.el (dired-do-shell-command, dired-create-files) (dired-do-create-files-regexp, dired-create-files-non-directory): * lisp/dired-x.el (dired-do-run-mail): * lisp/dired.el (dired-log, dired-dnd-handle-local-file): * lisp/disp-table.el (standard-display-european): * lisp/find-dired.el (find-dired): * lisp/forms.el (forms-mode): * lisp/ido.el (ido-buffer-internal): * lisp/info.el (Info-index-next): * lisp/outline.el (outline-invent-heading): * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send): * lisp/proced.el (proced-log): * lisp/ps-print.el (ps-print-preprint, ps-get-size): * lisp/recentf.el (recentf-open-files, recentf-save-list): * lisp/savehist.el (savehist-save): * lisp/server.el (server-ensure-safe-dir): * lisp/ses.el (ses-rename-cell): * lisp/simple.el (list-processes--refresh): * lisp/startup.el (command-line): * lisp/strokes.el (strokes-unset-last-stroke) (strokes-execute-stroke): Use format-message so that quotes are restyled. * lisp/cus-edit.el (custom-raised-buttons, customize-browse): Don’t quote ‘raised’. * lisp/descr-text.el (describe-char): * lisp/dirtrack.el (dirtrack-debug-message): * lisp/hexl.el (hexl-insert-multibyte-char): Apply substitute-command-keys to help string. * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes) (wdired-do-perm-changes): Let dired-log do the formatting. 2015-08-25 Paul Eggert Go back to grave quoting in Tramp * lisp/net/tramp-adb.el: * lisp/net/tramp-cache.el: * lisp/net/tramp-compat.el: * lisp/net/tramp-gvfs.el: * lisp/net/tramp-gw.el: * lisp/net/tramp-sh.el: * lisp/net/tramp-smb.el: * lisp/net/tramp.el: Stick with grave quoting in diagnostics strings. This is more portable to older Emacs, desirable for Tramp. * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’, for diagnostic that needs requoting. * lisp/net/tramp-compat.el (format-message): Fall back on simple ‘format’, since that’s good enough now. Go back to grave quoting in Gnus * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries): * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer) (gnus-agent-fetch-headers): * lisp/gnus/gnus-int.el (gnus-start-news-server): * lisp/gnus/gnus-registry.el: (gnus-registry--split-fancy-with-parent-internal) (gnus-registry-post-process-groups): * lisp/gnus/gnus-score.el (gnus-summary-increase-score): * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc): * lisp/gnus/gnus-topic.el (gnus-topic-rename): * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days): * lisp/gnus/spam.el (spam-check-blackholes): Stick with grave quoting in diagnostics strings. This is more portable to older Emacs, desirable for Gnus. Fix customization of text-quoting-style * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation): * lisp/wid-edit.el (widget-docstring): Get raw docstring here since it’s cooked later and should not be cooked twice. * lisp/cus-edit.el (custom-group-value-create): Cook the docstring before inserting it. * lisp/cus-start.el (text-quoting-style): Quote the customization docstrings according to the new rules. Give curved examples. format-message now curves ` and ' That way, the caller doesn’t have to use curved quotes to get diagnostics that match the text-quoting-style preferences. Suggested by Dmitry Gutov in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html This means we no longer need %qs, so remove that format. While we’re at it, fix an unlikely bug and lessen the pressure on the garbage collector by processing the string once rather than twice in the usual case. * doc/lispref/strings.texi (Formatting Strings): * etc/NEWS: Document this. * lisp/subr.el (format-message): Remove; now done in C. * src/callint.c (Fcall_interactively): * src/editfns.c (Fmessage, Fmessage_box): Use Fformat_message instead of Finternal__text_restyle followed by Fformat. * src/doc.c (LSQM, RSQM): Remove; all uses changed to use uLSQM and uRSQM. (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string when pure ASCII now suffices. Fix unlikely bug when parsing unibyte string containing non-ASCII bytes. Use inline code rather than memcpy, as it’s a tiny number of bytes. (Finternal__text_restyle): Remove; no longer used. (syms_of_doc): Don’t declare it. * src/editfns.c (Fformat): Rewrite in terms of new function ‘styled_format’. (Fformat_message): New function, moved here from subr.el. (styled_format): New function, with the old guts of Fformat, except it now optionally transliterates quotes, and it transliterates traditional grave accent and apostrophe quoting as well. Remove recently-added q flag; no longer needed or used. (syms_of_editfns): Define format-message. * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2): Remove; no longer need to be global symbols. * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat, so that callers can use `%s'. * src/image.c (image_size_error, xbm_load_image, xbm_load) (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load) (gif_load, imagemagick_load_image, imagemagick_load, svg_load) (svg_load_image, gs_load, x_kill_gs_process): * src/lread.c (load_warn_old_style_backquotes): * src/xfaces.c (load_pixmap): * src/xselect.c (x_clipboard_manager_error_1): Use `%s' instead of %qs in formats. 2015-08-25 Eli Zaretskii Minor fixes in doc/emacs/search.texi * doc/emacs/search.texi (Basic Isearch): Fix a typo. (Special Isearch): Use @w{} to generate several consecutive spaces with Texinfo 6. (Bug#21345) 2015-08-25 Michael Albinus * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode) (tramp-awk-coding-test): New defconsts. (tramp-remote-coding-commands): Use them. (tramp-find-inline-encoding): Check for Perl only if necessary. 2015-08-25 Xue Fuqiao * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some index entries for the special form `quote'. 2015-08-25 Paul Eggert Spelling fixes Gnus format-message typo fix * lisp/gnus/gnus-util.el (gnus-format-message): Fix typo when running in older Emacs. Prefer directed to neutral quotes Prefer directed to neutral quotes in docstings and diagnostics. In docstrings, escape apostrophes that would otherwise be translated to curved quotes using the newer, simpler rules. * admin/unidata/unidata-gen.el (unidata-gen-table): * lisp/align.el (align-region): * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet): * lisp/bookmark.el (bookmark-default-annotation-text): * lisp/calc/calc-aent.el (math-read-if, math-read-factor): * lisp/calc/calc-lang.el (math-read-giac-subscr) (math-read-math-subscr): * lisp/calc/calc-misc.el (report-calc-bug): * lisp/calc/calc-prog.el (calc-fix-token-name) (calc-read-parse-table-part): * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules): * lisp/cedet/semantic/complete.el (semantic-displayor-show-request): * lisp/dabbrev.el (dabbrev-expand): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/elint.el (elint-get-top-forms): * lisp/emacs-lisp/lisp-mnt.el (lm-verify): * lisp/emulation/viper-cmd.el (viper-toggle-search-style): * lisp/erc/erc-button.el (erc-nick-popup): * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login): * lisp/eshell/em-dirs.el (eshell/cd): * lisp/eshell/em-glob.el (eshell-glob-regexp): * lisp/eshell/em-pred.el (eshell-parse-modifiers): * lisp/eshell/esh-arg.el (eshell-parse-arguments): * lisp/eshell/esh-opt.el (eshell-show-usage): * lisp/files-x.el (modify-file-local-variable): * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer) (filesets-update-pre010505): * lisp/find-cmd.el (find-generic, find-to-string): * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries): * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer) (gnus-agent-fetch-headers): * lisp/gnus/gnus-int.el (gnus-start-news-server): * lisp/gnus/gnus-registry.el: (gnus-registry--split-fancy-with-parent-internal): * lisp/gnus/gnus-score.el (gnus-summary-increase-score): * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc): * lisp/gnus/gnus-topic.el (gnus-topic-rename): * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days): * lisp/gnus/nnmairix.el (nnmairix-widget-create-query): * lisp/gnus/spam.el (spam-check-blackholes): * lisp/mail/feedmail.el (feedmail-run-the-queue): * lisp/mpc.el (mpc-playlist-rename): * lisp/net/ange-ftp.el (ange-ftp-shell-command): * lisp/net/mairix.el (mairix-widget-create-query): * lisp/net/tramp-cache.el: * lisp/obsolete/otodo-mode.el (todo-more-important-p): * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region): * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region): * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region): * lisp/org/ob-core.el (org-babel-goto-named-src-block) (org-babel-goto-named-result): * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap): * lisp/org/ob-ref.el (org-babel-ref-resolve): * lisp/org/org-agenda.el (org-agenda-prepare): * lisp/org/org-bibtex.el (org-bibtex-fields): * lisp/org/org-clock.el (org-clock-notify-once-if-expired) (org-clock-resolve): * lisp/org/org-feed.el (org-feed-parse-atom-entry): * lisp/org/org-habit.el (org-habit-parse-todo): * lisp/org/org-mouse.el (org-mouse-popup-global-menu) (org-mouse-context-menu): * lisp/org/org-table.el (org-table-edit-formulas): * lisp/org/ox.el (org-export-async-start): * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question) (dun-rooms, dun-endgame-questions): * lisp/progmodes/ada-mode.el (ada-goto-matching-start): * lisp/progmodes/ada-xref.el (ada-find-executable): * lisp/progmodes/antlr-mode.el (antlr-options-alists): * lisp/progmodes/flymake.el (flymake-parse-err-lines) (flymake-start-syntax-check-process): * lisp/progmodes/python.el (python-define-auxiliary-skeleton): * lisp/progmodes/sql.el (sql-comint): * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point): * lisp/server.el (server-get-auth-key): * lisp/subr.el (version-to-list): * lisp/textmodes/reftex-ref.el (reftex-label): * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label): * lisp/vc/ediff-diff.el (ediff-same-contents): * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string): * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests): Use directed rather than neutral quotes in diagnostics. Treat ' like ’ even when not matching ` This is simpler and easier to explain, and should encourage better typography. Do this in Electric Quote mode and when translating quotes in docstrings. Inspired by a suggestion by Dmitry Gutov in: https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html * doc/emacs/text.texi (Quotation Marks): * doc/lispref/help.texi (Keys in Documentation): * etc/NEWS: Document this. * lisp/electric.el (electric-quote-post-self-insert-function): * src/doc.c (Fsubstitute_command_keys): Always treat ' like ’ even when not matched by an open quote. 2015-08-25 Glenn Morris * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example. * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo. 2015-08-24 YAMAMOTO Mitsuharu * src/macfont.m (macfont_create_family_with_symbol): Accept localized names. 2015-08-24 Paul Eggert Tramp diagnostics as per ‘text-quoting-style’ * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename) (tramp-adb-get-ls-command, tramp-adb-handle-make-directory) (tramp-adb-handle-delete-directory) (tramp-adb-handle-delete-file) (tramp-adb-handle-file-local-copy) (tramp-adb-handle-write-region, tramp-adb-handle-copy-file) (tramp-adb-send-command-and-check, tramp-adb-wait-for-output) (tramp-adb-maybe-open-connection): * lisp/net/tramp-cache.el: * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory) (tramp-compat-octal-to-decimal) (tramp-compat-coding-system-change-eol-conversion): * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler) (tramp-gvfs-do-copy-or-rename-file) (tramp-gvfs-handle-delete-directory) (tramp-gvfs-handle-delete-file) (tramp-gvfs-handle-expand-file-name) (tramp-gvfs-handle-file-local-copy) (tramp-gvfs-handle-file-notify-add-watch) (tramp-gvfs-handle-make-directory) (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name): * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel) (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection): * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename) (tramp-sh-handle-set-visited-file-modtime) (tramp-sh-handle-set-file-modes) (tramp-sh-handle-file-name-all-completions) (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file) (tramp-do-copy-or-rename-file-directly) (tramp-do-copy-or-rename-file-out-of-band) (tramp-sh-handle-make-directory) (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file) (tramp-sh-handle-insert-directory, tramp-process-sentinel) (tramp-sh-handle-start-file-process) (tramp-sh-handle-file-local-copy) (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered) (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script) (tramp-find-file-exists-command, tramp-open-shell) (tramp-find-shell) (tramp-open-connection-setup-interactive-shell) (tramp-find-inline-encoding, tramp-find-inline-compress) (tramp-compute-multi-hops, tramp-maybe-open-connection) (tramp-wait-for-output, tramp-send-command-and-check) (tramp-send-command-and-read, tramp-get-remote-path) (tramp-get-ls-command, tramp-get-ls-command-with-dired) (tramp-get-ls-command-with-quoting-style) (tramp-get-test-command, tramp-get-remote-ln) (tramp-get-remote-perl, tramp-get-remote-stat) (tramp-get-remote-readlink, tramp-get-remote-trash) (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir) (tramp-get-remote-inotifywait, tramp-get-remote-id) (tramp-get-remote-python): * lisp/net/tramp-smb.el (tramp-smb-errors) (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file) (tramp-smb-handle-delete-directory) (tramp-smb-handle-delete-file) (tramp-smb-handle-file-local-copy) (tramp-smb-handle-make-directory) (tramp-smb-handle-make-directory-internal) (tramp-smb-handle-make-symbolic-link) (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl) (tramp-smb-handle-set-file-modes) (tramp-smb-handle-write-region, tramp-smb-get-file-entries): * lisp/net/tramp.el (tramp-debug-message, tramp-error) (tramp-process-actions): Generate diagnostics according to ‘text-quoting-style’, by using curved quotes in format strings and ‘format-message’ when appropriate. * lisp/net/tramp-compat.el (format-message): Define a replacement, if it’s an older version of Emacs that doesn’t have it already. * etc/NEWS: Clarify text-quoting-style and electric-quote-mode. 2015-08-24 Xue Fuqiao Fix documentation for `save-excursion' * doc/lispref/positions.texi (Excursions): * doc/lispintro/emacs-lisp-intro.texi (save-excursion) (Template for save-excursion, Point and mark): `save-excursion' does not save&restore the mark any more. 2015-08-24 Michael Albinus * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker): New defconsts. (tramp-do-file-attributes-with-stat) (tramp-do-directory-files-and-attributes-with-stat): Use them. (tramp-convert-file-attributes): Remove double slashes in symlinks. * test/automated/tramp-tests.el (tramp-test18-file-attributes): Handle symlinks with "//" in the file name. Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el. 2015-08-24 Nicolas Petton Fix cl-subseq and cl-concatenate * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use seq functions. * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in seq-concatenate. 2015-08-24 Pip Cet (tiny change) Fix full-screen code when there is no window manager (Bug#21317) * src/xterm.h (x_wm_supports): Declare external. * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export. (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename. (x_check_fullscreen): Call `x_wm_set_size_hint', restore `fullscreen' frame parameter. * gtkutil.c (x_wm_set_size_hint): Set size hints when running without a window manager. 2015-08-24 Glenn Morris * lisp/version.el (emacs-version): No longer include build host * doc/lispref/intro.texi (Version Info): Update example. 2015-08-24 Paul Eggert * doc/lispref/elisp.texi: Fix typo in previous change. More-conservative ‘format’ quote restyling Instead of restyling curved quotes for every call to ‘format’, create a new function ‘format-message’ that does the restyling, and using the new function instead of ‘format’ only in contexts where this seems appropriate. Problem reported by Dmitry Gutov and Andreas Schwab in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html * doc/lispref/commands.texi (Using Interactive): * doc/lispref/control.texi (Signaling Errors, Signaling Errors): * doc/lispref/display.texi (Displaying Messages, Progress): * doc/lispref/elisp.texi: * doc/lispref/help.texi (Keys in Documentation): * doc/lispref/minibuf.texi (Minibuffer Misc): * doc/lispref/strings.texi (Formatting Strings): * etc/NEWS: Document the changes. * lisp/abbrev.el (expand-region-abbrevs): * lisp/apropos.el (apropos-library): * lisp/calc/calc-ext.el (calc-record-message) (calc-user-function-list): * lisp/calc/calc-help.el (calc-describe-key, calc-full-help): * lisp/calc/calc-lang.el (math-read-big-balance): * lisp/calc/calc-store.el (calc-edit-variable): * lisp/calc/calc-units.el (math-build-units-table-buffer): * lisp/calc/calc-yank.el (calc-edit-mode): * lisp/calendar/icalendar.el (icalendar-export-region) (icalendar--add-diary-entry): * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/semantic/complete.el (semantic-completion-message): * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed): * lisp/cedet/semantic/wisent/comp.el (wisent-log): * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/dframe.el (dframe-message): * lisp/dired-aux.el (dired-query): * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1): * lisp/emacs-lisp/bytecomp.el (byte-compile-log) (byte-compile-log-file, byte-compile-warn, byte-compile-form): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use) (cconv-analyze-form): * lisp/emacs-lisp/check-declare.el (check-declare-warn): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): * lisp/emacs-lisp/edebug.el (edebug-format): * lisp/emacs-lisp/eieio-core.el (eieio-oref): * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message) (eldoc-message): * lisp/emacs-lisp/elint.el (elint-file, elint-log): * lisp/emacs-lisp/find-func.el (find-function-library): * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): * lisp/emacs-lisp/nadvice.el (advice--make-docstring): * lisp/emacs-lisp/package.el (package-compute-transaction) (package-install-button-action, package-delete-button-action) (package-menu--list-to-prompt): * lisp/emacs-lisp/timer.el (timer-event-handler): * lisp/emacs-lisp/warnings.el (lwarn, warn): * lisp/emulation/viper-cmd.el: (viper-toggle-parse-sexp-ignore-comments) (viper-kill-buffer, viper-brac-function): * lisp/emulation/viper-macs.el (viper-record-kbd-macro): * lisp/facemenu.el (facemenu-add-new-face): * lisp/faces.el (face-documentation, read-face-name) (face-read-string, read-face-font, describe-face): * lisp/files.el (find-alternate-file, hack-local-variables) (hack-one-local-variable--obsolete, write-file) (basic-save-buffer, delete-directory): * lisp/format.el (format-write-file, format-find-file) (format-insert-file): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--obsolete) (help-fns--interactive-only, describe-function-1) (describe-variable): * lisp/help.el (describe-mode): * lisp/info-xref.el (info-xref-output): * lisp/info.el (Info-virtual-index-find-node) (Info-virtual-index, info-apropos): * lisp/international/kkc.el (kkc-error): * lisp/international/mule-cmds.el: (select-safe-coding-system-interactively) (select-safe-coding-system, describe-input-method): * lisp/international/mule-conf.el (code-offset): * lisp/international/mule-diag.el (describe-character-set) (list-input-methods-1): * lisp/international/quail.el (quail-error): * lisp/minibuffer.el (minibuffer-message): * lisp/mpc.el (mpc--debug): * lisp/msb.el (msb--choose-menu): * lisp/net/ange-ftp.el (ange-ftp-message): * lisp/net/gnutls.el (gnutls-message-maybe): * lisp/net/newst-backend.el (newsticker--sentinel-work): * lisp/net/newst-treeview.el (newsticker--treeview-load): * lisp/net/nsm.el (nsm-query-user): * lisp/net/rlogin.el (rlogin): * lisp/net/soap-client.el (soap-warning): * lisp/net/tramp.el (tramp-debug-message): * lisp/nxml/nxml-outln.el (nxml-report-outline-error): * lisp/nxml/nxml-parse.el (nxml-parse-error): * lisp/nxml/rng-cmpct.el (rng-c-error): * lisp/nxml/rng-match.el (rng-compile-error): * lisp/nxml/rng-uri.el (rng-uri-error): * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer): * lisp/org/org-ctags.el: (org-ctags-ask-rebuild-tags-file-then-find-tag): * lisp/proced.el (proced-log): * lisp/progmodes/ebnf2ps.el (ebnf-log): * lisp/progmodes/flymake.el (flymake-log): * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle): * lisp/replace.el (occur-1): * lisp/simple.el (execute-extended-command) (undo-outer-limit-truncate, define-alternatives): * lisp/startup.el (command-line): * lisp/subr.el (error, user-error, add-to-list): * lisp/tutorial.el (tutorial--describe-nonstandard-key) (tutorial--find-changed-keys): * src/callint.c (Fcall_interactively): * src/editfns.c (Fmessage, Fmessage_box): Restyle the quotes of format strings intended for use as a diagnostic, when restyling seems appropriate. * lisp/subr.el (format-message): New function. * src/doc.c (Finternal__text_restyle): New function. (syms_of_doc): Define it. 2015-08-23 Paul Eggert * etc/NEWS: The new ‘q’ flag is not an incompatible change. 2015-08-23 Fabián Ezequiel Gallina python.el: Fix python-shell-buffer-substring on indented code (Bug#21086) * lisp/progmodes/python.el (python-shell-buffer-substring): Respect current line indentation when calculating string. * test/automated/python-tests.el (python-shell-buffer-substring-10) (python-shell-buffer-substring-11) (python-shell-buffer-substring-12): New tests. 2015-08-23 Paul Eggert Fix minor glitches from ‘format’ reversion * doc/lispref/strings.texi (Formatting Strings): After reversion, ‘text-quoting-style’ is documented in ‘Keys in Documentation’, not below. * src/syntax.c (Finternal_describe_syntax_value): Prefer AUTO_STRING to build_string where either will do, as AUTO_STRING is a bit faster. 2015-08-23 Fabián Ezequiel Gallina python.el: Defer shell setup code until first interactive prompt * lisp/progmodes/python.el (python-shell-comint-watch-for-first-prompt-output-filter): New function. (inferior-python-mode): Use it. (python-shell-first-prompt-hook): New hook. (python-shell-send-setup-code) (python-shell-completion-native-turn-on-maybe-with-msg): Attach to this hook instead of inferior-python-hook. 2015-08-23 Nicolas Petton Remove the calls to `seq-into` from `seq-concatenate` Since most new types of seq would have to be defined as sequences (cons cells or CL structs, mostly), there is no need to convert the seqs to sequences (which can be a fairly expensive operation). * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are sequences. 2015-08-23 Fabián Ezequiel Gallina python.el: Fix completion for pdb interactions * lisp/progmodes/python.el (python-shell-completion-setup-code): Simplify. Toggle print_mode for native wrapped completer. (python-shell-completion-native-setup): Ensure process buffer. Add print_mode attribute to completer wrapper to toggle returning or printing candidates. (python-shell-completion-native-get-completions): Cleanup. (python-shell-completion-get-completions): Cleanup. (python-shell-completion-at-point): Perform prompt checks. Force fallback completion in pdb interactions. 2015-08-23 Nicolas Petton Make seq.el more extensible by using cl-defmethod * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to make it easier to extend seq.el with new "seq types". * test/automated/seq-tests.el (test-setf-seq-elt): New test. * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of subseq in cl-extra.el, and use it in seq.el. 2015-08-23 Fabián Ezequiel Gallina python.el: Fix prompt detection with user overridden interpreter * lisp/progmodes/python.el (python-shell-prompt-detect): Honor buffer local python-shell-interpreter and python-shell-interpreter-interactive-arg. 2015-08-23 Eli Zaretskii Support exec-directory with non-ASCII characters on Windows * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded in the system's ANSI codepage, when it is used for invoking cmdproxy. 2015-08-23 Andreas Schwab Revert "Extend ‘format’ to translate curved quotes" This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08. Revert "Prefer ‘format’ to ‘substitute-command-keys’" This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111. 2015-08-23 Xue Fuqiao * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers): Clarify "invisible window". 2015-08-23 Xue Fuqiao * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for magic-fallback-mode-alist. 2015-08-22 Fabián Ezequiel Gallina python.el: fallback completion, ffap and eldoc setup enhancements Setup codes are now sent continuously so that the current frame is always taken into account. This allows working within debuggers and always keeping a fresh version of setup codes that will return proper results. * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup. (python-shell-send-setup-code): Send code only when python-shell-setup-codes is non-nil. (python-shell-completion-string-code): Cleanup trailing newline. (python-shell-completion-get-completions): Always use python-shell-completion-setup-code. (python-ffap-setup-code): Work with any object, not only modules. (python-ffap-string-code): Cleanup trailing newline. (python-ffap-module-path): Always use python-ffap-setup-code. (python-eldoc-string-code): Cleanup trailing newline. (python-eldoc--get-doc-at-point): Always use python-eldoc-setup-code. Return non-nil only if docstring is found. python.el: Increase native completion robustness. * lisp/progmodes/python.el (python-shell-completion-native-setup): Make completer print real candidates and just return dummy ones to avoid input modification. (python-shell-completion-native-get-completions): Set comint-redirect-insert-matching-regexp to non-nil and make comint-redirect-finished-regexp match the last dummy candidate. Use python-shell-accept-process-output to wait for the full list of candidates. 2015-08-22 Eli Zaretskii Fix invocation of programs via cmdproxy.exe * src/w32proc.c (sys_spawnve): Use exec-directory, not invocation-directory, for finding cmdproxy.exe. When Emacs is run from the source tree, look for cmdproxy.exe in the same source tree. (Bug#21323) 2015-08-22 Simen Heggestøyl Handle comments inside unquoted URIs in css-mode * lisp/textmodes/css-mode.el (css--uri-re): New defconst. (css-syntax-propertize-function): New defconst. (css--font-lock-keywords): Handle parens around unquoted URIs. (css-mode): Set `syntax-propertize-function'. 2015-08-22 Eli Zaretskii Support invocation of Hunspell with multiple dictionaries * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file): Support lists of dictionaries of the form "DICT1,DICT2,...". (ispell-hunspell-add-multi-dic): New command. (Bug#20495) Minor formatting changes in ispell.el * lisp/textmodes/ispell.el (ispell-create-debug-buffer) (ispell-print-if-debug, ispell-aspell-find-dictionary) (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist) (ispell-hunspell-dictionary-alist) (ispell-hunspell-fill-dictionary-entry) (ispell-find-hunspell-dictionaries, ispell-send-replacement) (ispell-buffer-with-debug, ispell-complete-word) (ispell-current-dictionary, ispell-current-personal-dictionary) (ispell-accept-output, ispell-minor-mode) (ispell-personal-dictionary, ispell-dictionary-alist) (ispell-really-aspell, ispell-really-hunspell) (ispell-encoding8-command, ispell-aspell-supports-utf8) (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params): Fix whitespace, inconsistent capitalization, and arguments in doc strings. 2015-08-22 Martin Rudalics In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows. * lisp/window.el (adjust-window-trailing-edge): Fix bug where this function refused to resize a size-preserved window. 2015-08-22 Eli Zaretskii Improve documentation of 'window-use-time' * doc/lispref/windows.texi (Selecting Windows): Improve documentation and indexing of 'window-use-time'. 2015-08-21 Stefan Monnier * lisp/progmodes/cc-*.el: Fix up commenting style * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el: * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el: * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el: * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el: * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el: * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el: * lisp/progmodes/cc-align.el, lisp/net/soap-client.el: Fix up commenting style. 2015-08-21 Paul Eggert text-quoting-style in emacs-lisp diagnostics * lisp/emacs-lisp/advice.el (ad-read-advised-function) (ad-read-advice-class, ad-read-advice-name, ad-enable-advice) (ad-disable-advice, ad-remove-advice, ad-set-argument) (ad-set-arguments): * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand) (byte-compile-unfold-lambda, byte-optimize-form-code-walker) (byte-optimize-while, byte-optimize-apply): * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode) (byte-compile-log-file, byte-compile-format-warn) (byte-compile-nogroup-warn, byte-compile-arglist-warn) (byte-compile-cl-warn) (byte-compile-warn-about-unresolved-functions) (byte-compile-file, byte-compile-fix-header) (byte-compile--declare-var, byte-compile-file-form-defmumble) (byte-compile-form, byte-compile-normal-call) (byte-compile-variable-ref, byte-compile-variable-set) (byte-compile-subr-wrong-args, byte-compile-setq-default) (byte-compile-negation-optimizer) (byte-compile-condition-case--old) (byte-compile-condition-case--new, byte-compile-save-excursion) (byte-compile-defvar, byte-compile-autoload) (byte-compile-lambda-form) (byte-compile-make-variable-buffer-local, display-call-tree) (batch-byte-compile): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use) (cconv-analyze-form): * lisp/emacs-lisp/chart.el (chart-space-usage): * lisp/emacs-lisp/check-declare.el (check-declare-scan) (check-declare-warn, check-declare-file) (check-declare-directory): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine) (checkdoc-message-text-engine): * lisp/emacs-lisp/cl-extra.el (cl-parse-integer): * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody) (cl-symbol-macrolet): * lisp/emacs-lisp/cl.el (cl-unload-function, flet): * lisp/emacs-lisp/copyright.el (copyright) (copyright-update-directory): * lisp/emacs-lisp/edebug.el (edebug-read-list): * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read): * lisp/emacs-lisp/eieio-core.el (eieio--slot-override) (eieio-oref, eieio-oset-default): * lisp/emacs-lisp/eieio-speedbar.el: (eieio-speedbar-child-make-tag-lines) (eieio-speedbar-child-description): * lisp/emacs-lisp/eieio.el (defclass, change-class): * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms) (elint-init-form, elint-check-defalias-form) (elint-check-let-form): * lisp/emacs-lisp/ert.el (ert-get-test): * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol) (find-function-library): * lisp/emacs-lisp/generator.el (iter-yield): * lisp/emacs-lisp/gv.el (gv-define-simple-setter): * lisp/emacs-lisp/lisp-mnt.el (lm-verify): * lisp/emacs-lisp/package-x.el (package-upload-file): * lisp/emacs-lisp/package.el (package-version-join) (package-disabled-p, package-activate-1, package-activate) (package--download-one-archive) (package--download-and-read-archives) (package-compute-transaction, package-install-from-archive) (package-install, package-install-selected-packages) (package-delete, package-autoremove) (package-install-button-action, package-delete-button-action) (package-menu-hide-package, package-menu--list-to-prompt) (package-menu--perform-transaction) (package-menu--find-and-notify-upgrades): * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1): * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode): * lisp/emacs-lisp/ring.el (ring-next, ring-previous): * lisp/emacs-lisp/rx.el (rx-check, rx-anything): * lisp/emacs-lisp/smie.el (smie-config-save): * lisp/emacs-lisp/subr-x.el (internal--check-binding): * lisp/emacs-lisp/testcover.el (testcover-1value): Use curved quotes in diagnostic format strings. 2015-08-21 Fabián Ezequiel Gallina python.el: Ensure remote process-environment on non-interactive processes * lisp/progmodes/python.el (python-shell-tramp-refresh-process-environment): New function. (python-shell-with-environment): Use it. * test/automated/python-tests.el (python-shell-with-environment-2): Update. python.el: Enhancements to process environment setup. * lisp/progmodes/python.el (python-shell-process-environment) (python-shell-extra-pythonpaths, python-shell-exec-path) (python-shell-virtualenv-root): Update docstring. Remove :safe. (python-shell-setup-codes): Remove :safe. (python-shell-remote-exec-path): New defcustom. (python-shell--add-to-path-with-priority): New macro. (python-shell-calculate-pythonpath): Give priority to python-shell-extra-pythonpaths. Update docstring. (python-shell-calculate-process-environment): Give priority to python-shell-process-environment. Update docstring. (python-shell-calculate-exec-path): Give priority to python-shell-exec-path and calculated virtualenv bin directory. Update docstring. (python-shell-tramp-refresh-remote-path): New function. (python-shell-with-environment): Use it when working remotely and do not modify tramp-remote-path. Allow nesting. (python-shell-calculate-command): Remove useless python-shell-with-environment call. * test/automated/python-tests.el (python-shell-calculate-pythonpath-1) (python-shell-calculate-pythonpath-2) (python-shell-calculate-process-environment-6) (python-shell-calculate-process-environment-7) (python-shell-calculate-process-environment-8) (python-shell-calculate-exec-path-3) (python-shell-calculate-exec-path-4) (python-shell-calculate-exec-path-5) (python-shell-calculate-exec-path-6) (python-shell-with-environment-3): New tests. (python-shell-calculate-process-environment-2) (python-shell-calculate-process-environment-3) (python-shell-calculate-process-environment-4) (python-shell-calculate-process-environment-5) (python-shell-calculate-exec-path-1) (python-shell-calculate-exec-path-2) (python-shell-with-environment-1) (python-shell-with-environment-2): Update and simplify. 2015-08-21 Paul Eggert Avoid hard-coding "M-x command" in docstrings * lisp/calendar/todo-mode.el (todo-mode): * lisp/desktop.el (desktop-save-mode): * lisp/edmacro.el (edit-kbd-macro): * lisp/emacs-lisp/package.el (package-menu-execute): * lisp/emulation/viper-cmd.el (viper-ask-level): * lisp/emulation/viper-init.el (viper-expert-level): * lisp/filesets.el (filesets-add-buffer): * lisp/follow.el (follow-mode): * lisp/gnus/auth-source.el (auth-sources): * lisp/international/ogonek.el (ogonek-informacja) (ogonek-information): * lisp/net/tramp.el (tramp-process-actions): * lisp/org/org-gnus.el (org-gnus-no-new-news): * lisp/org/org.el (org-ellipsis): * lisp/progmodes/python.el (python-shell-get-process-or-error): * lisp/progmodes/vhdl-mode.el (vhdl-mode): * lisp/server.el (server-start): * lisp/type-break.el (type-break-noninteractive-query): * lisp/userlock.el (ask-user-about-supersession-help): * lisp/whitespace.el (whitespace-report-region): Prefer (substitute-command-keys "`\\[foo-command]'") to "`M-x foo-command'" in docstrings and the like. 2015-08-21 Tassilo Horn Use add-function for prettify-symbols-compose-predicate * lisp/textmodes/tex-mode.el (tex-common-initialization): Set prettify-symbols-compose-predicate in terms of add-function. * etc/NEWS: Mention prettify-symbols-compose-predicate and prettify-symbols-mode support in tex-mode. 2015-08-21 Stefan Monnier * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun (smie-indent-exps, smie-indent-keyword): Use it. * test/indent/css-mode.css: Test alignment with leading comment. 2015-08-21 Paul Eggert Respect text-quoting-style in (*Finder*) menus * lisp/info.el (info--prettify-description): Treat description as a docstring, so that it's requoted as per text-quoting-style. 2015-08-21 Martin Rudalics Document `window-use-time' in Elisp manual * doc/lispref/windows.texi (Selecting Windows): Document `window-use-time'. 2015-08-21 Eli Zaretskii A better fix for bug#21303 * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600. This is a cleaner fix for Bug#21260 than the previous change. 2015-08-21 Paul Eggert Respect text-quoting-style in calc In calc, tespect text-quoting-style preference in diagnostic formats and fix a few similar problems in docstrings. * lisp/calc/calc-aent.el (math-read-factor): * lisp/calc/calc-embed.el (calc-do-embedded): * lisp/calc/calc-ext.el (calc-user-function-list) * lisp/calc/calc-graph.el (calc-graph-show-dumb): * lisp/calc/calc-help.el (calc-describe-key) (calc-describe-thing): * lisp/calc/calc-lang.el (calc-c-language) (math-parse-fortran-vector-end, math-parse-tex-sum) (math-parse-eqn-matrix, math-parse-eqn-prime) (calc-yacas-language, calc-maxima-language, calc-giac-language) (math-read-big-rec, math-read-big-balance): * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes) (calc-auto-recompute): * lisp/calc/calc-prog.el (calc-user-define-invocation) (math-do-arg-check): * lisp/calc/calc-store.el (calc-edit-variable): * lisp/calc/calc-units.el (math-build-units-table-buffer): * lisp/calc/calc-vec.el (math-read-brackets): * lisp/calc/calc-yank.el (calc-edit-mode): * lisp/calc/calc.el (calc, calc-do, calc-user-invocation): Use curved quotes in diagnostic format strings. * lisp/calc/calc-help.el (calc-describe-thing): Format docstrings with substitute-command-keys. * lisp/calc/calc-help.el (calc-j-prefix-help): * lisp/calc/calc-misc.el (calc-help): * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help): Escape a docstring "`". 2015-08-21 Eli Zaretskii Fix documentation of 'menu-set-font' and 'set-frame-font' * lisp/menu-bar.el (menu-set-font): Doc fix. (Bug#21303) * doc/lispref/frames.texi (Frame Font): Document that set-frame-font with the last argument 't' will also make the font the default for the future GUI frames. Document '--create-frame' option to emacsclient * doc/emacs/misc.texi (emacsclient Options): Document the '--create-frame' option. (Bug#21308) 2015-08-21 Stefan Monnier * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize. 2015-08-21 Eli Zaretskii Document 'get-mru-window' in the ELisp manual * doc/lispref/windows.texi (Cyclic Window Ordering): Document 'get-mru-window'. (Bug#21306) Clarify documentation of 'get-buffer-window-list' * doc/lispref/windows.texi (Buffers and Windows): Mention that the current window, if relevant, will be the first in the list returned by 'get-buffer-window-list'. * lisp/window.el (get-buffer-window-list): Doc fix. (Bug#21305) 2015-08-21 Vasilij Schneidermann In `ielm' use `pop-to-buffer-same-window' (Bug#20848) * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of `switch-to-buffer'. 2015-08-21 Kaushal Modi (tiny change) In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047) * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use `display-buffer' instead of `switch-to-buffer'. 2015-08-21 Paul Eggert Follow user preference in calendar diagnostics Respect text-quoting-style preference in diagnostic formats by using curved quotes (which are translated as per text-quoting-style) instead of grave accent and apostrophe (which are not). * lisp/calendar/appt.el (appt-display-message): * lisp/calendar/diary-lib.el (diary-check-diary-file) (diary-mail-entries, diary-from-outlook): * lisp/calendar/icalendar.el (icalendar-export-region) (icalendar--convert-float-to-ical) (icalendar--convert-date-to-ical) (icalendar--convert-ical-to-diary) (icalendar--convert-recurring-to-diary) (icalendar--add-diary-entry): * lisp/calendar/time-date.el (format-seconds): * lisp/calendar/timeclock.el (timeclock-mode-line-display) (timeclock-make-hours-explicit): * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category) (todo-item-mark, todo-check-format) (todo-insert-item--next-param, todo-edit-item--next-key) (todo-mode): Use curved quotes in diagnostic format strings. * lisp/calendar/icalendar.el (icalendar-import-format-sample): * test/automated/icalendar-tests.el (icalendar--import-format-sample): Just use straight quoting for simple test case. 2015-08-21 Michael Albinus * src/gfilenotify.c (Fgfile_add_watch): Handle errors from g_file_monitor. 2015-08-21 Martin Rudalics In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame" * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less frame" instead of "non-minibuffer frame". Fix frame geometry related text * doc/lispref/frames.texi (Frame Layout): Rename `x-frame-geometry' to `frame-geometry'. * doc/lispref/frames.texi (Mouse Position): * doc/lispref/windows.texi (Coordinates and Windows): Use `set-mouse-absolute-pixel-position' instead of `x-set-mouse-absolute-pixel-position'. Sanitize frame geometry related functions * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry. (Fx_frame_edges): Rename to Fns_frame_edges. * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry. (Fx_frame_edges): Rename to Fw32_frame_edges. (Fx_mouse_absolute_pixel_position): Rename to Fw32_mouse_absolute_pixel_position. (Fx_set_mouse_absolute_pixel_position): Rename to Fw32_set_mouse_absolute_pixel_position. * lisp/frame.el (x-frame-geometry, w32-frame-geometry) (ns-frame-geometry, x-frame-edges, w32-frame-edges) (ns-frame-edges, w32-mouse-absolute-pixel-position) (x-mouse-absolute-pixel-position) (w32-set-mouse-absolute-pixel-position) (x-set-mouse-absolute-pixel-position): Declare. (frame-geometry, mouse-absolute-pixel-position) (set-mouse-absolute-pixel-position): New functions. (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges. 2015-08-21 Eli Zaretskii Fix MinGW64 build broken by latest w32uniscribe.c changes * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for MinGW64. Reported by Andy Moreton . (Bug#21260) 2015-08-21 Tassilo Horn Add TeX defaults for prettify-symbol-mode * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename from tex-prettify-symbols-alist. (tex--prettify-symbols-compose-p): New function. (tex-common-initialization): Use them as prettify-symbols-alist and prettify-symbols-compose-predicate. Generalize prettify-symbols to arbitrary modes * lisp/progmodes/prog-mode.el (prettify-symbols-default-compose-p): New function. (prettify-symbols-compose-predicate): New variable. (prettify-symbols--compose-symbol): Use it. 2015-08-20 Paul Eggert Don't quote symbols 'like-this' in docstrings etc. * admin/unidata/uvs.el (uvs-insert-fields-as-bytes): * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region): * lisp/allout.el (allout-add-resumptions, allout-mode): * lisp/calculator.el (calculator-operators): * lisp/cedet/data-debug.el (dd-propertize): * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program): * lisp/cedet/semantic/analyze/debug.el: (semantic-analyzer-debug-global-miss-text): * lisp/cedet/semantic/lex-spp.el: (semantic-lex-spp-replace-or-symbol-or-keyword): * lisp/cedet/semantic/symref.el: (semantic-symref-cleanup-recent-buffers-fcn): * lisp/cedet/semantic/tag.el (semantic-tag-class): * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom): * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close): * lisp/gnus/pop3.el (pop3-authentication-scheme): * lisp/help-fns.el (describe-function-orig-buffer): * lisp/imenu.el (imenu--history-list): * lisp/mail/feedmail.el (feedmail-confirm-outgoing) (feedmail-display-full-frame, feedmail-deduce-bcc-where) (feedmail-queue-default-file-slug) (feedmail-queue-buffer-file-name): * lisp/net/mairix.el (mairix-searches-mode-map): * lisp/net/newst-backend.el (newsticker-retrieval-method) (newsticker-auto-mark-filter-list): * lisp/obsolete/vi.el (vi-mode): * lisp/progmodes/cc-engine.el (c-literal-type): * lisp/progmodes/cpp.el (cpp-face): * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper): * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref): * lisp/progmodes/pascal.el (pascal-auto-lineup): * lisp/progmodes/prog-mode.el (prog-widen): * lisp/progmodes/verilog-mode.el (verilog-regexp-words) (verilog-auto-lineup, verilog-auto-reset-widths) (verilog-auto-arg-format, verilog-auto-inst-template-numbers): * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition) (flyspell-maybe-correct-doubling): * lisp/textmodes/table.el (table-justify, table-justify-cell) (table-justify-row, table-justify-column, table-insert-sequence) (table--justify-cell-contents): * lisp/url/url-auth.el (url-get-authentication): * lisp/window.el (display-buffer-record-window): * lisp/xml.el (xml-parse-file, xml-parse-region): * src/gfilenotify.c (Fgfile_add_watch): Don't quote symbols with apostrophes in doc strings. Use asymmetric quotes instead. * lisp/cedet/semantic/complete.el (semantic-displayor-show-request): Likewise for symbol in diagnostic. * lisp/image.el (image-extension-data): * lisp/register.el (frame-configuration-to-register): * src/buffer.c (syms_of_buffer): Remove bogus apostrophes after symbols. * lisp/thumbs.el (thumbs-conversion-program): Quote Lisp string values using double-quotes, not apostrophes. 2015-08-20 Martin Rudalics Describe frame geometry and related functions in Elisp manual * doc/lispref/display.texi (Size of Displayed Text, Line Height) (Showing Images): Update references. * doc/lispref/elisp.texi (Top): Update node listing. * doc/lispref/frames.texi (Frame Geometry): New node. Move `Size and Position' section here. (Size Parameters): Update references. (Mouse Position): Update references and nomenclature. Describe new functions `x-mouse-absolute-pixel-position' and `x-set-mouse-absolute-pixel-position'. * doc/lispref/windows.texi (Window Sizes): Update references. (Resizing Windows): Update references. Move description of `fit-frame-to-buffer' here. (Coordinates and Windows): Update nomenclature and references. Describe new arguments of `window-edges'. Comment out descriptions of `window-left-column', `window-top-line', `window-pixel-left' and `window-pixel-top'. Describe `window-absolute-pixel-position'. 2015-08-20 Alan Mackenzie Handling of `c-parse-state'. Fix low level bug. progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'. 2015-08-20 Andreas Politz In `widget-color--choose-action' quit *Color* window instead of deleting it * lisp/wid-edit.el (widget-color--choose-action): Quit *Color* window instead of deleting it. 2015-08-20 Martin Rudalics In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to determine whether frame has a titlebar. Suggested by Eli Zaretskii 2015-08-20 Tassilo Horn Add a prettify-symbols-alist for (La)TeX * tex-mode.el (tex-prettify-symbols-alist): New variable holding an alist suitable as prettify-symbols-alist in (La)TeX modes. 2015-08-19 Alan Mackenzie Make electric-pair-mode, delete-selection-mode and CC Mode cooperate. Fixes debbugs#21275. In Emacs >= 25, let electric-pair-mode take precedence over delete-selection-mode. delsel.el (delete-selection-uses-region-p): New function, previously a lambda expression in a property value for `self-insert-command'. (top-level) Set the `delete-selection' property of `self-insert-command' to `delete-selection-uses-region-p'. progmodes/cc-cmds.el (top-level): Give the `delete-selection' property for c-electric-\(brace\|paren\) the value `delete-selection-uses-region-p' when the latter function exists. 2015-08-19 Paul Eggert Fix key binding quoting in tutorial *Help* * lisp/tutorial.el (tutorial--describe-nonstandard-key): When generating help for custom key bindings, use the user-preferred quoting style rather than hardcoding the grave style. 2015-08-19 Eli Zaretskii Improve and future-proof OTF fonts support in w32uniscribe.c * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary about the expected results and why the new Uniscribe APIs are not used in this function. (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc) (ScriptGetFontFeatureTags_Proc): New function typedefs. (uniscribe_new_apis): New static variable. (uniscribe_check_features): New function, implements OTF features verification while correctly accounting for features in the list after the nil member, if any. (uniscribe_check_otf_1): New function, retrieves the features supported by the font for the requested script and language using the Uniscribe APIs available from Windows Vista onwards. (uniscribe_check_otf): If the new Uniscribe APIs are available, use them in preference to reading the font data directly. Call uniscribe_check_features to verify that the requested features are supported, replacing the original incomplete code. (syms_of_w32uniscribe): Initialize function pointers for the new Uniscribe APIs. (Bug#21260) (otf_features): Scan the script, langsys, and feature arrays back to front, so that the result we return has them in alphabetical order, like ftfont.c does. * src/w32fns.c (syms_of_w32fns) : New variable for debugging w32uniscribe.c code. 2015-08-19 Artur Malabarba * isearch.el (isearch-search-fun-default): Revert a5bdb87 Remove usage of `isearch-lax-whitespace' inside the `iearch-word' clause of `isearch-search-fun-default'. That lax variable does not refer to lax-whitespacing. Related to (bug#21777). This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c. * character-fold.el (character-fold-search): Set to nil Default to nil for now, until someone implements proper lax-whitespacing with char-fold searching. 2015-08-19 Martin Rudalics Fix doc-string of `help-mode-finish'. * lisp/help-mode.el (help-mode-finish): Fix doc-string. In nsimage.m include coding.h (Bug#21292) * src/nsimage.m (top-level): Include coding.h (Bug#21292). Move window edge functions to Elisp. * src/window.c (Fwindow_edges, Fwindow_pixel_edges) (Fwindow_absolute_pixel_edges, Fwindow_inside_edges) (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges): Move to window.el. (calc_absolute_offset): Remove. * lisp/frame.el (frame-edges): New function. * lisp/window.el (window-edges, window-pixel-edges) (window-absolute-pixel-edges): Move here from window.c. (window-body-edges, window-body-pixel-edges) (window-absolute-body-pixel-edges): Move here from window.c and rename "inside" to "body". Keep old names as aliases. (window-absolute-pixel-position): New function. 2015-08-19 Katsumi Yamaoka [Gnus]: Use overlay functions directly * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part) (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header) (gnus-article-highlight-signature, gnus-article-extend-url-button) (gnus-article-add-button, gnus-insert-prev-page-button) (gnus-insert-next-page-button, gnus-insert-mime-security-button): * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays) (gnus-cite-add-face): * lisp/gnus/gnus-html.el (gnus-html-wash-tags): * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys) (gnus-tree-recenter, gnus-highlight-selected-tree): * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads) (gnus-summary-show-thread, gnus-summary-hide-thread) (gnus-highlight-selected-summary): * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines): * lisp/gnus/message.el (message-fix-before-sending) (message-toggle-image-thumbnails): * lisp/gnus/mm-decode.el (mm-convert-shr-links): * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts): Use overlay functions directly instead of using gnus-overlay-*, message-overlay-*, and sieve-overlay-*. * lisp/gnus/gnus-sum.el (gnus-remove-overlays): * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay) (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put) (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start) (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in): * lisp/gnus/message.el (message-delete-overlay, message-make-overlay) (message-overlay-get, message-overlay-put, message-overlays-in): * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put) (sieve-overlays-at): Remove. 2015-08-19 Martin Rudalics In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version. * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64 builds can use the declaration from the system headers. (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new definition of TITLEBAR_INFO. Suggested by Eli Zaretskii 2015-08-19 Glenn Morris * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P". 2015-08-19 Paul Eggert Use new q ‘format’ flag when fixing quotes in C * src/image.c (image_size_error): New function. All uses of image_error with "Invalid image size ..." changed to use it. * src/image.c (image_size_error, xbm_load_image, xbm_load) (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body) (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image) (imagemagick_load, svg_load, svg_load_image, gs_load) (x_kill_gs_process): * src/lread.c (load_warn_old_style_backquotes): * src/xfaces.c (load_pixmap): * src/xselect.c (x_clipboard_manager_error_1): Use %qs, not uLSQM and uRSQM. * src/syntax.c (Finternal_describe_syntax_value): Prefer Fsubstitute_command_keys to Fformat, as this lets us use AUTO_STRING. * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument, as it's now guaranteed to be ASCII. * src/xselect.c (x_clipboard_manager_error_2): Avoid grave accent in low-level stderr diagnostic. 2015-08-19 Paul Eggert New q flag for ‘format’ * doc/lispref/processes.texi (Sentinels): Don't hardwire grave quoting style in example. * doc/lispref/strings.texi (Formatting Strings): * etc/NEWS: Document new q flag. * src/editfns.c (Fformat): Implement it. 2015-08-18 Daiki Ueno pinentry.el: Add debugging support * lisp/net/pinentry.el (pinentry-debug): New variable. (pinentry-debug-buffer): New variable. (pinentry--process-filter): Send input to the debug buffer, if `pinentry-debug' is set. pinentry.el: Improve multiline prompt * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface. (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM command. 2015-08-18 Paul Eggert Fix multibyte confusion in diagnostics * src/print.c (print_error_message): Don't assume that the caller's name is unibyte. * src/xdisp.c (vadd_to_log): Don't assume that the formatted diagnostic is unibyte. Fix file name encodings in diagnostics Also, close some minor races when opening image files, by opening them once instead of multiple times. * src/gtkutil.c (xg_get_image_for_pixmap): * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load) (svg_load): * src/nsimage.m (allocInitFromFile:): * src/xfns.c (xg_set_icon): Encode file name, since x_find_image_file no longer does that. * src/image.c (x_find_image_fd): New function. (x_find_image_file): Use it. Do not encode resulting file name, since callers sometimes need it decoded. (slurp_file): File arg is now a fd, not a file name. All callers changed. This saves us having to open the file twice. (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body) (svg_load): Use x_find_image_fd and fdopen to save a file-open. Report file name that failed. * src/lread.c (openp): If PREDICATE is t, open the file in binary mode. 2015-08-18 Dmitry Gutov Allow blink-matching-paren to jump off screen * doc/emacs/programs.texi (Matching): Mention the `blink-matching-paren' value `jump-offscreen'. * lisp/simple.el (blink-matching-paren): New possible value. (blink-matching-paren-on-screen): Clarify the docstring. (blink-matching-open): Handle `jump-offscreen' (bug#21286). Refine the previous change * lisp/simple.el (blink-matching-open): Use minibuffer-message outside of save-excursion (bug#21286). 2015-08-18 Martin Rudalics Rewrite and add frame geometry related functions. * src/frame.c (Fframe_position): New function. (Fset_frame_position): Rename parameters and rewrite doc-string. (syms_of_frame): Remove Qframe_position, Qframe_outer_size, Qtitle_height and Qframe_inner_size. Add Qouter_edges, Qouter_position, Qouter_size, Qnative_edges, Qinner_edges, Qtitle_bar_size. * src/nsfns.m (frame_geometry): New function. (Fx_frame_geometry): Call frame_geometry. (Fx_frame_edges): New function. * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO) (GetTitleBarInfo_Proc): Define these so we can use the GetTitleBarInfo API. (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove. (Fx_frame_geometry): Rewrite. (Fx_frame_edges, Fx_mouse_absolute_pixel_position) (Fx_set_mouse_absolute_pixel_position): New functions. * src/xfns.c (frame_geometry): New function. (Fx_frame_geometry): Call frame_geometry. (Fx_frame_edges, Fx_mouse_absolute_pixel_position) (Fx_set_mouse_absolute_pixel_position): New functions. 2015-08-18 Michael Albinus Improve Tramp's compatibility * lisp/net/tramp.el (tramp-get-method-parameter): * lisp/net/tramp-adb.el (tramp-adb-parse-device-names) (tramp-adb-get-device): * lisp/net/trampver.el (tramp-repository-get-version): Use `tramp-compat-replace-regexp-in-string'. 2015-08-18 Pierre Téchoueyres (tiny change) * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable): Encode/decode string. 2015-08-18 Paul Eggert Clarify what happens to match data on failure Problem reported by Ernesto Alfonso (Bug#21279). * doc/lispref/searching.texi (Regexp Search, Simple Match Data): Document more carefully what happens to match data after a failed search. * src/search.c (Fmatch_beginning, Fmatch_end): Document that the return value is undefined if the last search failed. (Fmatch_data): Simplify doc string line 1. 2015-08-18 Daiki Ueno Revert "pinentry.el: Support external passphrase cache" This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337. pinentry.el shouldn't directly interact with the secrets service, but ask the caller to cache the passphrase. 2015-08-17 Xue Fuqiao * doc/emacs/sending.texi (Mail Misc): Fix two index entries for Message mode hooks. 2015-08-17 Daiki Ueno epg.el: Make gpgconf output parsing future proof * lisp/epg.el (epg--start): Count the number of fields in "gpgconf --list-options" output. pinentry.el: Support external passphrase cache * lisp/net/pinentry.el (pinentry-use-secrets): New user option. (pinentry--allow-external-password-cache): New local variable. (pinentry--key-info): New local variable. (secrets-enabled, secrets-search-items, secrets-get-secret): Declare. (pinentry--send-passphrase): New function, split from `pinentry--process-filter'. (pinentry--process-filter): Use secrets.el to retrieve passphrase from login keyring. pinentry.el: Popup window for multiline prompt * lisp/net/pinentry.el (pinentry): New custom group. (pinentry-popup-prompt-window): New user option. (pinentry-prompt-window-height): New user option. (pinentry--prompt-buffer): New variable. (pinentry-prompt-mode-map): New variable. (pinentry-prompt-mode): New function. (pinentry--prompt): New function. (pinentry--process-filter): Use `pinentry--prompt' instead of `read-passwd' and `y-or-n-p'. 2015-08-17 Katsumi Yamaoka message.el: Silent the byte compiler * lisp/gnus/message.el (message-overlay-put, message-make-overlay) (message-kill-all-overlays, message-overlays-in, message-overlay-get) (message-delete-overlay, message-window-inside-pixel-edges): Declare before using. * lisp/gnus/message.el (message-overlay-get, message-overlays-in) (message-window-inside-pixel-edges): XEmacs compatible functions. 2015-08-17 Lars Magne Ingebrigtsen * message.el (message-toggle-image-thumbnails): New command. 2015-08-17 Noah Friedman (blink-matching-open): Restore point before calling minibuffer-message. 2015-08-17 Ronnie Schnell Update version number in header (now matches help) 2015-08-17 Paul Eggert Curved quotes in --batch diagnostics in non-UTF-8 When run with --batch, check that curved quotes are compatible with the system locale before outputting them in diagnostics. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html * lisp/startup.el (command-line): Set internal--text-quoting-flag after the standard display table is initialized. * src/doc.c (default_to_grave_quoting_style): New function. (text_quoting_style): Use it. (text_quoting_flag): New static var, visible to Lisp as internal--text-quoting-flag. * src/emacs.c: Include if available. (using_utf8): New function. (main): Use it to initialize text_quoting_flag. * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]: Don't define, as it's not needed and it clashes with wchar.h. 2015-08-17 Glenn Morris * doc/misc/tramp.texi (Configuration): Reword to avoid warning from makeinfo about spurious "Note:" cross-reference, and for grammar. 2015-08-17 Ilya Zakharevich Minor change in variable initialization on MS-Windows * src/w32fns.c : Initialize to -1. (deliver_wm_chars): If after_deadkey is zero, don't set after_dead non-zero. Fix a bug with LWindow key remapping on MS-Windows * src/w32fns.c (deliver_wm_chars): Fix a typo. (Bug#21276) 2015-08-17 Eli Zaretskii Improve fontset support for latest OTF script tags * lisp/international/fontset.el (otf-script-alist): Add some missing script tags. (setup-default-fontset): Include settings for v2 versions of the script tags used by some modern OTF/TTF fonts. 2015-08-17 Paul Eggert Spelling fixes 2015-08-16 Paul Eggert Use curved quotes in core elisp diagnostics In the core elisp files, use curved quotes in diagnostic formats, so that they follow user preference as per ‘text-quoting-style’ rather than being hard-coded to quote `like this'. * lisp/abbrev.el (expand-region-abbrevs): * lisp/button.el (button-category-symbol, button-put) (make-text-button): * lisp/cus-start.el: * lisp/custom.el (custom-add-dependencies, custom-check-theme) (custom--sort-vars-1, load-theme): * lisp/emacs-lisp/byte-run.el (defun, defsubst): * lisp/emacs-lisp/cl-generic.el (cl-defgeneric) (cl-generic-generalizers): * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): * lisp/emacs-lisp/nadvice.el (advice--make-docstring) (advice--make, define-advice): * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag): * lisp/emacs-lisp/timer.el (timer-event-handler): * lisp/env.el (setenv): * lisp/facemenu.el (facemenu-add-new-face) (facemenu-add-new-color): * lisp/faces.el (face-documentation, read-face-name) (face-read-string, read-face-font, face-spec-set-match-display) (read-color, x-resolve-font-name): * lisp/files.el (locate-user-emacs-file, find-alternate-file) (set-auto-mode, hack-local-variables) (hack-one-local-variable--obsolete) (dir-locals-set-directory-class, write-file) (basic-save-buffer, delete-directory, copy-directory) (recover-session, recover-session-finish, insert-directory) (file-modes-char-to-who, file-modes-symbolic-to-number) (move-file-to-trash): * lisp/font-lock.el (font-lock-fontify-buffer): * lisp/format.el (format-write-file, format-find-file) (format-insert-file): * lisp/frame.el (get-device-terminal, select-frame-by-name): * lisp/fringe.el (fringe--check-style): * lisp/help.el (describe-minor-mode-from-indicator): * lisp/image.el (image-type): * lisp/international/fontset.el (x-must-resolve-font-name): * lisp/international/mule-cmds.el (prefer-coding-system) (select-safe-coding-system-interactively) (select-safe-coding-system, activate-input-method) (toggle-input-method, describe-current-input-method): * lisp/international/mule-conf.el (code-offset): * lisp/mouse.el (minor-mode-menu-from-indicator): * lisp/replace.el (query-replace-read-from) (occur-after-change-function, occur-1): * lisp/scroll-bar.el (scroll-bar-columns): * lisp/simple.el (execute-extended-command) (undo-outer-limit-truncate, compose-mail, set-variable) (choose-completion-string, define-alternatives): * lisp/startup.el (site-run-file, tty-handle-args, ) (command-line, command-line-1): * lisp/subr.el (noreturn, define-error, add-to-list) (read-char-choice): * lisp/term/common-win.el (x-handle-xrm-switch) (x-handle-name-switch, x-handle-args): * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid): Use curved quotes in diagnostics. * lisp/international/mule.el (find-auto-coding): Use " to quote in a diagnostic, to be consistent with the rest of this file. Convert lisp/term/x-win.el to UTF-8 * lisp/term/x-win.el: Convert to UTF-8. This doesn't affect runtime behavior, and the file is multilingual so compile-time appearance shouldn't be an issue. * admin/notes/unicode: Document this. 2015-08-16 Wilson Snyder Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU. * losp/progmodes/verilog-mode.el: Fix some non-automated indent issues and comments, bug943. (verilog-type-font-keywords): Cycle delay operators like ##1 and ##[0:$] are now highlighted in their entirety similarly to the # delay-control operator. Likewise, the followed-by operators #-# and #=# are no longer partially highlighed. (verilog-backward-syntactic-ws-quick, verilog-skip-backward-comments): Minor performance improvements to buffer traversal functions for reduced latency. (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the keyword 'final' follows 'assert/assume/cover', then it is part of a deferred immediate assertion item and should not be treated as a final construct for indentation. Reported by Yuri Sugihara. (verilog-do-indent): Virtual task/function/class definition lines should not be considered as declarations. Reported by Enzo Chi. (verilog-do-indent): Do not falsely indent to '=' of property/sequence operators on subsequent lines of a multi-line statement. (verilog-assignment-operator-re): Fix '!==' operator and add support for '<->', ':/', '#-#', and '#=#' operators. (verilog-calculate-indent, verilog-label-be): Enable case-sensitive regular expression parsing when looking for keywords. (verilog-calc-1): Detect 'pure virtual method' declarations which exist in abstract classes. Reported by Enzo Chi and Kaushal Modi. (verilog-backward-ws&directives): When moving back to the start of a line and the preceeding line ended with an escaped-newline, then jump up one line. This properly consumes a multi-line pre-processor directive. Reported by Kaushal Modi. (verilog-dpi-import-export-re, verilog-extended-complete-re, verilog-calc-1): Teach verilog-mode to properly indent after a DPI import/export statement that resides outside of a module. Reported by Kaushal Modi. (verilog-extended-complete-re): Update regexp to match both "DPI-C" and "DPI". Reported by Kaushal Modi. 2015-08-15 Paul Eggert substitute-command-keys a few more doc strings * lisp/allout.el (outlineify-sticky): * lisp/files.el (hack-one-local-variable--obsolete): * lisp/help-fns.el (help-fns--obsolete, describe-variable): Use substitute-command-keys on some doc strings so that they don't use hard-coded key bindings or quoting styles. Fix quoting in Fformat calls * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load) (xpm_load, xpm_load_image, pbm_load, png_load_body) (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image) (imagemagick_load, svg_load, svg_load_image, gs_load) (x_kill_gs_process): * src/lread.c (load_warn_old_style_backquotes): * src/xfaces.c (load_pixmap): * src/xselect.c (x_clipboard_manager_error_1): Quote diagnostics according to user preference when calling Fformat or its derivatives. 2015-08-15 Glenn Morris * admin/admin.el (set-version, set-copyright): Remove deleted files. 2015-08-15 Stephen Leake Allow describe-function helpers to access buffer-local values. This will be used by cedet/mode-local.el `describe-mode-local-override' on `help-fns-describe-function-functions' in upstream CEDET. * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in `describe-function'. (describe-function): Bind it, save it on the help xref stack. Handle pulse-background being nil * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit pulse-background, handle it being nil. 2015-08-15 Paul Eggert Fix "\`" confusion in Lisp strings * admin/authors.el (authors-canonical-author-name): Fix typo by using "\\`" not "\`" in string RE. * lisp/obsolete/complete.el (PC-complete-as-file-name): * lisp/obsolete/vi.el (vi-backward-blank-delimited-word): * lisp/progmodes/verilog-mode.el (verilog-mode-map): Use plain "`", not the equivalent-but-confusing "\`", in strings. * lisp/textmodes/texinfmt.el: Fix comment likewise. 2015-08-15 Dani Moncayo Remove 'nt/zipdist.bat' (no longer used) * nt/zipdist.bat: Remove - no longer used. 2015-08-15 Jürgen Hötzel * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled" rather than "getenforce". (tramp-sh-handle-set-file-selinux-context): Do not cache SELinux context if not all context components are given. 2015-08-15 Eli Zaretskii Add doc strings to 2 help-mode.el functions * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc strings. (Bug#21263) Remove files used by the old MS-Windows specific build procedure * admin/unidata/makefile.w32-in: * doc/emacs/makefile.w32-in: * doc/lispintro/makefile.w32-in: * doc/lispref/makefile.w32-in: * doc/misc/makefile.w32-in: * leim/makefile.w32-in: * lib-src/makefile.w32-in: * lib/makefile.w32-in: * lisp/makefile.w32-in: * nt/INSTALL.OLD: * nt/config.nt: * nt/emacs-src.tags: * nt/envadd.bat: * nt/gmake.defs: * nt/makefile.w32-in: * nt/multi-install-info.bat: * nt/nmake.defs: * nt/paths.h: * src/makefile.w32-in: Files deleted. * nt/configure.bat: Remove everything except the blurb about the new build procedure. * make-dist: Remove references to makefile.w32-in in various directories, and to files in nt/ that were deleted. * etc/NEWS: Mention the fact that the files were dropped. 2015-08-15 Paul Eggert * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR. (Bug#21248) 2015-08-14 Paul Eggert Default to inotify instead of gfile * configure.ac (with_file_notification): Fix typo that prevented suppression of file notification if HAVE_NS. (NOTIFY_OBJ): Prefer inotify to gfile if both exist and with_file_notification is 'yes' (Bug#21241). * etc/NEWS: Mention this. Fix broken URLs for ISO-IR * doc/emacs/mule.texi (Charsets): * lisp/international/mule-conf.el: Fix broken URL (Bug#21248). Low-level diagnostics now use ‘text-quoting-style’ * src/doprnt.c (doprnt): Format ` and ' as per ‘text-quoting-style’. * src/xdisp.c (vmessage, message): Mention that the format should not contain ` or '. Prefer ‘format’ to ‘substitute-command-keys’ * src/character.h (uLSQM, uRSQM): Move here ... * src/doc.c (uLSQM, uRSQM): ... from here. * src/doc.c (Fsubstitute_command_keys): * src/syntax.c (Finternal_describe_syntax_value): * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/cl-extra.el (cl--describe-class): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode) (help-fns--obsolete, help-fns--interactive-only) (describe-function-1, describe-variable): * lisp/help.el (describe-mode): Prefer ‘format’ to ‘substitute-command-keys’ when either will do to implement quoting style. This generally makes the code simpler. Extend ‘format’ to translate curved quotes This is a followup to the recent doc string change, and deals with diagnostics and the like. This patch is more conservative than the doc string change, in that the behavior of ‘format’ changes only if its first arg contains curved quotes and the user prefers straight or grave quotes. (Come to think of it, perhaps we should be similarly conservative with doc strings too, but that can wait.) The upside of this conservatism is that existing usage is almost surely unaffected. The downside is that we'll eventually have to change Emacs's format strings to use curved quotes in places where the user might want curved quotes, but that's a simple and mechanical translation that I'm willing to do later. (Bug#21222) * doc/lispref/help.texi (Keys in Documentation): Move description of text-quoting-style from here ... * doc/lispref/strings.texi (Formatting Strings): ... to here, and describe new behavior of ‘format’. * etc/NEWS: Describe new behavior. * lisp/calc/calc-help.el (calc-describe-thing): * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): * lisp/info.el (Info-find-index-name): Use ‘concat’ rather than ‘format’ to avoid misinterpretation of recently-added curved quotes. * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2): Move from here ... * src/lisp.h: ... to here. * src/doc.c (text_quoting_style): New function. (Fsubstitute_command_keys): Use it. * src/editfns.c (Fformat): Implement new behavior. * src/lisp.h (enum text_quoting_style): New enum. 2015-08-14 Stefan Monnier * src/keyboard.c: Use false/true instead of 0/1 for booleans * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean. 2015-08-14 Michael Albinus * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect stderr to /dev/null, this is done in `tramp-send-command-and-check'. 2015-08-14 Jürgen Hötzel Flush file properties in Tramp * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes) (tramp-sh-handle-set-file-times): * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes) (tramp-adb-handle-set-file-times): Flush the file properties of the directory. 2015-08-14 Ronnie Schnell * doc/emacs/misc.text (Amusements): Fixed typo. 2015-08-14 Eli Zaretskii Don't miss warnings about removing string text properties while dumping * src/alloc.c (purecopy): Warn about removing a string's text properties even when the same string was already pure-copied earlier. * lisp/progmodes/elisp-mode.el (elisp--xref-format) (elisp--xref-format-extra): Fix the commentary. 2015-08-13 Stefan Monnier * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049) 2015-08-13 Magnus Henoch * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038) * lisp/progmodes/compile.el: Use lexical-binding. (compilation-move-to-column): Assume 8-wide TABs (bug#21038). 2015-08-13 Stefan Monnier (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037) * lisp/uniquify.el: Remove redundant `:group's. 2015-08-13 Jürgen Hötzel * lisp/net/tramp-adb.el (tramp-adb-handle-directory-files-and-attributes): Make a copy of result to prevent modification of the tramp-cache by side effects. Use the correct cache key. 2015-08-13 Paul Eggert Make add_to_log varargs * src/alloc.c (run_finalizer_handler): * src/charset.c (load_charset_map_from_vector): * src/nsimage.m (ns_load_image): * src/xfaces.c (load_pixmap, load_color2): Simplify, now that add_to_log has a variable number of args. * src/image.c (image_error): Take a variable number of args. Callers simplified. * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs. * src/xdisp.c (format_nargs, vadd_to_log): New functions. (add_to_log): Make varargs, and reimplement in terms of vadd_to_log. * src/xfaces.c (merge_face_ref): Fix typo that omitted color name. Optional args for holiday-greek-orthodox-easter * etc/NEWS: Document this. * lisp/calendar/holidays.el (holiday-greek-orthodox-easter): Add optional args N and STRING, mimicking the API and code of ‘holiday-easter-etc’. From suggestion by Foivos S. Zakkak (Bug#21256). 2015-08-13 Stephen Leake xref-find-definitions: Exclude more generic function items. * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string. (cl--generic-find-defgeneric-regexp): New. (find-function-regexp-alist): Add it. * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from elisp-mode.el, change to search for ";;; Code:" (find-alias-regexp): Move here from elisp-mode.el, cleaned up. (find-function-regexp-alist): Add them. * lisp/progmodes/elisp-mode.el: (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due to bug#21237. (elisp--xref-find-definitions): Exclude co-located default methods for generic functions. Also exclude implicitly declared defgeneric. (elisp--xref-find-definitions): Handle C source properly. Exclude minor mode variables defined by 'define-minor-mode'. * test/automated/elisp-mode-tests.el: Declare generic functions, add tests for them. (xref-elisp-test-run): Fix bug. (emacs-test-dir): Improve initial value. (find-defs-defun-defvar-el): Don't expect defvar. (find-defs-feature-el): Match change to find-feature-regexp. 2015-08-13 Eli Zaretskii Improve warning about purecopy of strings with properties * src/alloc.c (purecopy): Show the offending string with the warning about removing its text properties. 2015-08-12 Alan Mackenzie Introduce new macros to cover Emacs's new names in cl-lib.el. This also eliminates `mapcan' warnings in XEmacs. progmodes/cc-defs.el (c--mapcan-status): new variable to characterise [X]Emacs versions. (top-level): Require either 'cl or 'cl-lib, depending on c--mapcan-status. Change this back to cc-external-require from an eval-when-compile require. (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all) (c--delete-duplicates): New macros which expand into either old or new names. (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros rather than the old names. progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather than mapcan. progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan. progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib, depending on c--mapcan-status. (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp) (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key) (c-not-decl-init-keywords, c-not-primitive-type-keywords) (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds) (c-decl-block-key, c-keywords, c-keywords-obarray) (c-regular-keywords-regexp, c-primary-expr-regexp, c-primary-expr-regexp) (c-block-prefix-disallowed-chars, c-known-type-key, c-nonlabel-token-key) (c-make-init-lang-vars-fun): Use the new macros rather than the old names. 2015-08-12 Oleh Krehel loadhist.el (read-feature): Conform to completing-read * lisp/loadhist.el (read-feature): According to `completing-read' documentation, if collection is a list, then it must be a list of strings. And not a list of symbols like before. 2015-08-12 David Kastrup Deal gracefully with up-events (Bug#19746) * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier) (parse_modifiers_uncached): React gracefully to "up-" modifiers: those may easily be injected by user-level Lisp code. (read_key_sequence): Discard unbound up-events like unbound down-events: they are even more likely only relevant for special purposes. While Emacs will not produce up-events on its own currently (those are converted to drag or click events before being converted to Lisp-readable structures), the input queue can be made to contain them by synthesizing events to `unread-command-events'. Emacs should deal consistently with such events. 2015-08-12 Eli Zaretskii Fix display of thin lines whose newline has line-height property of t * src/xdisp.c (append_space_for_newline): Don't try to fix ascent and descent values of non-empty glyph rows, since they could have forced low values deliberately. (Bug#21243) 2015-08-12 Richard Stallman Offer to combine multiple To or CC fields. * sendmail.el (mail-combine-fields): New function. (mail-send): Call 'mail-combine-fields'. Don't decrypt encrypted files. * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t. Handle encrypted mbox files. * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox file if necessary. Re-enable mime processing after decryption. Add 'decrypt' keyword. * rmail.el (rmail-epa-decrypt-1): New subroutine. (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out. In a mime message, reenable Mime and show the parts that were shown before. Add keyword "decrypt" if anything decrypted. epa-inhibit inhibits auto-recognition of .gpg files * lisp/epa-file.el (epa-inhibit): New variable. (epa-file-handler): Check epa-inhibit. 2015-08-12 Artur Malabarba * emacs-lisp/lisp-mnt.el (lm-header): save-excursion 2015-08-11 Fabián Ezequiel Gallina Respect python.el imenu when semantic-mode is off Fixes debbugs:21220 * lisp/cedet/semantic/wisent/python.el: Do not force wisent-python-default-setup on python-mode-hook. 2015-08-11 Paul Eggert Give names to Unicode code points in C code * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN) (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN) (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK) (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR) (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET) (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET) (OBJECT_REPLACEMENT_CHARACTER): New named constants for Unicode code points. * src/bidi.c (bidi_fetch_char, CANONICAL_EQU): * src/composite.c (char_composable_p): * src/lread.c (readevalloop, read1): * src/xdisp.c (get_next_display_element): Use them. * src/doc.c (LEFT_SINGLE_QUOTATION_POINT): Remove; now in character.h. 2015-08-11 Stephen Leake elisp--xref-find-definitions handle cl-defstuct default constructor * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME. (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod. (elisp--xref-find-definitions): Handle cl-defstuct default constructor. * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out from xref-elisp-test for ease of debugging. (xref-elisp-deftest): Rename from xref-elisp-test. (find-defs-constructor): New test. (find-defs-defgeneric-el): Match batch test config. (compile): Required for find-defs compilation-minor-mode test. (find-defs-defvar-el): Match code change. (find-defs-face-el): Match code change. * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions): Improve doc string. 2015-08-11 Stefan Monnier * lisp/replace.el (perform-replace): Document `replacements'. (perform-replace): Move the description of the format of `replacements' from the body's comment to the docstring. 2015-08-11 Jürgen Hötzel * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape sequence. Recent adb version send initial escape sequences, even when terminal type is set to TERM=dumb. 2015-08-10 Stephen Leake Rewrite elisp--xref-find-definitions to handle many more cases; add tests. * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): deleted (elisp--xref-format-cl-defmethod): new (find-feature-regexp): new (find-alias-regexp): new (elisp--xref-make-xref): new (elisp--xref-find-definitions): Rewrite using the above, handle many more cases. Always output all available definitions. (xref-location-marker): No need for special cases. * test/automated/elisp-mode-tests.el: Add more tests of elisp--xref-find-definitions, improve current tests. 2015-08-10 Eli Zaretskii Fix recording of events pushed onto unread-command-events * src/keyboard.c (read_char): Make sure events read from unread-command-events and unread-post-input-method-events are always recorded by record_char. Reported by David Kastrup , see http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html. 2015-08-10 Samer Masterson Set file buffer as current for "--file" * lisp/startup.el (command-line-1): Set file buffer as current before it is displayed so it can be used with options like "--eval". (Bug#21095) 2015-08-10 Eli Zaretskii Avoid setting LC_NUMERIC on MS-Windows to anything but "C" * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale after setting LC_ALL to the desired locale, to avoid affecting how numbers are read and printed. (Bug#21223) 2015-08-10 Alan Mackenzie Fix "Invalid search bound (wrong side of point)" in fontification. progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an initialization expression, check point is not beyond the fontification limit. 2015-08-09 Paul Eggert Fix DPI calculation when Xft/DPI is default * src/xsettings.c (parse_settings): Don't use Xft/DPI default value of -1, which evaluates to 2**32 - 1 (Bug#21152). Remove unnecessary cast while we're in the neighborhood. 2015-08-09 Dmitry Gutov Add project-vc-search-path and project-vc-ignores * lisp/progmodes/project.el (project-vc): New group. (project-vc-search-path, project-vc-ignores): New variables. (project--value-in-dir): Utility function. (project-search-path, project-ignores): Use them. * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./' at bos. Don't add extra `/'. Don't prepend with `*' if replaced. 2015-08-09 Paul Eggert Fix some minor quoting issues with grave accent * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]: Remove redundant quotes. * src/doc.c (uLSQM, uRSQM): New macros. * src/doc.c (Fsubstitute_command_keys): * src/syntax.c (Finternal_describe_syntax_value): Follow the user preference for quotes rather than hardcoding the ‘grave’ style. * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT) (re_match_2_internal) [DEBUG]: In debugging output, quote C strings with "...", not `...'. ChangeLog.2 ignores remote-tracking merges * build-aux/gitlog-to-emacslog: Ignore commit logs matching "Merge remote-tracking branch '.*'" too. See Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html 2015-08-09 Nicolas Richard Use kpsewhich in ffap-latex-mode, if available * lisp/ffap.el (ffap-latex-guess-rules): New variable. (ffap-latex-mode): Use kpsewhich if available. ffap: disallow braces in filenames for tex modes * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow braces in tex-related modes. Remove useless backslashes from ffap-string-at-point-mode-alist * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and misleading backslashes from default value. Augment docstring of ffap-string-at-point-mode-alist * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG and END are handled. 2015-08-09 Paul Eggert Remove no-op calls to substitute-command-keys * lisp/org/org-src.el (org-edit-src-code) (org-edit-fixed-width-region): * lisp/simple.el (completion-setup-function): Remove calls to substitute-command-keys that always just return their argument. 2015-08-09 Daiki Ueno Utilize `quit-window' in epa.el * epa.el (epa-exit-buffer-function): Set to `quit-window'. (Bug#21210) 2015-08-09 Ivan Kanis fix link to source code in help window * lisp/help-fns.el (find-lisp-object-file-name): remove code that will never work due to Glenn Morris change a6d63d9 on Apr 20 2013 'No longer include timestamp in header of .elc files'. Add code that will return .el source file in load-path. 2015-08-09 Artur Malabarba * isearch.el (isearch-search-fun-default): (Bug#21164) Respect `isearch-lax-whitespace' when searching through `isearch-word'. 2015-08-08 Stefan Monnier * test/automated/ert-tests.el (ert-test-deftest): Add FIXME. * org.el: Fix up some lexical scoping warnings, and use dolist * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map) (org-set-regexps-and-options, org-assign-fast-keys) (org-contextualize-keys, org-contextualize-validate-key) (org-notes-order-reversed-p, org-local-logging, org-map-entries) (org-find-olp, org-find-exact-heading-in-directory) (org-cycle-agenda-files, org-release-buffers, org-fill-template) (org-agenda-prepare-buffers, org-occur-in-agenda-files) (org-replace-escapes): Use dolist. (org-mode): Optimize away XEmacs-only code. (org-refile-get-targets): Remove unused var `f'. (org-fast-todo-selection): Remove unused var `e'. (org-make-tags-matcher): Use dolist. Remove unused var `term'. (org-fast-tag-selection): Use dolist. Remove unused var `e'. (org-format-latex): Use dolist. Remove unused var `e'. (org-toggle-heading): Access vars lexically rather than dynamically. (org-backward-sentence, org-forward-sentence, org-meta-return) (org-kill-line): Mark arg as unused. (org-submit-bug-report): Silence compiler warning. (org-occur-in-agenda-files): Don't use add-to-list on local vars. (org-get-cursor-date): Remove unused var `tm'. (org-comment-or-uncomment-region): Use standard name `_'. (reftex-docstruct-symbol, reftex-cite-format): Declare to silence byte-compiler. (org-reftex-citation): Add `org--' prefix to dynamically scoped `rds' var. 2015-08-08 Nicolas Petton Merge remote-tracking branch 'origin/fix/subsequence-error-with-negative-sequences' 2015-08-08 Paul Eggert Electric quote if coding is undecided or no conv * lisp/electric.el (electric--insertable-p): Also say that a string is insertable if the buffer file coding system is undecided or uses no conversion, as curved quotes will work in either case. * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration. 2015-08-08 Eli Zaretskii Fix overlay string display regressions introduced in Emacs 24.5 * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this buffer position, if we move the iterator to a new position as result of jumping over text covered by a "replacing" display property. * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests. Support recovery from C stack overflow on MS-Windows * src/w32fns.c (w32_reset_stack_overflow_guard) (stack_overflow_handler): New functions for handling C stack overflow exceptions. (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions specially, and zero out except_addr if we do. (globals_of_w32fns): Initialize dwMainThreadId in non-interactive mode. * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for the MinGW build, but the code guarded by that is for Posix hosts. * src/keyboard.c (command_loop) [WINDOWSNT]: Call w32_reset_stack_overflow_guard. * nt/inc/ms-w32.h (sigjmp_buf): New typedef. (sigsetjmp): New macro. (w32_reset_stack_overflow_guard): Declare the prototype. * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW. 2015-08-07 Phillip Lord Improve error signalling for seq-subseq. * lisp/seq.el (seq-subseq): The existing behaviour is to error when indexes are too large, but to silently ignore numbers which are too negative for lists. String and vector handling errors in both cases. This has been regularlised. Error signalling behaviour has been explicitly added to the docstring. * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is therefore also impacted by this change. The docstring has been updated to reflect this. * test/automated/seq-tests.el (test-seq-subseq): Tests have been added for these exceptional cases, as well as one non exceptional base case. 2015-08-07 Jürgen Hötzel Improve error checking in tramp-adb.el * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p): Improve error checking. "ls -l" on Android in Enforcing mode can print "lstat './FILENAME failed: Permission denied". 2015-08-07 Stefan Monnier * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on non-struct vectors. 2015-08-07 Stephen Leake lisp/window.el: fix typo, more `display-buffer-use-some-frame' * lisp/window.el: fix typo that broke build (display-buffer--action-function-custom-type): add `display-buffer-use-some-frame' (display-buffer): add `display-buffer-use-some-frame' to doc string Add support for 'inhibit-same-window in 'display-buffer-use-some-frame' * lisp/window.el (display-buffer-use-some-frame): Add support for 'inhibit-same-window in alist. * doc/windows.texi (display-buffer-use-some-frame): Doc support for 'inhibit-same-window in alist. 2015-08-07 Eli Zaretskii Avoid infinite loop in display of invisible text in strings * src/xdisp.c (handle_invisible_prop): If the next change of invisibility spec does not mean the beginning of a visible text, update the string position from which to start the search for the next invisibility change. This avoids an infinite loop when we have more than one invisibility spec that are made inactive by buffer-invisibility-spec. Simplify code. (Bug#21200) * test/redisplay-testsuite.el (test-redisplay-4): Add a test case for the situation that caused bug #21200. 2015-08-06 Artur Malabarba * lisp/emacs-lisp/package.el: Simplify describe-package-1 (package-help-section-name-face): New face. (package--print-help-section): New function. (describe-package-1): Refactor section printing. (package-make-button): Use face instead of font-lock-face, which doesn't work on buttons. * lisp/emacs-lisp/package.el: Define custom faces (package-name-face, package-description-face) (package-status-built-in-face, package-status-external-face) (package-status-available-face, package-status-new-face) (package-status-held-face, package-status-disabled-face) (package-status-installed-face, package-status-dependency-face) (package-status-unsigned-face, package-status-incompat-face) (package-status-avail-obso-face): New faces. (package-menu--print-info-simple): Use them. 2015-08-05 Paul Eggert Fix some confusion with ‘format’ * lisp/allout-widgets.el (allout-widgets-before-change-handler) (allout-graphics-modification-handler): Protect arbitrary string in a format context with "%s" format. * lisp/avoid.el: * lisp/cedet/semantic/bovine/scm.el: Fix comment. * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical): * lisp/erc/erc-button.el (erc-button-beats-to-time): * lisp/gnus/message.el (message-send-form-letter): * lisp/org/ob-core.el (org-babel-check-evaluate) (org-babel-confirm-evaluate): * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran): * lisp/org/ox-latex.el (org-latex-compile): * lisp/org/ox-man.el (org-man-compile): * lisp/org/ox-odt.el (org-odt-template): * lisp/org/ox-texinfo.el (org-texinfo-compile): * lisp/progmodes/prolog.el (prolog-help-info) (prolog-view-predspec): * lisp/progmodes/ruby-mode.el (ruby-parse-partial): * lisp/progmodes/verilog-mode.el (verilog-showscopes): * lisp/textmodes/rst.el (rst-replace-lines): Change (message (format ...)) to (message ...), and likewise for ‘error’. This lessens the probability of confusion when the output of ‘format’ contains ‘%’. 2015-08-05 Artur Malabarba * lisp/replace.el (replace-character-fold): Default to nil * lisp/character-fold.el: Fix lax whitespace (character-fold-table): Don't make space match other whitespace chars. (character-fold-to-regexp): Simplify lax behaviour. 2015-08-05 Dmitry Gutov Preserve window point in xref-find-definitions-other-window Fix the problem reported by Ingo Logmar in http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html * lisp/progmodes/xref.el (xref--goto-char): Extract from xref--goto-location. (xref--pop-to-location): Use it. Replace xref--goto-location with a direct xref-location-marker call. (xref--show-location): Likewise. (xref--display-position): Use xref--goto-char. * lisp/progmodes/project.el: Add a paragraph to the front matter. 2015-08-04 David Kastrup Do not overwrite preexisting contents of unread-command-events * lisp/vc/emerge.el (emerge-show-file-name): * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash) (vhdl-comment-insert, vhdl-hooked-abbrev): * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring): * lisp/progmodes/fortran.el (fortran-window-create-momentarily): * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu): * lisp/progmodes/cperl-mode.el (cperl-putback-char): * lisp/obsolete/vip.el (vip-escape-to-emacs) (vip-prefix-arg-value, vip-prefix-arg-com): * lisp/obsolete/terminal.el (te-escape-extended-command-unread): * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation) (quail-tibkey-update-translation): * lisp/leim/quail/lrt.el (quail-lrt-update-translation): * lisp/leim/quail/lao.el (quail-lao-update-translation): * lisp/leim/quail/japanese.el (quail-japanese-update-translation) (quail-japanese-self-insert-and-switch-to-alpha): * lisp/leim/quail/hangul.el (hangul2-input-method) (hangul3-input-method, hangul390-input-method): * lisp/language/hanja-util.el (hangul-to-hanja-char): * lisp/international/robin.el (robin-input-method): * lisp/international/quail.el (quail-start-translation) (quail-start-conversion): * lisp/gnus/gnus-art.el (gnus-article-describe-key) (gnus-article-describe-key-briefly): * lisp/eshell/em-hist.el (eshell-list-history): * lisp/term.el (term-dynamic-list-input-ring) (term-dynamic-list-completions): * lisp/subr.el (momentary-string-display): * lisp/simple.el (read-quoted-char): * lisp/pcomplete.el (pcomplete-show-completions): * lisp/kmacro.el (kmacro-repeat-on-last-key): * lisp/info.el (Info-summary): * lisp/ehelp.el (electric-help-command-loop): * lisp/ebuff-menu.el (electric-buffer-list) (Electric-buffer-menu-exit): * lisp/double.el (double-translate-key): * lisp/comint.el (comint-dynamic-list-input-ring) (comint-dynamic-list-completions): Do not overwrite preexisting contents of `unread-command-events' when putting new events into it. 2015-08-04 Daniel Colascione Improve ansi-color filtering of unrecognized escape sequences * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting escape sequences. (ansi-color-filter-apply): Filter out unrecognized escape sequences (ansi-color-apply): Filter out unrecognized escape sequences 2015-08-04 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu definitions to `easy-menu-define', improve a couple to account for async, and add a couple of new commands. 2015-08-03 Jürgen Hötzel * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo. 2015-08-03 Ingo Lohmar Add new 'calendar-weekend-days' option Make the days receiving the 'calendar-weekend-header' face freely customizable, as they differ by region/culture. * doc/emacs/calendar.texi (Move to Beginning or End): Document the new variable. * lisp/calendar/calendar.el (calendar-generate-month): New variable calendar-weekend-days to customize day header fontification. 2015-08-03 Paul Eggert Redo text-quoting-style variable Rename help-quote-translation to text-quoting-style, and use symbols rather than characters as values. This follows suggestions along these lines by Alan Mackenzie in: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html and by Drew Adams in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html * doc/lispref/help.texi (Keys in Documentation) * etc/NEWS: * lisp/cus-start.el (standard): * src/doc.c (Fsubstitute_command_keys, syms_of_doc): Document and/or implement the new behavior instead of the old. (syms_of_doc): New symbols 'grave' and 'straight'. 2015-08-03 Nikolaus Rath nnimap.el: Use IMAP MOVE extension if available * lisp/gnus/nnimap.el (nnimap-request-move-article) (nnimap-process-expiry-targets, nnimap-split-incoming-mail): Use MOVE extension if available. nnimap.el: Explicitly ask for server capabilities * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full capabilities will be returned in the login-result. 2015-08-02 Paul Eggert Treat help strings like other doc strings * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this. * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to substitute-command-keys. * src/keyboard.c (show_help_echo, parse_menu_item): Call substitute-command-keys on the help string before displaying it. Also mention "curly quotes" See Drew Adams's email in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html * doc/lispref/help.texi (Keys in Documentation): Add index entry "curly quotes". * etc/NEWS: Use the phrase "curly quotes" too. ede-proj-target-makefile docstring tweaks * lisp/cedet/ede/proj.el (ede-proj-target-makefile): Consistently use "all:" to describe the all: target, replacing three different and confusingly-quoted usages. 2015-08-02 Eli Zaretskii Whitespace fixes 2015-08-02 Evgeny Fraimovitch (tiny change) Don't abort emacsclientw when -a was specified * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error out if we are in emacsclientw and -a was specified. 2015-08-02 Eli Zaretskii Fix handling of 1st keystroke on MS-Windows * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1. This is needed to correctly handle the session's first keystroke, if it has any modifiers. (Bug#19994) 2015-08-02 Paul Eggert Substitute some customization etc. doc strings These changes apply substitute-command-keys to some doc strings that were going through untranslated when creating customization or other widgets. * lisp/cus-edit.el (custom-group-value-create): * lisp/wid-edit.el (widget-default-create): (widget-push-button-value-create): Treat the widget tag as a doc string. * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot): Treat the :documentation value as a doc string. * lisp/wid-edit.el (widget-choose): Treat the choice names as doc strings. (widget-default-create): Treat the :doc value as a doc string. (widget-toggle-value-create): Treat the :on and :off values as doc strings. (widget-documentation-string-value-create): Substitute the doc string. 2015-08-01 Dmitry Gutov Add a second argument to project-ignores * lisp/progmodes/project.el (project-ignores): Add a second argument DIR. * lisp/progmodes/project.el (project-ignores): Only include the VC ignores if DIR is the VC root. * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly. 2015-08-01 Eli Zaretskii Prevent incorrect display when 'line-spacing' variable is set * src/xdisp.c (try_window_id): Give up this optimization if the buffer has its 'line-spacing' variable set non-nil. 2015-08-01 Dmitry Gutov Don't pass NOVISIT to find-file * lisp/progmodes/etags.el (next-file): Don't pass NOVISIT to find-file (bug#21175). Ignore buffer restriction for tags-loop-eval * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer restriction (bug#21167). 2015-08-01 Eli Zaretskii Fix a thinko in 'ffap-gopher-at-point' * lisp/ffap.el (ffap-gopher-at-point): Fix last change. (Bug#21168) Honor 'line-spacing' for empty lines * src/xdisp.c (append_space_for_newline): Honor 'line-height' property and 'line-spacing' frame parameter or variable or property for empty lines, by doing the same processing as in x_produce_glyph for newline characters. (Bug#21165) 2015-08-01 Paul Eggert Simplify by assuming C99 integer division * src/floatfns.c (ceiling2, floor2, truncate2): Assume C99 (i.e., Fortran) semantics for integer division. This simplifies the code. 2015-07-31 Paul Eggert Don't overflow if computing approximate percentage * lisp/align.el (align-region): * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream): * lisp/cedet/semantic/wisent.el (wisent-parse-region): * lisp/cus-edit.el (custom-buffer-create-internal): * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop) (checkdoc-message-interactive-ispell-loop, checkdoc-next-error) (checkdoc-next-message-error): * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list): * lisp/epa.el (epa-progress-callback-function): * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command): * lisp/ffap.el (ffap-menu-rescan): * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers): * lisp/gnus/nndiary.el (nndiary-retrieve-headers): * lisp/gnus/nneething.el (nneething-retrieve-headers): * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers): * lisp/gnus/nnmh.el (nnmh-retrieve-headers): * lisp/gnus/nnml.el (nnml-retrieve-headers): * lisp/gnus/nnspool.el (nnspool-retrieve-headers): * lisp/gnus/nntp.el (nntp-retrieve-headers) (nntp-retrieve-articles): * lisp/imenu.el (imenu--relative-position): * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi) (skkdic-convert-okuri-nasi): * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash): * lisp/nxml/rng-valid.el (rng-compute-mode-line-string): * lisp/org/org-list.el (org-update-checkbox-count): * lisp/org/org.el (org-table-map-tables) (org-update-parent-todo-statistics): * lisp/play/decipher.el (decipher-insert-frequency-counts) (decipher-analyze-buffer): * lisp/profiler.el (profiler-format-percent): * lisp/progmodes/cc-cmds.el (c-progress-update): * lisp/progmodes/cpp.el (cpp-highlight-buffer): * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info) (idlwave-list-load-path-shadows): * lisp/progmodes/opascal.el (opascal-step-progress): * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info) (vhdl-scan-directory-contents): * lisp/textmodes/bibtex.el (bibtex-progress-message): * lisp/textmodes/flyspell.el (flyspell-small-region) (flyspell-external-point-words): * lisp/textmodes/table.el (table-recognize): Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating progress-report percentages and the like. This avoids problems if (* 100 NUMERATOR) would overflow. * lisp/gnus/gnus-registry.el (gnus-registry-import-eld): * lisp/gnus/registry.el (registry-reindex): Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues. * lisp/descr-text.el (describe-char): * lisp/org/org-colview.el (org-nofm-to-completion): * lisp/ps-print.el (ps-plot): * lisp/simple.el (what-cursor-position): Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a more-complicated and less-accurate approximation. Fix some int overflows in profiler.c * src/profiler.c (make_log): Make args EMACS_INT, not int, to avoid unwanted behavior on 'int' overflow. (make_log, evict_lower_half, record_backtrace): Use ptrdiff_t, not int, for object indexes. Port to pedantic memcpy * src/keyboard.c (menu_bar_items, tool_bar_items): * src/xrdb.c (magic_db): Port to pedantic memcpy implementations that reject memcpy (0, 0, 0). Merge from gnulib This incorporates: 2015-07-29 time_rz: port to pedantic memcpy * lib/time_rz.c: Copy from gnulib. 2015-07-31 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug When updating the very last entry, tabulated-list-print would erase it and then try to look at the next one (which obviously isn't there). 2015-07-31 Eli Zaretskii Allow to use the old key processing code on MS-Windows * src/w32fns.c (syms_of_w32fns) : New variable. (w32_wnd_proc): Use it to invoke the old code that processed character keys, as fallback, when this variable is non-nil. Fix typos in comments. (Bug#19994) 2015-07-31 Ilya Zakharevich Improve handling of Unicode keyboard input on MS-Windows * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions. (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging. (w32_wnd_proc): Call deliver_wm_chars to process non-special keys upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages. If that is successful, don't call TranslateMessage. (Bug#19994) 2015-07-30 Dmitry Gutov Fix default-directory in changeset diffs after vc-print-log * lisp/vc/log-view.el (log-view-diff-common): Move the revision-granularity check back into log-view-diff-changeset. (log-view-diff-changeset): Bind default-directory to the current VC root. Rename project-directories to project-roots * lisp/progmodes/project.el (project-search-path-function) (project-search-path): Update the docstring. (project-directories): Rename to `project-roots', update all callers and implementations accordingly. (project-root): Remove. * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.* as the default file mask. 2015-07-30 Eli Zaretskii Support long URLs in w32-shell-execute * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16 and filename_to_ansi to convert the DOCUMENT argument, as it could be a URL that is not limited to MAX_PATH characters. Instead, use MultiByteToWideChar directly, and allocate heap storage as required to accommodate the converted string. Likewise with non-Unicode operation. Ensure OPERATION is null-terminated, even if it is longer than 32K bytes. (Bug#21158) 2015-07-30 Stephen Leake vc-mtn-find-revision handle null rev. * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev 2015-07-29 Stephen Leake Add docs for display-buffer action display-buffer-use-some-frame * lisp/window.el (display-buffer-use-some-frame): improve doc string * doc/lispref/windows.texi (Display Action Functions): add display-buffer-use-some-frame * etc/NEWS: mention display-buffer-use-some-frame Add display-buffer action display-buffer-use-some-frame * lisp/window.el (display-buffer-use-some-frame): new Handle vc-mtn error more gently * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil 2015-07-29 Michael Albinus Fix Tramp problems with multihops, and nc. * lisp/net/tramp-cache.el (tramp-get-file-property) (tramp-set-file-property, tramp-flush-file-property) (tramp-get-connection-property, tramp-set-connection-property) (tramp-flush-connection-property): Remove hop from vector. * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors. * lisp/net/tramp-sh.el (tramp-methods) : Separate STDERR. (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of netstat to 60". (tramp-sh-handle-start-file-process): Do not show hops in prompt. * lisp/net/tramp.el (tramp-handle-file-name-as-directory) (tramp-handle-file-name-directory, tramp-handle-file-remote-p): Keep hop in result. * test/automated/tramp-tests.el (tramp-test02-file-name-dissect): Add hop tests. 2015-07-29 Eli Zaretskii Resurrect highlighting of repeated words by Flyspell Mode * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word characters between point and the doublon candidate, so that flyspell-word-search-backward finds it. (Bug#21157) Fix redisplay of large images on expose events * src/xdisp.c (expose_window, expose_area): Avoid comparisons between signed negative values and unsigned values. This prevented redisplay on expose events when the window showed a very large image. 2015-07-29 Paul Eggert Remove unnecessary stack overflow dependency * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Don't worry about $ac_cv_header_sys_resource_h and $ac_cv_func_getrlimit, as they're no longer needed for this. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html 2015-07-28 Andy Moreton (tiny change) Pacify compilation -Wincompatible-pointer-types warnings * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation warning. (CompareStringW_Proc): New typedef. (w32_compare_strings): Use it, to pacify compiler warnings under "-Wincompatible-pointer-types". * src/w32fns.c (GetDiskFreeSpaceExW_Proc) (GetDiskFreeSpaceExA_Proc): New typedefs. (Ffile_system_info): Use them, to pacify compiler warnings under "-Wincompatible-pointer-types". 2015-07-28 Paul Eggert Fix subscript error in calculate_direct_scrolling Use slightly-longer cost vectors. Without this change, calculate_direct_scrolling can have a subscript violation when FRAME_LINES (frame) <= delta. * src/scroll.c (calculate_scrolling, calculate_direct_scrolling) (line_ins_del, do_line_insertion_deletion_costs): Allocate and use slightly-larger cost vectors, ones based on FRAME_TOTAL_LINES instead of FRAME_LINES. Fix uninitalized value in encode_coding_object * src/coding.c (encode_coding_object): Also initialize coding->src_pos and coding->src_pos_byte when NILP (src_object). This avoids later use of uninitialized storage. 2015-07-27 Xue Fuqiao * doc/lispref/variables.texi (Variable Aliases): Typo fix. (Bug#21141) 2015-07-27 Paul Eggert Merge from gnulib This incorporates: 2015-07-27 time_rz: port better to MinGW 2015-07-27 time: port __need_time_t to MinGW * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib. * lib/time-internal.h: New file, from gnulib. 2015-07-27 Eli Zaretskii Handle NULL pointers in w32heap.c allocation routines * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not freeable". (realloc_after_dump, realloc_before_dump, free_before_dump): Handle NULL pointers gracefully, as Emacs now seems to expect that. Fix Cairo build without PNG * src/image.c: Define PNG function when USE_CAIRO is defined, even if HAVE_PNG is not. (Bug#21133) MS-Windows follow-up for recent TZ-related changes * nt/mingw-cfg.site (ac_cv_header_pthread_h) (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid picking up 'struct timespec' from pthread.h, if it is installed on the user's system. We want either the definitions from MinGW system headers, if available, or the Gnulib replacements if not. * nt/inc/ms-w32.h : Don't define, as we now use lib/time.h. * lib/time.in.h: Don't let __need_* symbols affect what happens on MinGW. These symbols are defined by MinGW system headers, but we don't want that to affect whether Gnulib portions of the header are or aren't used. 2015-07-26 Paul Eggert * src/ftfont.c (ftfont_close): Add comment re Bug#20890. New optional ZONE arg for format-time-string etc. This simplifies time conversions in other time zones. It also prevents display-time-world tampering with TZ (Bug#21020). * admin/admin.el (add-release-logs): Use improved add-log-time-format API. * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm. (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv. * configure.ac (tzalloc): Remove test for this, since Emacs no longer uses HAVE_TZALLOC directly. * doc/lispref/os.texi (Time of Day, Time Conversion) (Time Parsing): * etc/NEWS: Document the new behavior. Merge from gnulib, incorporating: 2015-07-25 strftime: fix newly-introduced bug on Solaris 2015-07-23 fprintftime, strftime: use timezone_t args * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4: * m4/time_h.m4: Update from gnulib. * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4: New files from gnulib. * lisp/time-stamp.el (time-stamp-string): * lisp/time.el (display-time-world-list) (display-time-world-display): Use new API, with time zone arg. * lisp/time.el (display-time-world-display): Fix race when current-time advances while we're running. * lisp/vc/add-log.el (add-log-iso8601-time-zone) (add-log-iso8601-time-string): Accept optional time zone arg. * lisp/vc/add-log.el (add-change-log-entry): * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg. * nt/gnulib.mk: Propagate lib/gnulib.mk changes here. Add rules for the time module, since they're now needed for tzalloc etc. * src/conf_post.h (getenv_TZ, setenv_TZ): New macros. (emacs_getenv_TZ, emacs_setenv_TZ): New decls. * src/editfns.c: Include errno.h. (set_time_zone_rule): Omit unnecessary forward decl. (initial_tz): Remove, replacing with ... (local_tz, wall_clock_tz, utc_tz): New static vars and constants. (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1). (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree) (tzlookup): New static functions. (init_editfns): New arg DUMPING. All uses changed. (init_editfns): Omit most initialization if dumping, not if !initialized. Initialize wall_clock_tz and local_tz. (emacs_nmemftime, format_time_string): Time zone argument can now be any time zone, not just a boolean for UTC or local time. All callers changed. (Fformat_time_string, Fencode_time, Fcurrent_time_string) (Fcurrent_time_zone): New optional arg ZONE. (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take the same form as with the other new additions. (decode_time_zone): Remove; no longer needed. (tzvalbuf): Now file-scope. (emacs_getenv_TZ, emacs_setenv_TZ): New functions. (syms_of_editfns): Define Qwall. * src/editfns.c (mktime_z) [!HAVE_TZALLOC]: * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree) [!HAVE_TZALLOC]: Remove; now supplied by gnulib. * src/emacs.c (main): * src/lisp.h (init_editfns): Adjust to init_editfns API change. 2015-07-26 Shigeru Fukaya Fix infinite loop in delete-consecutive-dups * lisp/subr.el (delete-consecutive-dups): Work even if the last element is nil (Bug#20588). Avoid rescan of a circular list in deletion of last element. 2015-07-26 Martin Rudalics Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132) * src/nsfns.m (Fx_frame_geometry): * src/xfns.c (Fx_frame_geometry): Return nil for initial and terminal frames. * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect) (Fx_frame_geometry): Return nil for terminal frames 2015-07-26 HOSOYA Kei (tiny change) * etc/tutorials/TUTORIAL.ja: Improve translation. 2015-07-25 Eli Zaretskii Avoid crashes when w32 GUI functions are called in -batch * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect) (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call FRAME_W32_WINDOW for initial frame. (Bug#21132) Fix flyspell-check-previous-highlighted-word * lisp/textmodes/flyspell.el (flyspell-check-previous-highlighted-word): Really accept a numeric argument, as the doc string describes. Fix an off-by-one error in looking up overlays, so invocation with point immediately after a word would check that word. Clarify the doc string as Suggested by N. Jackson . (Bug#21129) 2015-07-24 Michael Albinus Minor cleanup in tramp-tests.el * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*): Implement using the documented interface `tramp-connection-properties', rather than with internal functions. 2015-07-24 Harald Hanche-Olsen (tiny change) Pass lambdas to `skeleton-read' * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function. * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass lambdas to `skeleton-read' (bug#20386). 2015-07-24 Eli Zaretskii * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick. Don't require GUI frames and mouse for Flyspell menus * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point) (flyspell-emacs-popup): Require neither a GUI frame nor mouse support, since pop-up menus work with text terminals and can be controlled via the keyboard. Improve documentation of Flyspell commands * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that can be invoked via the keyboard. Mention those commands by name and add them to the fn index. (Bug#21125) 2015-07-23 Michael Albinus Fix some Tramp problems with HP-UX * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Add "tab0" to stty call. * test/automated/tramp-tests.el (tramp-persistency-file-name): Set to nil. (tramp--test-hpux-p): New defun. (tramp--test-utf8): Use it. 2015-07-22 Glenn Morris * build-aux/update-subdirs: Put "no-update-autoloads: t" in output. 2015-07-22 Eli Zaretskii Fix point positioning in ffap-next-guess * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region, as our callers expect. This was clobbered as part of fixing bug#5673. (Bug#21107) (ffap-gopher-at-point): Set ffap-string-at-point-region. 2015-07-22 Martin Rudalics Fix customization type of `even-window-sizes'. * lisp/window.el (even-window-sizes): Fix customization type. Optionally even widths of `display-buffer' windows. (Bug#21100) * lisp/window.el (quit-restore-window): Restore width if requested. (display-buffer-record-window): Record width when window is reused and horizontally combined. (even-window-sizes): New option to allow evening window widths. (even-window-heights): Defalias to `even-window-sizes'. (window--even-window-heights): Rename to `window--even-window-sizes'. Handle side-by-side windows. (display-buffer-use-some-window): Call `window--even-window-sizes' instead of `window--even-window-heights'. * lisp/help.el (resize-temp-buffer-window): Fix indentation. * doc/lispref/windows.texi (Choosing Window Options): Describe `even-window-sizes'. (Coordinates and Windows): Fix typo. 2015-07-22 Stephen Leake add file name to autoload error messages. * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case to add file name to error message. 2015-07-22 Michael Albinus Use 0.0.0.1 as test host in Tramp * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Use 0.0.0.1 as test host. 2015-07-21 Stefan Monnier (advice--called-interactively-skip): Fix inf-loop (bug#21083) * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip): Fix inf-loop (bug#21083). 2015-07-21 Glenn Morris * test/automated/package-test.el (package-test-signed): Update for recent changes. * test/automated/elisp-mode-tests.el (elisp-xref-finds-both-function-and-variable) (elisp-xref-finds-only-function-for-minor-mode): Update for recent xref name changes. 2015-07-21 Dmitry Gutov Make eldoc timer non-repeatable * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer non-repeatable. Since it's on post-command hook, that just wasted CPU cycles. 2015-07-21 Michael Albinus Mention `tramp-connection-properties' in NEWS Sync with Tramp repository * doc/misc/tramp.texi (Configuration): Note, that Tramp must be required prior changing its configuration. (Connection caching, Predefined connection information) (Remote shell setup): Fix typos. (Predefined connection information): Describe, how to overwrite parameters of `tramp-methods'. (Remote programs, Remote processes, Traces and Profiles): Simplify example. (Remote programs): Remove superfluous comment. * doc/misc/trampver.texi: Update release number. * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring. * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun. (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it. (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling, "gvfs-mkdir -p ..." does not work robust. (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call. * lisp/net/tramp-sh.el (tramp-methods): Add `tramp-remote-shell-login' parameter where it fits. (tramp-get-remote-path): Use it. (tramp-make-copy-program-file-name): Fix quoting for "psftp" method. (all): Adapt `tramp-get-method-parameter' calls. * lisp/net/tramp.el (tramp-methods): Adapt docstring. (tramp-get-method-parameter): Replace argument METHOD by VEC. Check also for hits in `tramp-connection-properties'. Adapt docstring. (tramp-get-remote-tmpdir): Cache only the local name of tmpdir. (all): Adapt `tramp-get-method-parameter' calls. * lisp/net/trampver.el Update release number. * test/automated/tramp-tests.el (tramp--instrument-test-case): Add "^make-symbolic-link not supported$" to `debug-ignored-errors'. (tramp-test13-make-directory, tramp--test-adb-p) (tramp--test-smb-or-windows-nt-p): Simplify. (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns. (tramp--test-special-characters): Fix docstring. Add gvfs and ftp tests. (tramp--test-utf8): Fix docstring. 2015-07-20 Dmitry Gutov Add new xref-query-replace command * lisp/progmodes/xref.el (xref--match-buffer-bounds): New function, extracted from xref-pulse-momentarily. (xref-query-replace): New command. (xref--query-replace-1): New helper function. (xref--xref-buffer-mode-map): Add `r' binding. 2015-07-20 Paul Eggert Simplify icalendar decoding of Z dates * lisp/calendar/icalendar.el (icalendar--decode-isodatetime): Simplify calculation of time strings with trailing "Z". 2015-07-19 Dmitry Gutov Do not corrupt grep-find-ignored-files * lisp/progmodes/project.el (project-ignores): Change the order of the arguments to nconc, in order not to corrupt grep-find-ignored-files. Add xref-match-item, and use it * lisp/progmodes/xref.el (xref-match-bounds): New generic function. (xref-file-location): Add reader for the column slot. (xref-match-item): New class. (xref-match-bounds): A method implementation for it. (xref-make-match): New constructor function. (xref--current-item): New private variable. (xref-pulse-momentarily): Use it. (xref--pop-to-location): Change the first argument to an xref item, instead of location, bind xref--current-item. Update all callers. (xref-next-line, xref-prev-line, xref--next-error-function) (xref--mouse-2): Look for the property `xref-item', instead of `xref-location'. (xref--item-at-point): Likewise. This function replaces `xref-location-at-point'. Update all callers. (xref--insert-xrefs): Add the `xref-item' text property, instead of `xref-location'. (xref--collect-match): Use xref-make-match. Rename xref--xref to xref-item * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'. Update all references. Rename xref description slot to summary * lisp/progmodes/xref.el (xref--xref): Rename the `description' slot to `summary'. vc-hg: Perform the print-log call asynchronously * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call asynchronously (bug#21067). Add xref-after-jump-hook and xref-after-return-hook * lisp/progmodes/xref.el (xref-after-jump-hook) (xref-after-return-hook): New hooks. (xref-pulse-on-jump): Remove, in favor of the above. (xref-pulse-momentarily): Rename from xref--maybe-pulse. (xref--pop-to-location, xref--display-position) (xref-pop-marker-stack): Use the new hooks, as requested in http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html 2015-07-19 Bozhidar Batsov Correct js-mode's lighter * lisp/progmodes/js.el (js-mode): Correct the lighter. 2015-07-19 Leo Liu Fix a bug in cfengine3-mode * progmodes/cfengine.el (cfengine3-mode): Handle nil eldoc-documentation-function. 2015-07-18 Julien Danjou sieve-mode: support "body" test command * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords): Add missing "body" test command. 2015-07-18 Eli Zaretskii Fix info-apropos when the default encoding is Latin-N * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to 'undecided', so that it is set to the encoding of the Info file we are about to insert. Otherwise, 'info-apropos' will fail to find some index nodes in some UTF-8 encoded files, if the buffer's previous encoding is Latin-N or some such. 2015-07-18 Ivan Andrus * epg.el (epg--start): Check that gpgconf can be found before calling it. Expose more file types to OS X that Emacs understands. * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx, json, and org files. Export UTIs for el, elc, and org files. 2015-07-18 Eli Zaretskii Fix visual-order cursor movement when lines are truncated * src/xdisp.c (Fmove_point_visually): When lines are truncated, simulate display in a window of infinite width, to allow move_it_* functions reach positions outside of normal window dimensions. Remove code that tried to handle a subset of these situations by manual iteration of buffer text. (Bug#17777) Fix following Info cross-references to anchors * lisp/info.el (Info-read-subfile): Add to the returned value the length of subfile preamble, after converting it to file's byte offset, as expected by the caller. Use bufferpos-to-filepos. (Info-find-node-2): If searching for a node with a 1000-character slop fails, try again with a 10000-character slop, to account for known bugs in Texinfo 5.0 and 5.1. (Bug#21055) * lisp/international/mule-util.el (bufferpos-to-filepos): New function. * etc/NEWS: Mention bufferpos-to-filepos. Fix scrolling backwards on TTY frames under scroll-conservatively * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error in moving backwards on TTY frames. (Bug#21080) 2015-07-17 Dmitry Gutov Consider a jsdoc tag to be a beginning of a paragraph as well * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to consider a jsdoc tag to be a beginning of a paragraph as well. 2015-07-17 Artur Malabarba * lisp/emacs-lisp/package.el: Fix warnings * lisp/emacs-lisp/package.el (package-buffer-info): Add author and maintainers to `package-buffer-info'. * lisp/emacs-lisp/package.el: Many small changes Replace all instances of 'face with 'font-lock-face. (describe-package-1): Improve some strings and move the summary up the list. (package-install-file): Update docstring. (package-menu-hide-package): Bind to `H'. * lisp/emacs-lisp/package.el (package--with-work-buffer-async): Fix error handling. 2015-07-17 Paul Eggert Fix hang with large yanks This should fix the bug fixed by Mike Crowe's patch in: https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html A problem in this area has been reported by several users; see Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283. This fix differs from Mike Crowe's patch in that it should avoid a race condition that could lose SIGIO signals. ignore_sigio dates back to the 1980s when some platforms couldn't block signals, and could only ignore them, which led to races when signals arrived while being ignored. We shouldn't have to worry about those old platforms now. * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove. * src/emacs.c (shut_down_emacs): Don't call ignore_sigio; unrequest_sigio should suffice. * src/keyboard.c (kbd_buffer_store_buffered_event): Use unrequest_sigio, not ignore_sigio. (kbd_buffer_get_event): Call request_sigio when getting the ball rolling again. 2015-07-17 Artur Malabarba * lisp/obsolete/longlines.el (longlines-search-function): Fallback on `isearch-search-fun-default'. 2015-07-17 Tassilo Horn Support @-mentions * rcirc.el (rcirc-completion-at-point): Support completion of mentions/messages with @nick instead of just nick. 2015-07-16 Michael Albinus Fix Bug#20943. * lisp/autorevert.el (auto-revert-handler): Do not check for `buffer-modified-p'. * lisp/files.el (buffer-stale--default-function): Check for `buffer-modified-p'. * test/automated/auto-revert-tests.el (auto-revert-test02-auto-revert-mode-dired): Adapt test. 2015-07-16 Ari Roponen Fix delete-dups bug on long lists * lisp/subr.el (delete-dups): Don't mistakenly keep some dups when applied to long lists. 2015-07-16 Paul Eggert Better heuristic for C stack overflow Improve the heuristic for distinguishing stack overflows from other SIGSEGV causes (Bug#21004). Corinna Vinschen explained that the getrlimit method wasn't portable to Cygwin; see: https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html Corinna suggested pthread_getattr_np but this also has problems. Instead, replace the low-level system stuff with a simple heuristic based on known good stack addresses. * src/eval.c, src/lisp.h (near_C_stack_top): New function. * src/sysdep.c: Don't include . (stack_direction): Remove. All uses removed. (stack_overflow): New function. (handle_sigsegv): Use it instead of incorrect getrlimit heuristic. Make SEGV fatal in non-main threads. 2015-07-16 Daiki Ueno epg: Automatically start pinentry server * epg-config.el (epg-gpgconf-program): New variable. * epg.el (epg--start): Call `pinentry-start' if allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf. 2015-07-15 Katsumi Yamaoka * lisp/gnus/nnimap.el: Fix my last bogus change Reinstall Stefan Monnier's change that was made in <83d824bc4041332f338ad7e5e830f443535aa300>. 2015-07-15 Paul Eggert Merge from gnulib This incorporates: 2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls 2015-07-05 acl-permissions: Fix on FreeBSD 2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c: * lib/set-permissions.c: Copy from gnulib. Port to stricter C99 * src/keyboard.h (kbd_buffer_store_event_hold): Don't return a void expression. 2015-07-15 Xue Fuqiao * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs. 2015-07-14 Michael Albinus New autorevert tests. * test/automated/auto-revert-tests.el: New file. 2015-07-14 Paul Eggert Clear gcprolist etc. after stack overflow After stack overflow, command_loop calls init_eval, and this needs to clear gcprolist and byte_stack_list (Bug#20996). * src/alloc.c (init_alloc): Move gcprolist and byte_stack_list initialization from here ... * src/eval.c (init_eval): ... to here. 2015-07-13 Xue Fuqiao * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'. 2015-07-13 YAMAMOTO Mitsuharu Avoid deprecated enums in mac-ct font backend driver * src/macfont.m (mac_font_copy_default_descriptors_for_language) (mac_ctfont_get_advance_width_for_glyph) (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums. Cache font family in mac-ct font backend driver * src/macfont.m (macfont_family_cache): New variable. (syms_of_macfont): Initialize it. (macfont_available_families_cache): New variable. (macfont_invalidate_family_cache, macfont_get_family_cache_if_present) (macfont_set_family_cache, macfont_invalidate_available_families_cache) (macfont_handle_font_change_notification) (macfont_init_font_change_handler) (macfont_copy_available_families_cache): New functions. (macfont_create_family_with_symbol): Use font family caches. (macfont_list, macfont_list_family): Use macfont_copy_available_families_cache instead of mac_font_create_available_families. 2015-07-12 Dmitry Gutov Show the default value in the prompt * lisp/progmodes/xref.el: Add `M-?' binding for xref-find-references. Declare functions `grep-read-files' and `grep-expand-template'. (xref--read-identifier): Show the default value in the prompt. When called with prefix argument, ask for file patterns to search as well * lisp/progmodes/xref.el (xref-find-regexp): When called with prefix argument, ask for file patterns to search as well. When prompting for the directory, require an existing one. (xref-collect-matches): Add a new argument, FILES. Use it in the above function. Add `project-ignores' * lisp/progmodes/project.el (project-ignores): New generic function, and an implementation for the VC project type. * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a variant of rgrep-default-command that handles a generic list of ignores. (xref-collect-matches): Use it, and pass through to it the value of the newly added argument. (xref-find-regexp): Handle ignored paths within the project. Remove outdated comment. * lisp/vc/vc.el (vc-default-ignore-completion-table): Skip the comments and the empty lines. 2015-07-12 Xue Fuqiao * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference. 2015-07-11 Eric Abrahamsen gnus-registry.el: Correct function argument order * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark): Reverse the order of function arguments. 2015-07-11 Dmitry Gutov Bind grep-highlight-matches to nil * lisp/progmodes/xref.el (xref-collect-matches): Bind grep-highlight-matches to nil (bug#20728). 2015-07-11 Nikolaus Rath nnimap.el: Fix IMAP message size parsing * lisp/gnus/nnimap.el (nnimap-transform-headers): Don't assume that UID comes before RFC822.SIZE. 2015-07-10 Stefan Monnier * lisp/gnus/nnimap.el: Clean up "unused var" warnings (auth-source-creation-prompts): Declare. (nnimap-retrieve-headers, nnimap-status-message) (nnimap-request-create-group, nnimap-request-delete-group) (nnimap-close-group, nnimap-request-move-article) (nnimap-request-accept-article, nnimap-request-newgroups) (nnimap-request-post, nnimap-dummy-active-number) (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars. (nnimap-parse-flags): Remove unused var `p'. (nnimap-retrieve-group-data-early): Remove unused var `groups'. (nnimap-flags-to-marks): Remove unused var `totalp'. 2015-07-10 Andy Moreton (tiny change) * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB. 2015-07-10 YAMAMOTO Mitsuharu * src/macfont.m (macfont_list): Ignore font families lacking font descriptors. 2015-07-09 Dmitry Gutov Don't check the exit status, it can be misleading * lisp/progmodes/xref.el (xref-collect-matches): Don't check the exit status, it can be misleading. Introduce a Project API * lisp/progmodes/project.el: New file. * lisp/cedet/ede.el: (project-try-ede): New function. (project-root): New implementation. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Set project-search-path-function. (elisp--xref-find-references): Delegate some logic to project-search-path. (elisp-search-path): New function. (elisp-xref-find): Don't implement `matches' anymore. * lisp/progmodes/etags.el: Don't implement `matches'. Delegate some logic to project-search-path. (etags-search-path): New function. * lisp/progmodes/xref.el (xref-find-function): Remove `matches' from the API. (xref-find-regexp): Move whatever common logic was in elisp and etags implementations, and search the directories returned by project-directories and project-search-path. 2015-07-09 Nicolas Petton * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test. Add support for gv.el in map.el * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander. * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'. * test/automated/map-tests.el: Update tests to work with the new implementations of map-elt and map-put. 2015-07-09 Glenn Morris * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol. 2015-07-09 Dmitry Gutov Syntax-propertize until the end of the line first * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize until the end of the line first. 2015-07-09 Xue Fuqiao * doc/emacs/files.texi (File Archives): Add a cross reference. 2015-07-08 Nikolaus Rath nnimap.el: Handle plain value for nnimap-stream * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query capabilities, so that a 'plain value for the `nnimap-stream' server variable is handled correctly. * doc/misc/gnus.texi (Customizing the IMAP Connection): Document the 'plain option. 2015-07-08 Leo Liu Fix bug in thing-at-point--bounds-of-well-formed-url * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make sure boundary contains current point. 2015-07-08 Dmitry Gutov * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end. Declare whitespace-line-column a safe file-local * lisp/whitespace.el (whitespace-line-column): Declare to be a safe file-local when the value is an integer. 2015-07-08 Eric Abrahamsen gnus-group.el: Check if group names are already strings * lisp/gnus/gnus-group.el (gnus-group-group-name): The group name may already be a string. Specifically, in the group list reached from the *Server* buffer, the 'gnus-group text property returns a string. Everywhere else it returns a symbol. nnimap.el: Remove unused let variables * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used. 2015-07-08 Eli Zaretskii Support "maximized" property of runemacs's shortcut * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass the '--maximized' switch to Emacs. Support "minimized" property of runemacs's shortcut * nt/runemacs.c (WinMain): If runemacs is invoked "minimized", pass the '--iconic' switch to Emacs. (Bug#20991) 2015-07-08 Xue Fuqiao Doc fixes * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c C-w' in Diff mode. * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu): Add a cross reference. 2015-07-08 Nicolas Richard * lisp/obsolete/landmark.el: Add Obsolete-since header 2015-07-07 Glenn Morris * test/automated/ert-tests.el (ert-test-deftest): Update for recent changes. 2015-07-07 Stefan Monnier (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros * lisp/emacs-lisp/gv.el (gv-setter): New function. (gv-invalid-place): New error. (gv-get): Use them. (gv-synthetic-place, gv-delay-error): New places. * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove. (cl-defgeneric, cl-defmethod): Use gv-setter. 2015-07-07 Fabrice Popineau Make vc-tests work with MSYS svn program * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when svn is an MSYS program. 2015-07-07 Ken Brown Improve recent change to emacsclient on Cygwin * lisp/server.el (server-process-filter): Remove redundant check that 'cygwin-convert-file-name-from-windows' is defined as a function on Cygwin. Don't call that function unless its argument starts with a drive letter. 2015-07-07 Artur Malabarba * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix Fix void variable due to `found-something' being in the wrong `let'. 2015-07-07 Nicolas Richard * lisp/play/landmark.el: Move to lisp/obsolete/ 2015-07-07 Martin Rudalics Have `x-show-tip' handle `right' and `bottom' frame parameters. * src/nsfns.m (compute_tip_xy, Fx_show_tip) * src/w32fns.c (compute_tip_xy, Fx_show_tip) * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning tooltips also via `right' and `bottom' frame parameters. 2015-07-07 Stefan Monnier Add online-help support to describe types * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el. (describe-symbol): Improve the selection of default. * lisp/help-mode.el: Require cl-lib. (describe-symbol-backends): Move from help-fns.el. (help-make-xrefs): Use it. * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry for types. (cl--typedef-regexp): New const. (find-function-regexp-alist): Add entry for types. (cl-help-type, cl-type-definition): New buttons. (cl-find-class): New function. (cl-describe-type): New command. (cl--describe-class, cl--describe-class-slot) (cl--describe-class-slots): New functions, moved from eieio-opt.el. * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation) (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p): New functions. Moved from eieio-opt.el. (cl--generic-class-parents): New function, extracted from cl--generic-struct-specializers. (cl--generic-struct-specializers): Use it. * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist. Improve constructor's docstrings. (cl-struct-unknown-slot): New error. (cl-struct-slot-offset): Use it. * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type definition in current-load-list. * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var. (eieio--add-new-slot): Set it. (eieio-defclass-internal): Use new name for current-load-list. (eieio-oref): Add compiler-macro to warn about unknown slots. * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names as compile-time as well. Improve constructor docstrings. * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el. (eieio-class-def): Remove button. (eieio-help-constructor): Use new name for load-history element. (eieio--specializers-apply-to-class-p, eieio-all-generic-functions) (eieio-method-documentation): Move to cl-generic.el. (eieio-display-method-list): Use new names. * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add "define-linline". (lisp-fdefs): Remove "defsubst". (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline". * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var. (macroexp--warn-and-return): Use it to avoid inf-loops. Add `compile-only' argument. 2015-07-06 Fabián Ezequiel Gallina python.el: Fix local/remote shell environment setup * lisp/progmodes/python.el (python-shell-with-environment): Fix remote/local environment setup. * test/automated/python-tests.el (python-shell-with-environment-1) (python-shell-with-environment-2): New tests. 2015-07-06 Glenn Morris * lisp/simple.el (set-variable): Tweak recent doc fix. 2015-07-06 Ken Brown * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE 2015-07-06 Glenn Morris * lisp/simple.el (set-variable): Use user-error for type mismatch. 2015-07-06 Ken Brown * src/emacs.c (main): Don't increase the stack size on Cygwin 2015-07-06 Stefan Monnier (describe-symbol): Rewrite describe-function-or-variable * lisp/help-fns.el (describe-symbol-backends): New var. (help-xref-stack-item): Declare. (describe-symbol): Rename from describe-function-or-variable. Rewrite using describe-symbol-backends instead of help-xref-interned. * lisp/help.el (help-map): Use it. * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it. (help-xref-interned): Make it into an obsolete alias. (eieio-persistent-save): Don't ignore `file' arg (bug#20972) * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore `file' arg. Always use utf-8-emacs. Use with-temp-buffer and cl-letf. 2015-07-06 Wolfgang Jenkner Fix parsing glitches in dired-mark-sexp (bug#13575) * lisp/dired-x.el (dired-x--string-to-number): New function. (dired-mark-sexp): Use it. Tweak dired-re-inode-size. Fix usage of directory-listing-before-filename-regexp. Consider forward-word harmful and replace it. Add more verbiage in comments and doc string. 2015-07-06 Fabián Ezequiel Gallina python.el: Respect process environment for remote shells * lisp/progmodes/python.el (python-shell-calculate-process-environment): Calculate process-environment or tramp-remote-process-environment depending whether current file is remote. (python-shell-calculate-exec-path): Calculate exec-path or tramp-remote-path depending whether current file is remote. (python-shell-with-environment): New macro. (python-shell-prompt-detect, python-shell-calculate-command) (python-shell-make-comint, python-check): Use it. python.el: Avoid making let-bound defvars buffer local (Bug#18244) * lisp/progmodes/python.el (python-shell--interpreter) (python-shell--interpreter-args): New vars. (inferior-python-mode, python-shell-make-comint): Use them. python.el: Fixes for IPython 3.x (Bug#20580) * lisp/progmodes/python.el: (python-shell-completion-native-setup): Fix IPython 3.x setup. (python-shell-completion-native-get-completions): Fix timeout logic. python.el: Fix mark-defun behavior (Bug#19665) * lisp/progmodes/python.el: (python-mark-defun): New function. * test/automated/python-tests.el (python-mark-defun-1) (python-mark-defun-2, python-mark-defun-3): New tests. 2015-07-05 Glenn Morris * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists such as "extends(parent), private". (Bug#20969) * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b): New tests. 2015-07-05 Paul Eggert Avoid duplicate calls to current_timespec * src/process.c (wait_reading_process_output): Cache current_timespec results as long as we're not waiting. 2015-07-05 Ian Kelling Avoid returning early reading process output due to SIGIO * src/process.c (wait_reading_process_output): Extend the behavior of not breaking due to not finding output when a timer has lowered the timeout to include when SIGIO lowers the timeout. Don't return as fast reading any process output * src/process.c (wait_reading_process_output): The patch for Bug#17647 returns too fast sometimes when reading from any processes. Revert part of it, and limit the timeout more sensibly (Bug#20978). Refactor timeouts in wait_reading_process_output * src/process.c (wait_reading_process_output): Simplify timeouts with an enum. Remove a redundant condition. (Bug#20978) Remove ADAPTIVE_READ_BUFFERING ifdef * src/process.c (make-process, make-pipe-process, deactivate_process) (wait_reading_process_output, read_process_output, send_process) (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally added in case there was an operating system in which it was not useful. That was 11 years ago and it hasn't happened. Make development easier by not considering the effect of changes on a theoretical OS where this is disabled (Bug#20978). 2015-07-05 Glenn Morris * lisp/simple.el (set-variable): Doc fix. * lisp/progmodes/fortran.el (fortran-line-length): Doc fix. 2015-07-05 Ian Kelling accept-process-output fix This is a followon to the fix for Bug#17647 (Bug#20976). * src/process.c (status_notify): Fix too high return in some cases. 2015-07-05 Artur Malabarba * lisp/character-fold.el (character-fold-table): Only fold decompositions if at least one character is non-spacing. (Bug#20975) 2015-07-05 Paul Eggert Merge from gnulib This incorporates: 2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos 2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard 2015-07-02 update-copyright: fix test failure with perl >= 5.22 2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr' 2015-07-01 acl: fix definition of acl_from_mode on FreeBSD * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h: * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib. 2015-07-05 Christoph Wedler Respect `prog-indentation-context' in python.el * lisp/progmodes/python.el (python-indent-guess-indent-offset) (python-indent-context, python-indent--calculate-indentation) (python-info-current-defun) (python-info-dedenter-opening-block-message) (python-info-line-ends-backslash-p) (python-info-beginning-of-backslash) (python-info-continuation-line-p): Use `prog-widen'. (python-indent--calculate-indentation) (python-indent--calculate-levels) (python-indent-calculate-indentation): Use `prog-first-column'. (python-indent--calculate-levels): Simplify. Ignore also initial empty lines for syntax calculation. * lisp/progmodes/python.el (python-indent-context): Return :no-indent for first non-empty line, not just in line 1. * test/automated/python-tests.el (python-indent-base-case) (python-indent-inside-paren-1, python-indent-inside-paren-2) (python-indent-inside-paren-3, python-indent-inside-paren-4) (python-indent-inside-paren-5, python-indent-inside-paren-6) (python-indent-after-backslash-1) (python-indent-after-backslash-2) (python-indent-after-backslash-3) (python-indent-after-backslash-4, python-indent-inside-string-1): Expect :no-indent for first non-empty line. 2015-07-04 Daniel Colascione Factor isearch word description into new function * lisp/isearch.el (isearch--describe-word-mode): New function. (isearch-message-prefix, isearch-query-replace): Use it. 2015-07-04 Eli Zaretskii Fix mouse pointer on w32 when a menu is active * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer shape while a menu is in use. This started happening since we now send WM_EMACS_SHOWCURSOR messages when the mouse moves. 2015-07-04 Martin Rudalics Fix processing of alpha parameter for Windows tip frames (Bug#17344) * src/w32fns.c (x_create_tip_frame): Fix processing alpha parameter. (Bug#17344) Have `compilation-set-window' use right window for getting fringes (Bug#20829) * lisp/progmodes/compile.el (compilation-set-window): Take `window-fringes' from argument window. (Bug#20829) 2015-07-03 Glenn Morris Update eieio tests for recent eieio-core change. * test/automated/eieio-test-persist.el (persist-test-save-and-compare): * test/automated/eieio-tests.el (eieio-test-32-slot-attribute-override-2): Replace the deleted eieio--class-v with cl--find-class. 2015-07-03 Martin Rudalics Fix some issues with `window-divider-mode' * lisp/frame.el (window-divider-default-places): New option. (window-divider-mode): Remove option. (window-divider-mode): Make it a "regular" minor mode. (window-divider-width-valid-p): Drop frame- prefix. (window-divider-mode-apply): New argument ENABLE. Drop frame- prefix. Handle `window-divider-default-places'. (frame--window-divider-mode-set-and-apply): Remove. (window-divider-default-bottom-width) (window-divider-default-right-width): Drop :group entries. * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider) (menu-bar-right-window-divider, menu-bar-bottom-window-divider) (menu-bar-no-window-divider): Set `window-divider-default-places' and call `window-divider-mode'. * doc/emacs/frames.texi (Window Dividers): Document `window-divider-default-places'. 2015-07-02 Xue Fuqiao Add cross references in documentation * doc/emacs/display.texi (Displaying Boundaries): * doc/emacs/search.texi (Word Search): Add cross references. 2015-07-02 Paul Eggert -batch should not affect ‘’ -> `' display * lisp/startup.el (command-line): Do the ‘’ -> `' check even if -batch (Bug#20926). 2015-07-02 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el: Use cl--find-class instead. * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951). 2015-07-02 Martin Rudalics Some further fixes in Change Window node. (Bug#20183) * doc/emacs/windows.texi (Change Window): Replace "rearranging" by "resizing" in section title. Add some concept indices. Suggested by N. Jackson (Bug#20183). Reference window dividers in Change Window section. * doc/emacs/windows.texi (Change Window): Reference window dividers. Document new `window-divider-mode'. * lisp/frame.el (window-divider-mode): Fix doc-string. * doc/emacs/frames.texi (Window Dividers): New section. Improve accessibility of window dividers. (Bug#20183) * lisp/faces.el (window-divider) (window-divider-first-pixel, window-divider-last-pixel): Change membership from `frames' to `window-divider' customization group. * lisp/frame.el (window-divider): New customization group. (window-divider-mode): New minor mode. (window-divider-default-bottom-width) (window-divider-default-right-width): New options. (frame--window-divider-previous-mode): New variable. (frame-window-divider-width-valid-p) (frame--window-divider-mode-apply) (frame--window-divider-mode-set-and-apply): New functions. * lisp/menu-bar.el (menu-bar-options-save): Save window-divider-mode settings. (menu-bar-window-divider-customize) (menu-bar-bottom-and-right-window-divider) (menu-bar-right-window-divider, menu-bar-bottom-window-divider) (menu-bar-no-window-divider): New functions. (menu-bar-showhide-window-divider-menu): New variable. (menu-bar-showhide-menu): Show/hide window divider menu. * lisp/mouse.el (mouse-split-window-vertically) (mouse-split-window-horizontally): Replace `error' by `user-error'. Bind `window-combination-resize' to nil. (top-level): Add/reorder mouse key bindings on mode- and vertical-line. 2015-07-02 Paul Eggert Don't display ‘’ as `' under X in en_GB The curved quote setup code invokes (char-displayable-p ?‘), but this isn’t reliable until after the X frame replaces the terminal frame (Bug#20926). * lisp/international/mule-cmds.el (set-locale-environment): Move curved quote setup code from here ... * lisp/startup.el (command-line): ... to here, after creating the X frame. 2015-07-01 Nicolas Richard * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring Add argument to reverse the meaning of ido-restrict-to-matches * lisp/ido.el (ido-restrict-to-matches): Add an optional argument to reverse the meaning (Bug#15631). 2015-07-01 Eli Zaretskii Be more tolerant to fonts named "Foobar-12" * src/frame.c (x_set_font): If font_spec_from_name returns nil, don't barf; instead, request a new fontset to be generated. This avoids unnecessarily rejecting fonts named against XLFD rules. See http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html, for the description of the original problem. * lisp/faces.el (set-face-attribute): Don't be fooled too easily by a hyphen in a font's name. Fix value of posn-at-pont in R2L lines * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel coordinate of -1, for a newline in a right-to-left line that overflowed into the left fringe. 2015-07-01 Stefan Monnier (cl--copy-slot-descriptor): Copy the `props' alist as well * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1): Rename from cl--copy-slot-descriptor. (cl--copy-slot-descriptor): New function. Copy the alist (bug#20914). 2015-06-30 Stefan Monnier * lisp/term/xterm.el (xterm--query): Avoid generating garbage (xterm-query-timeout): New var. (xterm--query): Use it. Fallback on async method if we timeout before getting the first byte of the reply (bug#12354). 2015-06-30 Paul Eggert Spelling fixes 2015-06-30 Xue Fuqiao * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946) 2015-06-30 Paul Eggert In strings, prefer plain ` and ' to \` and \' * lisp/allout.el (allout-insert-listified): * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): * lisp/ls-lisp.el (ls-lisp-UCA-like-collation) (ls-lisp-string-lessp): * lisp/menu-bar.el (menu-bar-open): * lisp/obsolete/otodo-mode.el (todo-top-priorities): * lisp/progmodes/compile.el (compile): * lisp/progmodes/etags.el (tags-loop-scan): * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation): * lisp/subr.el (posn-actual-col-row): * lisp/term/pc-win.el (x-list-fonts): * lisp/textmodes/texinfmt.el (texinfmt-version): * lisp/textmodes/texnfo-upd.el (texinfo-master-menu): * lisp/time.el (display-time-world-list): * lisp/tmm.el (tmm-menubar): * src/buffer.c (syms_of_buffer): * src/fileio.c (syms_of_fileio): Omit unnecessary and confusing backslash before quote. * lisp/erc/erc.el (erc-cmd-LASTLOG): * lisp/progmodes/flymake.el (flymake-fix-file-name): * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p): Fix string that was intended to escape a backslash and not a quote. 2015-06-30 Glenn Morris * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition. * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC): Replace hard-coded lists with wildcard + filter-out. * configure.ac (system-configuration-features): Add X11, NS. Improve reproducibility of generated loaddefs file. * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads): Make the return value the modtime of the input file (if no autoloads). (update-directory-autoloads): In the "no autoloads" section, use "most recent modtime" rather than "current time". 2015-06-30 Artur Malabarba * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic (Bug#20930) 2015-06-30 Nicolas Petton * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max. Add seq-min and seq-max Bump version number. * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions. * test/automated/seq-tests.el: Add tests for seq-min and seq-max. 2015-06-30 Eli Zaretskii Make sure sleep-for always delays for as long as it's told * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in a loop, to ensure we always wait exactly the required amount of time. (Bug#15990) 2015-06-30 Paul Eggert Fix pointer signedness glitch * src/font.c (font_load_for_lface): Use SSDATA, not SDATA. 2015-06-30 Eli Zaretskii Don't block changes in mouse pointer inside 'track-mouse' * etc/NEWS: * doc/lispref/frames.texi (Mouse Tracking): Document the special effect of setting 'track-mouse' to 'dragging'. * lisp/textmodes/artist.el (artist-mouse-draw-continously): * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration): * lisp/mouse-drag.el (mouse-drag-throw): * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging' to avoid changes in the shape of the mouse pointer. * src/xdisp.c (define_frame_cursor1): Don't change the mouse pointer shape when do_mouse_tracking has the value of 'dragging', not just any non-nil value. (Bug#20934) (syms_of_xdisp): DEFSYM 'dragging'. 2015-06-30 Artur Malabarba * lisp/isearch.el (isearch-toggle-word): Fix toggle * lisp/emacs-lisp/package.el (package-compute-transaction): Don't assume version sorting. * lisp/emacs-lisp/package.el (package--save-selected-packages): Don't save before init time, to avoid overwriting configurations. (Bug#20855) 2015-06-30 Xue Fuqiao Add cross references. * doc/emacs/display.texi (Standard Faces, Fringes): Add cross references. 2015-06-29 Ted Zlatanov cfengine.el: update for the upcoming CFEngine 3.7 release Update for the upcoming CFEngine 3.7 release: support macros and quoted context strings; reformat JSON; indent promise attributes 2 units by default; give function parameter descriptions in the eldoc glue. * cfengine.el: Update version and docs and fix name. Autoload `json-pretty-print'. Support new features in 3.7. (cfengine-parameters-indent): Set default promise attribute indent to 2 more than the promise itself. (cfengine3-macro-regex): New variable to match the new macro syntax. (cfengine3-font-lock-keywords): Use it to highlight macros. (cfengine3-indent-line): Use it to indent macros to column 0. (cfengine3-class-selector-regex): Update for the new quoted strings format. (cfengine3-reformat-json-string): New function to reformat a JSON string using `json-pretty-print'. (cfengine3-format-function-docstring): Use function parameter description if it's provided by the cf-promises syntax dump. 2015-06-29 Michael R. Mauger Cygwin emacsclient handles w32 file names 2015-06-29 Katsumi Yamaoka * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925). 2015-06-29 Eli Zaretskii * doc/lispref/text.texi (Sticky Properties): Improve wording. (Bug#20924) Allow font names that end in "-NN", where NN is a number * src/font.c (font_load_for_lface): If the font-spec didn't match any available fonts, try again without interpreting trailing "-NN" as the font size. For the description of the original problem, see http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html .gdbinit followup to changes in !USE_LSB_TAG * src/.gdbinit (xgetsym): Don't left-shift $ptr even under !USE_LSB_TAG, as Emacs no longer does. 2015-06-29 Wolfgang Jenkner * lisp/calc-store.el (calc-insert-permanent-variable): Heed case. Otherwise `s p' of f and F will stomp on each other's value. (Bug#20916) 2015-06-29 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't block remember-pos if buffer isn't displayed. (Bug#20921) 2015-06-29 Nicolas Richard * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string 2015-06-28 Paul Eggert apropos-library quoting fix * lisp/apropos.el (apropos-library): Quote library consistently with the rest of the quoting used by apropos. Clarify interpreter-mode-alist doc * lisp/files.el (interpreter-mode-alist): Reword to avoid confusing quoting that wasn't working anyway. 2015-06-28 Michael Albinus Sync with Tramp 2.2.12 * doc/misc/trampver.texi: * lisp/net/trampver.el: Update release number. * test/automated/tramp-tests.el (tramp-test13-make-directory): Fix cleanup. 2015-06-28 Artur Malabarba * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913) 2015-06-27 Dmitry Gutov Bind grep-highlight-matches around the rgrep call * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches around the rgrep call (bug#20728). Put "--color" before the other options in grep-command * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color" before the other options in grep-command (bug#20912). Add --color Grep option to the command dynamically * lisp/progmodes/grep.el (grep-template, grep-find-template): Update the description for . (Bug#20728) (grep-compute-defaults): Don't add the --color option to grep-options. Only add it to grep-command. (grep-expand-keywords): Expand the env value opts into . (grep-expand-template): Replace cf in the env with the opts list, that can include -i and --color. * lisp/progmodes/xref.el (xref-collect-matches): Do not remove "--color=always" from the template, because we don't have to. 2015-06-27 Paul Eggert cl-extra fixes for most-negative-fixnum * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random): Don't mishandle an argument equal to most-negative-fixnum, whose absolute value equals itself. (cl-gcd, cl-lcm): Use dolist rather than doing it by hand. Initialize cl--gensym-counter to 0 Previously it was initialized to a random value, which made it harder to reproduce earlier Emacs runs. The need for a random value went away when Emacs introduced and used the #: syntax for uninterned symbols (Bug#20862). * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility): Document that cl--gensym-counter now starts with 0. * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove. (cl--random-time): Move to near only remaining use. * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0. Improve docstring for macroexp-let2 * lisp/emacs-lisp/macroexp.el (macroexp-let2): Improve as per suggestion by RMS in: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html Also, rename args to match new doc string. 2015-06-27 Eli Zaretskii Fix VC test suite on MS-Windows * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL always starts with 3 slashes after the colon. * test/automated/vc-tests.el (vc-test--create-repo-function): Use 'w32-application-type' to invoke CVS on MS-Windows with properly formatted CVSROOT directory name. Add a new function w32-application-type * src/w32proc.c (Fw32_application_type): New function. Avoid error in TLS connections due to incorrect format * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in the call to 'error', instead of the unsupported %u. Reported by lo2net . (Bug#20908) 2015-06-26 Artur Malabarba * lisp/replace.el (replace-search): Fix regexp case (bug#20901) 2015-06-26 Leo Liu Fix indentation for with-output-to-string * lisp/emacs-lisp/cl-indent.el: Fix indentation for `with-output-to-string' in elisp. Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string" This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd. 2015-06-26 Eli Zaretskii Minor corrections in ELisp manual * doc/lispref/nonascii.texi (Character Properties): Correct inaccuracies in description of values of the Unicode properties. Fix invisible mouse pointers on Windows. * src/w32fns.c: Include windowsx.h. (w32_wnd_proc): If the mouse moved and the mouse pointer is invisible, make it visible again even when the main (Lisp) thread is busy. * src/w32term.c (w32_toggle_invisible_pointer): Rather then garbaging the frame have the input thread call SetCursor. 2015-06-26 Martin Rudalics Provide invisible mouse pointers on Windows. (Bug#6105) (Bug#12922) * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible for WM_SETCURSOR and WM_EMACS_SETCURSOR cases. * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible. (w32_toggle_invisible_pointer): New function. (w32_create_terminal): Add w32_toggle_invisible_pointer as toggle_invisible_pointer_hook for this terminal. 2015-06-25 Xue Fuqiao Doc fix for deletion commands 'delete-char' does not respect the value of 'delete-active-region'. * doc/emacs/killing.texi (Deletion): Fix documentation for some single-char deletion commands. * doc/emacs/help.texi (Apropos): Improve documentation of 'apropos-do-all'. * doc/emacs/help.texi (Help Summary): Improve documentation of 'describe-mode'. 2015-06-25 Paul Eggert Fix submake dependency bug with .h files * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)): Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h before the submake in $(libsrc) would spin off a subsubmake for $(lib) in parallel with our submake for $(lib) (Bug#20894). 2015-06-25 Artur Malabarba * lisp/character-fold.el (character-fold-table): Reuse `table' 2015-06-25 Paul Eggert Translate undisplayable ‘ to ` * doc/lispref/help.texi (Keys in Documentation): * lisp/international/mule-cmds.el (set-locale-environment): * lisp/term/w32console.el (terminal-init-w32console): * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation): If ‘ is not displayable, transliterate it to `, not to '. See: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html Fix C99 incompatibilities in Cairo code * src/image.c (xpm_load) [USE_CAIRO]: * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]: Fix pointer signedness problem. 2015-06-25 Oleh Krehel lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function): `with-output-to-string' should have the same indent as `progn'. This is in line with the declaration of `with-output-to-string'. 2015-06-25 Paul Eggert Get ‘./configure; make -C src emacs’ to work Without this fix, lib/fcntl.h isn't built in time (Bug#20894). * lib-src/Makefile.in (../lib/libgnu.a): * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a. 2015-06-24 Paul Eggert Fix GC bugs --with-wide-int and Qnil == 0 Use the same alignment for the !USE_LSB_TAG case as for the more-typical USE_LSB_TAG case. The attempt to support arbitrary alignments with !USE_LSB_TAG had subtle bugs in garbage collection once we changed the representation of symbols so that Qnil == 0. Problem reported by Eli Zaretskii (Bug#20862). * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]: * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol) (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc): Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG. * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove. This optimization in the !USE_LSB_TAG case is no longer valid when symbols are represented via offsets. Change the only use to assume that pointers might hide in objects. * src/lisp.h (alignas) [!USE_LSB_TAG]: Require support in this case, too. (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset. This is OK, because the !USE_LSB_TAG case now applies only when Lisp_Object is wider than void *, so there's no longer any need to shift the offset. Not shifting the offset means that symbol representations have the same alignment as pointers, which the GC assumes. 2015-06-24 Xue Fuqiao * doc/lispintro/emacs-lisp-intro.texi (Data types): Improve documentation of 'substring'. 2015-06-24 Artur Malabarba * lisp/character-fold.el (character-fold-table): Fix table generation 2015-06-24 Glenn Morris * nextstep/Makefile.in (all): Make it the first target. (../src/emacs${EXEEXT}): Add rule for making it. 2015-06-24 Artur Malabarba * etc/NEWS: Fix mention to old function name * lisp/character-fold.el: New file (Bug#20887) (character-fold-to-regexp): New function. * lisp/replace.el (replace-search): Check value of `character-fold-search'. * lisp/isearch.el: Move character-folding code to character-fold.el (isearch-toggle-character-fold): New command. (isearch-mode-map): Bind it to "\M-sf". (isearch-mode): Check value of `character-fold-search'. 2015-06-24 Stefan Monnier * lisp/subr.el (remove-from-invisibility-spec): Handle the t case * lisp/subr.el (remove-from-invisibility-spec): Make sure `element' is visible even if it's not yet in buffer-invisibility-spec (bug#20468). * lisp/progmodes/xref.el: Avoid init-args in oref. * lisp/progmodes/xref.el (xref-location-group, xref-location-marker) (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref. 2015-06-24 Glenn Morris * Makefile.in (install-arch-dep): Don't set sticky bit on the binary. 2015-06-24 Stefan Monnier * lisp/gnus/nnmaildir.el: Silence lexical warnings * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more functional style. (nnmaildir--update-nov): Remove unused var `numdir'. (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups) (nnmaildir-request-group, nnmaildir-request-create-group) (nnmaildir-request-post, nnmaildir-request-move-article) (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args. (nnmaildir-get-new-mail, nnmaildir-group-alist) (nnmaildir-active-file): Declare. (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'. (nnmaildir-request-update-info): Remove unused vars `dotfile', `num', `mark', `end', `new-mark', and `mark-sym'. (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir', `nlist2'. (nnmaildir-request-expire-articles): Remove unused vars `article', `stop' and `nlist2'. (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and `end'. Use nnmaildir--article when dyn-binding is needed. Give the value directly in the `let' for `del-mark', `del-action', `add-action', and `set-action'. Don't use `add-to-list' on a local var. (nnmaildir-close-server): Declare those local vars that need to be dyn-bound. 2015-06-24 Paul Eggert * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local. Port selection info fix to clang * src/keyboard.h (kbd_buffer_store_event_hold): Don't assume C11 semantics for alignof (Bug#20756). Fix bug that munged selection info On some optimizing C compilers, copying a structure did not copy the padding bytes between elements, and the type punning between struct input_data and struct selection_input_data did not work. Change the C code to use a proper union type instead. Problem reported by YAMAMOTO Mitsuharu (Bug#20756). * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr) (readable_events, discard_mouse_events, kbd_buffer_events_waiting) (kbd_buffer_get_event, process_special_events, stuff_buffered_input) (mark_kboards): Use union buffered_input_event, not struct input_event. (clear_event, deliver_input_available_signal, process_special_events): Remove unnecessary forward decls. (kbd_buffer_store_buffered_event): New function, mostly just the old kbd_buffer_store_event_hold, except its argument is of type union buffered_input_event, not struct input_event. (kbd_buffer_unget_event): Define only if HAVE_X11, since it's not needed otherwise. Argument is now of type struct selection_input_event *, not struct input_event *. All callers changed. (clear_event): Arg is now of type union buffered_input_event *, not struct input_event *. All callers changed. * src/keyboard.h [HAVE_X11]: Include "xterm.h". (union buffered_input_event): New type. (kbd_buffer_store_event_hold): Now an inline function, defined here. * src/termhooks.h (EVENT_KIND_WIDTH): New constant. (struct input_event): Use it. * src/xselect.c (struct selection_event_queue): Make elements be of type struct selection_input_event, not struct input_event. (selection_input_event_equal): New static function. (x_queue_event): Use it. (x_queue_event, x_decline_selection_request) (x_selection_current_request, x_reply_selection_request) (x_handle_selection_request, x_handle_selection_clear) (x_handle_selection_event): Use struct selection_input_event, not struct input_event. All callers changed. (x_convert_selection): Omit unused first arg. All callers changed. (Fx_disown_selection_internal): Omit unnecessary union. * src/xterm.c (handle_one_xevent): Use new union buffered_input_event rather than rolling our own equivalent. Prefer sie.kind when setting up that kind of structure. Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold. * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH. (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO) (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION) (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY) (SELECTION_EVENT_TIME, x_handle_selection_event): Arg is now of type struct selection_input_event *) not struct input_event *. All callers changed. 2015-06-23 Glenn Morris * Makefile.in (install-arch-dep): Simplify with Make conditionals. 2015-06-23 Artur Malabarba * lisp/isearch.el: Fold many unicode characters to ASCII (isearch-character-fold-search, isearch--character-fold-extras) (isearch--character-fold-table): New variable. (isearch--character-folded-regexp): New function. (isearch-search-fun-default): Use them. * lisp/replace.el (replace-character-fold): New variable. (replace-search): Use it. * etc/NEWS: Document it. 2015-06-23 Glenn Morris Check for an input event before showing a dialog box. (Bug#20813) * lisp/subr.el (y-or-n-p): * src/fns.c (Fyes_or_no_p): Check last-input-event as well as last-nonmenu-event. 2015-06-23 Jürgen Hartmann (tiny change) Respect ‘switch-to-visible-buffer’ more rigidly. (Bug#20861) * lisp/window.el (switch-to-visible-buffer): Doc adjustment. (switch-to-prev-buffer, switch-to-next-buffer): Respect switch-to-visible-buffer independent of the windows history. 2015-06-23 Paul Eggert * src/keyboard.c (last_timer_event): Remove unused var. 2015-06-23 Artur Malabarba * test/automated/package-test.el (package-test-update-listing): Fix test. 2015-06-23 Glenn Morris Revert 2014-06-25 nextstep/Makefile change. * nextstep/Makefile.in (${ns_appbindir}): Remove rule. (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule, not as an order-only prerequisite. * configure.ac (--with-ns): Enable by default on OS X. 2015-06-23 Leo Liu Fix shell-for/backward-command to exclude spaces * lisp/shell.el (shell-forward-command, shell-backward-command): Handle the 'move case from re-search-forward/backward. fixes debbugs:20873 2015-06-22 Juri Linkov * lisp/replace.el (query-replace-read-from): Add separator to the local binding of text-property-default-nonsticky. (Bug#20690) * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'. (Bug#20785) 2015-06-22 Ken Brown Enable CPU profiling on Cygwin * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous change that undefined this. (SIGEV_SIGNAL): Ensure that this is defined as a macro. * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on Cygwin. Improve diagnostics of profiler-cpu-start * src/profiler.c (setup_cpu_timer): Change return type to 'int'; return -1 if the sampling interval is invalid. (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer' fails. (Bug#20843) 2015-06-22 Artur Malabarba * lisp/emacs-lisp/package.el: Exclude packages by name (package-hidden-regexps): New variable. (package-menu--refresh): Use it. (package-menu-hide-package): New command. * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding 2015-06-22 Eli Zaretskii Fix debug-timer-check on systems without HAVE_TIMERFD * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run the expired timers, since wait_reading_process_output doesn't. (debug_timer_callback): Enlarge the tolerance to 20 msec. Fix RCS crashes in vc-test * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old ports of 'ci' on MS-Windows by always passing the -t- switch. 2015-06-22 Glenn Morris * doc/emacs/package.texi (Packages): * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references. * doc/misc/efaq-w32.texi (Downloading): Copyedits. (Bug#20851) 2015-06-22 Paul Eggert Port tests to help-quote-translation * test/automated/ert-x-tests.el (ert-test-describe-test): * test/automated/package-test.el (package-test-describe-package) (package-test-signed): Allow straight quotes, too. 2015-06-22 Dmitry Gutov Make find-function-on-key use the current window * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it): Extract from `find-function-on-key', add a second argument. (find-function-on-key): Use it (bug#19679). (find-function-on-key-other-window) (find-function-on-key-other-frame): New commands. 2015-06-21 Nicolas Petton Revert "Define `map-elt' as a generalized variable" This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6. 2015-06-21 Ken Brown Drop support for CPU profiling on Cygwin * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin. (Bug#20843) 2015-06-21 Paul Eggert Fix some “nested” quoting confusion in doc strings * lisp/emacs-lisp/advice.el (ad-map-arglists): * lisp/kermit.el (kermit-clean-on): * lisp/mh-e/mh-comp.el (mh-repl-group-formfile): * src/keyboard.c (Frecursive_edit): Use curved quotes when quoting text containing apostrophe, so that the apostrophe isn't curved in the output. 2015-06-21 Nicolas Petton Define `map-elt' as a generalized variable * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander. * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code. * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a `setf' with `map-elt'. * test/automated/map-tests.el: Comment out `test-map-put-literal'. 2015-06-21 Michael Albinus Improve error handling in tramp-adb.el * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy): Improve error handling. 2015-06-21 Nicolas Petton Reuse `alist-get' in map.el * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist elements. 2015-06-21 Eli Zaretskii Fix bytecomp-tests--warnings when $TMPDIR has a long name * test/automated/bytecomp-tests.el (bytecomp-tests--warnings): Allow the warning to begin on the 3rd, not only 2nd line, which happens if temporary-file-directory has a very long name. Expect 2 icalendar tests to fail on MS-Windows * test/automated/icalendar-tests.el (icalendar-import-with-timezone) (icalendar-real-world): Make them expected failures on MS-Windows. 2015-06-20 Paul Eggert Improve port of settings UI to older displays * lisp/cus-start.el (standard): Don't assume curved quotes are easily distinguishable when users are tinkering with a setting that affects how curved quotes are generated. Fix quoting in electric-quote-mode doc string * lisp/electric.el (electric-quote-mode): Fix quoting. This is a fallout from the recent change introducing ‘help-quote-translation’. Spelling fix * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib. * src/doc.c (syms_of_doc): Remove unused symbols. 2015-06-20 Martin Rudalics In ‘window-state-put’ undedicate target window. (Bug#20848) * lisp/window.el (window-state-put): Undedicate target window before putting STATE into it. (Bug#20848) 2015-06-19 Paul Eggert Merge from origin/emacs-24 a5e6f33 Fixes: debbugs:20832 b9f02cf Fixes: debbugs:20832 2015-06-19 Eli Zaretskii Fix file-in-directory-p when the directory is UNC * lisp/files.el (file-in-directory-p): Support files and directories that begin with "//". (Bug#20844) 2015-06-19 Stephen Berman (Bug#20832) * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file in the minibuffer. 2015-06-19 Nicolas Richard (Bug#20832) * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer for adding new todo file is empty but modified. 2015-06-19 Stefan Monnier (filepos-to-bufferpos): Further tweaks to the utf-16 code * lisp/international/mule-util.el (filepos-to-bufferpos): Fix typo. Move non-exact check to the utf-16 branch (the only one affected). Don't use byte-to-position for the utf-16 case. 2015-06-19 Eli Zaretskii Minor fixes in filepos-to-bufferpos * lisp/international/mule-util.el (filepos-to-bufferpos): Remove test for utf-8-emacs. Exempt single-byte encodings from the 'use-exact' path when QUALITY is 'exact'. Test UTF-16 encodings for BOM before subtracting 2 bytes. Use 'identity' when adjusting UTF-16 encoded files for CR-LF EOLs. 2015-06-19 Paul Eggert Improve the optional translation of quotes Fix several problems with the recently-added custom variable help-quote-translation where the code would quote inconsistently in help buffers. Add support for quoting 'like this', which is common in other GNU programs in ASCII environments. Change help-quote-translation to use more mnemonic values: values are now the initial quoting char, e.g., (setq help-quote-translation ?`) gets the traditional Emacs help-buffer quoting style `like this'. Change the default behavior of substitute-command-keys to match what's done in set-locale-environment, i.e., quote ‘like this’ if displayable, 'like this' otherwise. * doc/lispref/help.texi (Keys in Documentation): Document new behavior of substitute-command-keys, and document help-quote-translation. * doc/lispref/tips.texi (Documentation Tips): Mention the effect of help-quote-translation. * etc/NEWS: Mention new behavior of substitute-command-keys, and merge help-quote-translation news into it. When talking about doc strings, mention new ways to type quotes. * lisp/cedet/mode-local.el (overload-docstring-extension): Revert my recent change to this function, which shouldn't be needed as the result is a doc string. * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode) (help-fns--obsolete, help-fns--interactive-only) (describe-function-1, describe-variable): * lisp/help.el (describe-mode): Use substitute-command-keys to ensure a more-consistent quoting style in help buffers. * lisp/cus-start.el (standard): Document new help-quote-translation behavior. * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp) (help-xref-url-regexp): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/wid-edit.el (widget-documentation-link-regexp): Also match 'foo', in case we're in a help buffer generated when help-quote-translation is ?'. * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR. (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0) (uRSQM1, uRSQM2, LSQM, RSQM): New constants. (Fsubstitute_command_keys): Document and implement new behavior. (Vhelp_quote_translation): Document new behavior. 2015-06-18 Glenn Morris * lisp/cus-start.el (help-quote-translation): Add :version. * src/doc.c (Fsubstitute_command_keys): Make previous change compile. 2015-06-18 Alan Mackenzie Make translation of quotes to curly in doc strings optional. src/doc.c (traditional, prefer-unicode): new symbols. (help-quote-translation): new variable. (Fsubstitute_command_keys): make translation of quotes dependent on `help-quote-translation'; also translate curly quotes back to ASCII ones. lisp/cus-start.el (top-level): Add a customization entry for `help-quote-translation'. 2015-06-18 Artur Malabarba * lisp/emacs-lisp/package.el: Don't always propagate async errors (package--with-work-buffer-async): Only propagate the error if the callback returns non-nil. (package--download-one-archive): Return nil on the signature checking callback if we accept unsigned. (package--download-and-read-archives): Return non-nil on the archive download callback. 2015-06-18 Martin Rudalics Set image_cache_refcount before x_default_parameter calls. (Bug#20802) * src/nsfns.m (Fx_create_frame): * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting image_cache_refcount before first x_default_parameter call. 2015-06-18 Eli Zaretskii Improve and extend filepos-to-bufferpos * lisp/international/mule-util.el (filepos-to-bufferpos--dos): Don't barf if F returns nil for some argument. (filepos-to-bufferpos): Expand to support UTF-16 and not assume that every encoding of type 'charset' is single-byte. 2015-06-18 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu--perform-transaction): Properly delete packages. (Bug#20836) 2015-06-18 Eli Zaretskii Update data files from just-released Unicode 8.0 * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft status. * test/BidiCharacterTest.txt: Update from Unicode 8.0. * admin/unidata/BidiMirroring.txt: * admin/unidata/BidiBrackets.txt: * admin/unidata/UnicodeData.txt: Update from Unicode 8.0. 2015-06-18 Paul Eggert Document curved quotes a bit better * doc/emacs/basic.texi (Inserting Text): Mention C-x 8. Change example to use curved quote rather than infinity, as this lets us give more ways to do it. * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts and quotation marks. * doc/emacs/text.texi (Quotation Marks): * doc/lispref/tips.texi (Documentation Tips): Add "curly quotes" and "curved quotes" to the index. * doc/emacs/text.texi (Quotation Marks): Give the C-x 8 shorthands for curved quotes. Cross-reference to "Quotation Marks". 2015-06-17 Daiki Ueno Add pinentry.el for better GnuPG integration * lisp/pinentry.el: New file. * etc/NEWS: Add entry about pinentry.el. * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar. (Bug#20550) 2015-06-17 Artur Malabarba * lisp/emacs-lisp/package.el: Slightly better error reporting. 2015-06-17 Stefan Monnier (define-minor-mode): Use setq-default for :global minor modes * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Use setq-default for :global minor modes (bug#20712). 2015-06-17 Eli Zaretskii Avoid infloop in redisplay with tall images * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling down near ZV. (Bug#20808) Call bidi_unshelve_cache to avoid memory leaks. Use IT_CHARPOS instead of CHARPOS. 2015-06-17 Artur Malabarba * lisp/emacs-lisp/package.el (package--with-work-buffer-async): Fix error reporting. * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el * lisp/emacs-lisp/package.el: Revert buffer after any operation Call `package-menu--post-refresh' after any operation that changes the package database (`package-install' and `package-delete'). To avoid performance issues in large transactions, these functions add `post-refresh' to `post-command-hook' instead of calling it immediately. (package-menu--mark-or-notify-upgrades): New function. (list-packages): Add it to `package--post-download-archives-hook'. (package-menu--post-refresh): Lose the upgrade-checking code, add code to remove itself from `post-command-hook'. (package-install, package-delete): Add it to `post-command-hook'. (package-menu-execute): Don't call `package-menu--post-refresh'. 2015-06-17 Stephen Leake Add missing function xref-location-group for elisp-mode. * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group. 2015-06-17 Wolfgang Jenkner * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary. The behavior now matches the description in the manual. (Bug#20783) 2015-06-17 Xue Fuqiao Update tutorials/TUTORIAL.cn * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL. 2015-06-17 Glenn Morris Generate char-script-table from Unicode source. (Bug#20789) * admin/unidata/Makefile.in (AWK): New, set by configure. (all): Add charscript.el. (blocks): New variable. (charscript.el, ${unidir}/charscript.el): New targets. (extraclean): Also remove generated charscript.el. * admin/unidata/blocks.awk: New script. * admin/unidata/Blocks.txt: New data file, from unicode.org. * lisp/international/characters.el: Load charscript. * src/Makefile.in (charscript): New variable. (${charscript}): New target. (${lispintdir}/characters.elc): Depend on charscript.elc. (temacs$(EXEEXT)): Depend on charscript. * lisp/international/characters.el (char-script-table): Tweak some ranges to better match the source. (Bug#20789#17) Remove "no-byte-compile: t" from a few files. * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el: * lisp/obsolete/patcomp.el: No reason not to compile these. 2015-06-16 Glenn Morris Fix some typos in copied Unicode data. (Bug#20789) * lisp/international/characters.el (char-script-table): * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Fix typos. * lisp/emacs-lisp/check-declare.el (check-declare-warn): Don't print filename twice (it's in the prefix now). * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround. No longer needed. Address a compilation warning. * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias): Replace 't' with '_' in pcase. Address some check-declare warnings. * lisp/simple.el (tabulated-list-print): * lisp/progmodes/elisp-mode.el (xref-collect-matches): * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p) (ns-get-selection): Update declarations. Address some compilation warnings. * lisp/elec-pair.el (electric-pair-post-self-insert-function): * lisp/vc/vc-git.el (vc-git-file-type-as-string): Replace 't' with '_' in pcase. Address some compilation warnings. * lisp/face-remap.el (text-scale-adjust): * lisp/menu-bar.el (popup-menu-normalize-position): * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn): * lisp/emacs-lisp/generator.el (cps--transform-1): * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string): * lisp/progmodes/octave.el (octave-goto-function-definition) (octave-find-definition-default-filename): Replace 't' with '_' in pcase. * lisp/emacs-lisp/pcase.el (pcase--u1): Paper-over today's bootstrap failure. 2015-06-16 Nicolas Petton * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase. * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning. Better confirmation message in `find-alternate-file' (Bug#20830) * lisp/files.el (find-alternate-file'): Improve the confirmation message to show the buffer name. Better docstring for null. (Bug#20815) * src/data.c (null): Improves the docstring, saying what null returns when OBJECT is non-nil. 2015-06-16 Stefan Monnier * lisp/net/newst-treeview.el: Use lexical-binding. (filepos-to-bufferpos): Add missing cases. Make sure it terminates. * lisp/international/mule-util.el (filepos-to-bufferpos--dos): New auxiliary function, extracted from filepos-to-bufferpos. Make sure it terminates. (filepos-to-bufferpos): Use it to fix the latin-1-dos case. Add support for the `exact' quality. 2015-06-16 Cédric Chépied Identify feeds in newsticker treeview with :nt-feed property * lisp/net/newst-treeview.el: (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag. 2015-06-16 Stefan Monnier * lisp/emacs-lisp/pcase.el: Improve docs and error handling (pcase--self-quoting-p): Floats aren't self-quoting. (pcase): Tweak docstring. (pcase--u1): Deprecate the t pattern. Improve error detection for the nil pattern. (\`): Tweak docstring. Signal an error for unrecognized cases. (bug#20784) 2015-06-16 Eli Zaretskii Fix infloop in filepos-to-bufferpos * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL offset calculation, and make it conditional on the eol-type of the file's encoding. (Bug#20825) 2015-06-16 Martin Rudalics Fix handling of image cache refcounts. (Bug#20802) This backports Eli Zaretskii's solution of this problem for W32 to X and NS. * src/nsfns.m (image_cache_refcount): Define unconditionally. (unwind_create_frame): If the image cache's reference count hasn't been updated yet, do that now. (Fx_create_frame): Set image_cache_refcount unconditionally. * src/xfns.c (image_cache_refcount): Define unconditionally. (unwind_create_frame): If the image cache's reference count hasn't been updated yet, do that now. (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount unconditionally. * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on X and NS. 2015-06-16 Nils Ackermann Improve reftex-label-regexps default value * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make keyvals label regexp more strict to better cope with unbalanced brackets common in math documents. 2015-06-16 Glenn Morris * doc/emacs/calendar.texi (Format of Diary File): Move "nonmarking" from here... (Displaying the Diary): ... to here. * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary): Swap the order of these nodes. * doc/emacs/emacs.texi: Update detailed menu for the above change. * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries): Update date of examples. (Diary, Format of Diary File): Move example from former to latter. Reduce duplication. No need for cp51932.el, eucjp-ms.el to not be compiled any more. * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk: Don't set no-byte-compile in the outputs. * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms. 2015-06-15 Glenn Morris * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file. * doc/emacs/calendar.texi (Diary, Format of Diary File): Update for above diary-file change. : * etc/NEWS: Mention this. * lisp/macros.el (name-last-kbd-macro, kbd-macro-query) (apply-macro-to-region-lines): Use user-error. * lisp/textmodes/page-ext.el (add-new-page, pages-directory) (pages-directory-for-addresses): Doc fixes. 2015-06-15 Stefan Monnier * lisp/info.el: Cleanup bytepos/charpos issues * lisp/international/mule-util.el: Use lexical-binding. (filepos-to-bufferpos): New function. * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions. (Info-find-node-2): Use filepos-to-bufferpos (bug#20704). (Info-read-subfile, Info-search): Use 0-based file positions. * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/ (perl--syntax-exp-intro-keywords): New var. (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it. (bug#20800). 2015-06-15 Paul Eggert Fix quoting when making derived mode docstring * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): Nest regexp-quote inside format, not the reverse. Problem reported by Artur Malabarba in: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html 2015-06-15 Eli Zaretskii Fix current-iso639-language on MS-Windows * lisp/international/mule-cmds.el (set-locale-environment): Downcase the locale name before interning it. This is so the 'current-iso639-language' on MS-Windows matches the ':lang' property of font-spec objects. Limit Symbola usage some more * lisp/international/fontset.el (setup-default-fontset): Limit Symbol coverage of Currency Symbols to u+20B6..u+20CF. (Bug#20727) 2015-06-15 Nicolas Petton * lisp/emacs-lisp/map.el (map-let): Better docstring. 2015-06-15 Paul Eggert Spelling fixes 2015-06-14 Glenn Morris * lisp/version.el (emacs-repository-version-git): Demote errors. Check result is a hash. 2015-06-14 Artur Malabarba * lisp/emacs-lisp/package.el (package--with-work-buffer-async): Catch errors that happen before going async. (Bug#20809) 2015-06-14 Eli Zaretskii Another improvement of documentation of set-fontset-font * doc/lispref/display.texi (Fontsets): Say explicitly that CHARACTER can be a single codepoint. * src/fontset.c (Fset_fontset_font): Doc fix. Another improvement for symbol and punctuation characters * lisp/international/fontset.el (setup-default-fontset): Exclude from Symbola character ranges for symbols and punctuation covered well by popular Unicode fonts. Prefer fixed-misc Unicode font, if installed and where its coverage of symbols and punctuation is known to be good. (Bug#20727) 2015-06-14 Christoph Wedler Some generic support for multi-mode indentation. * lisp/progmodes/prog-mode.el (prog-indentation-context): New variable. (prog-first-column, prog-widen): New convenience functions. 2015-06-14 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't assume that `tabulated-list-printer' will leave point at the end of the buffer. (Bug#20810) 2015-06-13 Glenn Morris Tweaks for getting repository version; a bit more like it was for bzr. * lisp/version.el (emacs-repository-version-git) (emacs-repository--version-git-1): New functions, split from emacs-repository-get-version. (emacs-repository-get-version): Make the second argument meaningful. * lisp/startup.el (command-line-1): Inform if skipping relative file names due to deleted PWD. * src/xsmfns.c (x_session_initialize): Avoid libSM crash when starup directory is missing. (Bug#18851) (errno.h): Include it. 2015-06-13 Paul Eggert Better fix for documenting `X as "`X" Fix suggested by Stefan Monnier. * lisp/help-fns.el (help-fns--signature): Insert "`X", not "(\` X)", when documenting `X (Bug#20759). * lisp/help.el (help-split-fundoc, help--make-usage-docstring): Don't treat `X specially, as help-fns--signature now handles this. 2015-06-13 Eli Zaretskii Improve the default fontset when Symbola is not installed * lisp/international/fontset.el (setup-default-fontset): Only prepend Symbola and FreeMono font specs for symbols and punctuation; do not replace the default spec for them. This should have better results when Symbola/FreeMono are not installed. (Bug#20727) Improve documentation of ':lang' in font specs * src/font.c (Ffont_spec): Doc fix: elaborate on the values and use of the ':lang' property of the font spec. * doc/emacs/frames.texi (Fonts): Document the language names that can be in the STYLE part of XLFD. * doc/lispref/display.texi (Low-Level Font): Document the ':lang' property. * nt/README: Don't advertise the (obsolescent) w32 FAQ. * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ. Revert last change in fontset.el * lisp/international/fontset.el (setup-default-fontset): Revert the change "Configure Symbola font only if installed", since font search is evidently not yet set up when this function is called. (Bug#20727) 2015-06-12 Glenn Morris Ensure early startup warnings are visible at the end. (Bug#20792) * lisp/emacs-lisp/warnings.el (display-warning): If startup isn't complete, delay the warning. * lisp/startup.el (normal-top-level, command-line): Let display-warning automatically handle the needed delays. Run delayed-warnings-hook. * lisp/version.el (emacs-repository-get-version): Avoid calling external executable if possible. (Bug#20799) 2015-06-12 Paul Eggert Document `X as "`X", not as "(` X)" * lisp/help.el (help-split-fundoc, help--make-usage-docstring): Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759). * src/print.c (print_object): Minor simplification. 2015-06-12 Glenn Morris * src/buffer.c (init_buffer): Add final newline to message. 2015-06-12 Paul Eggert Configure Symbola font only if installed * lisp/international/fontset.el (setup-default-fontset): Don't specify the Symbola font if it's not installed. Likewise for FreeMono. (Bug#20727) 2015-06-12 Eli Zaretskii Configure Symbola font only for symbols and punctuation * lisp/international/fontset.el (setup-default-fontset): Leave only symbols and punctuation in the fontset setup for Symbola font; remove "Greek and Coptic" and "Cyrillic Supplement". (Bug#20798) 2015-06-12 Andreas Schwab Fix crash in fontset-info * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is non-nil. 2015-06-12 Paul Eggert Port to Solaris 10 sparc + Sun C 5.13 * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]: Adjust to process.c change. * src/process.c (create_process): Declare volatile variables at top level of this function, so that they're less likely to be reused later in the function in the code executed by the vforked child. Do not declare locals used only in the vforked child, as they might share memory with locals still live in the parent. Instead, use the same variables in the child as in the parent. This works around a subtle bug that causes a garbage collector crash when Emacs is built with Sun C 5.13 sparc on Solaris 10. 2015-06-12 Glenn Morris * lisp/startup.el (normal-top-level): Don't let *Messages* get a nil default-directory. 2015-06-11 Glenn Morris * lisp/startup.el (normal-top-level): Use delay-warning. (Bug#20792) Some progress towards starting with PWD deleted. (Bug#18851) * src/buffer.c (init_buffer): Handle get_current_dir_name failures. * lisp/startup.el (normal-top-level, command-line-1): * lisp/minibuffer.el (read-file-name-default): Handle default-directory being nil. 2015-06-11 Paul Eggert Fix "not a tty" bug on Solaris 10 * configure.ac (PTY_OPEN): Define to plain 'open' on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set. * src/process.c (allocate_pty): Set the O_CLOEXEC flag after calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived hosts that call grantpt which does its work via a setuid subcommand (Bug#19191, Bug#19927, Bug#20555, Bug#20686). Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it seems relevant in that case too. 2015-06-11 Juri Linkov * lisp/bindings.el (debug-ignored-errors): Add mark-inactive. * lisp/simple.el (kill-region): Replace 'error' with 'user-error'. (Bug#20785) 2015-06-11 Glenn Morris * lisp/international/characters.el (char-script-table): Fix typo. 2015-06-11 Paul Eggert Fix quoting of help for functions with odd names While investigating Bug#20759, I discovered other quoting problems: C-h f mishandled characters like backslash and quote in function names. This fix changes the behavior so that 'C-h f pcase RET' now generates "... (\` QPAT) ..." instead of "... (` QPAT) ...", because '(format "%S" '(` FOO))' returns "(\\` FOO)". A comment in src/lread.c's read1 function says that the backslash will be needed starting in Emacs 25, which implies that 'format' is correct and the old pcase documention was wrong to omit the backslash. * lisp/emacs-lisp/nadvice.el (advice--make-docstring): * lisp/help-fns.el (help-fns--signature): * lisp/help.el (help-add-fundoc-usage): * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Use help--make-usage-docstring rather than formatting help-make-usage. * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Return raw docstring. * lisp/help-fns.el (help-fns--signature): New arg RAW, to return raw docstring. Take more care to distinguish raw from cooked dstrings. (describe-function-1): Let help-fns--signature substitute command keys. * lisp/help.el (help--docstring-quote): New function. (help-split-fundoc): Use it, to quote funny characters more systematically. (help--make-usage): Rename from help-make-usage, since this should be private. Leave an obsolete alias for the old name. (help--make-usage-docstring): New function. * test/automated/help-fns.el (help-fns-test-funny-names): New test. 2015-06-11 Stefan Monnier * lisp/thingatpt.el (in-string-p): Revert last change, since in-string-p is not used in thingatpt.el but only from outside. Also, use lexical binding. 2015-06-11 Artur Malabarba * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons * test/automated/let-alist.el (let-alist-cons): Test it. 2015-06-11 Nicolas Richard * src/syntax.c (Fbackward_prefix_chars): Reword docstring 2015-06-10 Glenn Morris * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits. Improve generated ChangeLog for gitmerge.el commits. (Bug#20717) * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits. * admin/gitmerge.el (gitmerge-commit-message): Exclude "skipped" messages from ChangeLog once again. Slight namespace cleanup for thingatpt.el. * lisp/thingatpt.el (thing-at-point--in-string-p) (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp) (thing-at-point--read-from-whole-string): Rename from old versions without "thing-at-point--" prefix. Keep old versions as obsolete aliases. Update all uses. * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords): Move requiring of finder from here... (checkdoc-package-keywords): ... to here. Use 'user-error' in a few calendar files. * lisp/calendar/appt.el (appt-add): * lisp/calendar/calendar.el (calendar-absolute-from-gregorian) (calendar-generate): * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic): Replace 'error' with 'user-error'. * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error. * lisp/files-x.el (add-file-local-variable): Special-case 'lexical-binding'. (Bug#20641) * lisp/progmodes/executable.el (executable-self-display): Obsolete. No longer autoload. * doc/misc/autotype.texi (Executables): Undocument executable-self-display. * lisp/progmodes/executable.el (executable-self-display): Use non-obsolete tail syntax. (Bug#20779) (executable-self-display): Doc update. 2015-06-10 Stefan Monnier * lisp/emacs-lisp/checkdoc.el: Use lexical-binding (finder-known-keywords): Silence byte-compiler. 2015-06-09 Stefan Monnier * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730) * lisp/progmodes/sh-script.el: Better handle nested quotes (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683). (sh-font-lock-quoted-subshell): Make sure double quotes within single quotes don't mistakenly end prematurely the surrounding string. * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct. 2015-06-09 Glenn Morris * test/automated/Makefile.in (ELFILES): Sort. * Makefile.in (SUBDIR_MAKEFILES): * lwlib/Makefile.in (WARN_CFLAGS): Use built-in Make functions rather than echo+sed. 2015-06-09 Eli Zaretskii Update char-script-table * lisp/international/characters.el (char-script-table): Update from Unicode 8.0 Draft. Improve font selection for punctuation and other symbols * src/fontset.c (face_for_char): If the character's script is 'symbol', and the font used for ASCII face has a glyph for it, use the font for the ASCII face instead of searching the fontsets. This comes instead of NS-specific code that used the current face's font instead, which is now disabled due to undesirable consequences. (Bug#20727) 2015-06-08 Dmitry Gutov Skip past `#' to find BEG * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip past `#' to find BEG (bug#20771). * test/automated/elisp-mode-tests.el (elisp-completes-functions-after-hash-quote): New test. 2015-06-08 Eli Zaretskii Fix compilation warning/error in --without-x builds * src/xdisp.c (append_space_for_newline): Condition GUI-specific code on HAVE_WINDOW_SYSTEM. Improve the default fontset wrt symbols * lisp/international/fontset.el (setup-default-fontset): Better setup of fontset-default for symbols: use Symbola and FreeMono. (Bug#20727) 2015-06-08 Oleh Krehel Add new command checkdoc-package-keywords * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New defcustom. (checkdoc-list-of-strings-p): Add doc. (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is non-nil, call `checkdoc-package-keywords'. (checkdoc-get-keywords): New defun. (checkdoc-package-keywords): New command. Warns if the current file has package.el-style keywords that aren't in `finder-known-keywords'. * etc/NEWS: Add entry. 2015-06-08 Eli Zaretskii Avoid crashes when key-binding is called from a timer * src/keymap.c (Fkey_binding): Don't segfault if called with an empty vector as KEY. (Bug#20705) Fix a thinko in arc-mode.el * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the non-Zip64 case. (Bug#20769) 2015-06-08 Artur Malabarba * lisp/emacs-lisp/package.el (package-delete): Make interactive 2015-06-08 Oleh Krehel checkdoc.el (checkdoc-file): New function * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning to the standard output. (bug#20754) 2015-06-07 Glenn Morris * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog. * src/font.c (syms_of_font) : Doc fix. Remove the obsolete leading "*" from some C doc strings. * src/coding.c (syms_of_coding): * src/font.c (syms_of_font): Remove leading "*" from docs. * lisp/cus-start.el (enable-character-translation): Add it. 2015-06-07 Paul Eggert Move gen_origin from program to data That way, 'make change-history' needs to change only ChangeLog.2, instead of having to change two files. * ChangeLog.2: Add commit info for range that this file covers. * Makefile.in (new_commit_regexp): New macro. (change-history-nocommit): Simplify, by putting what used to be the gen_origin value into the data (ChangeLog.2) rather than into the program (gitlog-to-emacslog). * build-aux/gitlog-to-emacslog (gen_origin): Calculate from the input file (e.g., ChangeLog.2) rather than by having a constant in the program. Substitute it into the output. 2015-06-07 Dmitry Gutov Escape any quotes in the function name * lisp/help-fns.el (help-fns--signature): Quote any quotes in the function name (bug#20759). 2015-06-07 Eli Zaretskii Adapt 'struct timespec' to next release of MinGW runtime * nt/inc/ms-w32.h (struct timespec): Don't declare if __struct_timespec_defined is defined. 2015-06-06 Paul Eggert Merge from gnulib This incorporates: 2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const 2015-06-05 stdio: Don't redefine gets when using C++ 2015-06-05 acl-permissions: port to AIX, C89 HP-UX 2015-06-02 file-has-acl: fix build on Mac OS X 10 2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line 2015-06-01 pthread_sigmask: discount system version if a simple macro 2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c: * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h: * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib. * lib/gnulib.mk: Regenerate. 2015-06-06 Juri Linkov * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches before calling grep-compute-defaults because now it affects the command lines computed in grep-compute-defaults. (Bug#20728) 2015-06-06 Glenn Morris Address some compilation warnings. * lisp/international/mule-cmds.el (w32-get-console-codepage) (w32-get-console-output-codepage): * lisp/progmodes/elisp-mode.el (xref-collect-references): * lisp/version.el (cairo-version-string): Declare. * lisp/erc/erc.el (erc-nickname-in-use): Fix typo. 2015-06-06 Eli Zaretskii Fix display when a font claims large values of ascent and descent This fixes bug#20628. * src/xdisp.c (get_phys_cursor_geometry): Correct the Y coordinate of a hollow cursor glyph when the original glyph's ascent is too small. (get_font_ascent_descent, normal_char_ascent_descent) (normal_char_height): New functions. (handle_single_display_spec, append_space_for_newline) (calc_pixel_width_or_height, produce_stretch_glyph) (calc_line_height_property): Use normal_char_ascent_descent and normal_char_height. (x_produce_glyphs): When font-global values of ascent and descent are too large, use per-character glyph metrics instead, if possible. But don't allow the glyph row's ascent and descent values become smaller than the values from the metrics of the font's "normal" character. * src/xftfont.c (xftfont_draw): * src/w32font.c (w32font_draw): Correct the values of ascent and descent used to draw glyphless characters' hex code in a box. * src/xterm.c (x_draw_glyph_string_background): * src/xdisp.c (x_produce_glyphs): * src/w32term.c (x_draw_glyph_string_background): * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH to detect fonts whose global ascent and descent values are too large to be used in layout decision, and redraw the background when that happens. * src/dispextern.h (FONT_TOO_HIGH): New macro. (get_font_ascent_descent): Add prototype. * src/xterm.c (x_new_font): * src/w32term.c (x_new_font): * src/nsterm.m (x_new_font): * src/font.c (font_open_entity): * src/composite.c (composition_gstring_width): Use get_font_ascent_descent to obtain reasonable values for ascent and descent of a font. 2015-06-06 Nicolas Richard Add assertion in adjust_point_for_property * src/keyboard.c (adjust_point_for_property): Add eassert for current buffer being shown in selected window. 2015-06-06 Dmitry Gutov Replace uses of in-string-p; make it obsolete * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732). (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead. 2015-06-06 Eli Zaretskii Fix Dired display of an explicit list of files by ls-lisp.el * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt) (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be correct for when displaying individual files separately, not as part of listing a directory, in which case these values are not recomputed by 'ls-lisp-insert-directory', but used verbatim. * lisp/dired.el (dired): Doc fix. (Bug#20739) 2015-06-06 Nicolas Richard Do not adjust point in a non-selected window * src/keyboard.c (command_loop_1): Do not adjust point when current buffer is not shown in selected window (Bug#20590). * etc/DEBUG: Mention 'maybe_call_debugger' 2015-06-05 Nicolas Petton Fix a unit test for map.el * test/automated/map-tests.el (test-map-let): Fix the test to work with the new syntax of `map-let'. * lisp/emacs-lisp/map.el (map-let): Better docstring. Better syntax for the map pcase pattern * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted. * lisp/emacs-lisp/map.el (map--dispatch): Better docstring. Fix a byte-compiler error in map-put and map-delete * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is called with a symbol. 2015-06-05 Glenn Morris * admin/gitmerge.el (gitmerge-commit-message): Revert to including "skipped" messages in ChangeLog once again. 2015-06-05 Tassilo Horn Use string> instead of equiv lambda with string< * lisp/help.el (view-emacs-news): Use string> instead of equivalent lambda with string<. 2015-06-05 Glenn Morris * lisp/emacs-lisp/map.el (map--dispatch): Move before use. (map--delete-array): Fix typo. * test/automated/map-tests.el: Replace "assert" with "should". * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS. (SUBDIRS_REL): Derive from SUBDIRS. Tweak some build messages. * lisp/Makefile.in ($(lisp)/loaddefs.el): * lisp/cus-dep.el (custom-make-dependencies): * lisp/finder.el (finder-compile-keywords): Say what we are doing. * lisp/international/titdic-cnv.el (batch-titdic-convert): Don't say how to compile. 2015-06-05 Paul Eggert Omit U+0332 COMBINING LOW LINE in previous change It turns out that it does not work on Ubuntu 15.04. Fix transliteration of Bahá'í months * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array): Improve quality of Latin transliteration of Bahá'í month names. Fix curved quotes in a few places * lisp/calc/calc-misc.el (calc-help): Fix quoting. The strings in question are not doc strings, so this partially undoes the recent change that assumed they were doc strings. * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/info.el (Info-finder-find-node): Use curved quotes. * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): Also allow curved quotes in doc strings. 2015-06-04 Glenn Morris * lisp/Makefile.in (AM_V_at): Add missing definition. * lisp/Makefile.in: Quieten output a bit. ($(lisp)/cus-load.el, $(lisp)/finder-inf.el): Don't echo directories, since the commands we invoke print them. * lisp/Makefile.in: Replace shell fragments in variables with $(shell). (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER) (SUBDIRS_SUBDIRS): New variables. (setwins, setwins_almost, setwins_finder, setwins_for_subdirs): Remove. ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el) (update-subdirs, compile-main, compile-clean): Replace "setwins" usage with new "SUBDIRS" variables. * lisp/vc/compare-w.el (compare-windows-get-window-function): Fix :version tag. 2015-06-04 YAMAMOTO Mitsuharu * src/ftfont.c (ftfont_open2): Round divisions by upEM. Undo removal of x_clear_area call on expose for GTK3 or cairo. * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear exposed area. (Bug#20677) 2015-06-04 Glenn Morris * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash. * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot. * lisp/leim/quail/lrt.el (quail-lrt-update-translation): Rename from quail-lao-update-translation, since lao.el defines that. 2015-06-04 Dmitry Gutov Handle new-style advice in find-funct * lisp/emacs-lisp/find-func.el (find-function-advised-original): Handle new-style advice. Return the symbol's function definition. (Bug#20718) (find-function-library): Update accordingly. 2015-06-04 Nicolas Petton Merge branch 'map' * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro. Add new function string-greaterp * lisp/subr.el (string-greaterp): New function. Also aliased to `string>'. * test/automated/subr-tests.el (string-comparison-test): Add unit tests for `string>'and `string<'. * src/fns.c (string-lessp): Better docstring. 2015-06-04 Eli Zaretskii Fix timezone-related functions on MS-Windows * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call 'xputenv', even if no reallocation of tzvalbuf was necessary. This fixes a bug in timezone-related functions on MS-Windows. Reported by Fabrice Popineau . 2015-06-03 Paul Eggert Don't pass raw directory name to 'error' * lisp/files.el (basic-save-buffer-2): Avoid format error if a directory name contains a string like "%s". 2015-06-03 Dmitry Gutov Override 'grep --color=always' * lisp/progmodes/xref.el (xref-collect-matches): Override --color=always in grep-find-template. 2015-06-03 Michael Albinus Fix error introduced recently in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'. (file-notify--deftest-remote): Revert previous patch, not necessary anymore. 2015-06-03 Wolfgang Jenkner * src/indent.c (Fvertical_motion): Amend motion by 0 lines. Starting from a display string after a newline, point went to the previous line. Also, fix an inadvertent use of a buffer position with FETCH_BYTE. (Bug#20701) 2015-06-03 Michael Albinus Instrument file-notify-test.el in order to catch hydra error. * test/automated/file-notify-tests.el (file-notify--deftest-remote): Wrap body by `ignore-case', in order to trap non-local errors. 2015-06-03 YAMAMOTO Mitsuharu Undo previous changes in non-toolkit scroll bar drawing. * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose) [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window. (Bug#20668) 2015-06-03 Paul Eggert * .gitignore: Also ignore doc/*/*/*.html and .ps. Support quotes 'like this' in info files This is possible when 'makeinfo --disable-encoding' is used in Texinfo 5. * lisp/calc/calc-help.el (calc-describe-thing): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/info.el (Info-find-index-name): * lisp/vc/ediff-help.el (ediff-help-for-quick-help): Also support quotes 'like this'. * lisp/calc/calc-help.el (calc-describe-thing): Simplify. * lisp/finder.el (finder-font-lock-keywords): Remove var that hasn't been used in years, instead of bothering to fix its quoting. 2015-06-02 Paul Eggert * .gitignore: Remove !test/etags/html-src/*.html. It's no longer needed, since *.html was removed. Sort. 2015-06-02 Dmitry Gutov Restore instead of '.' in grep-find-template * lisp/cedet/semantic/symref/grep.el (semantic-symref-grep-use-template): Update a comment. * lisp/progmodes/grep.el (grep-compute-defaults): Restore instead of '.' in grep-find-template (bug#20719). (rgrep): Pass nil as the directory to rgrep-default-command. * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the default value for DIR. * lisp/progmodes/xref.el (xref-collect-matches): Drop the workaround. 2015-06-02 Glenn Morris * configure.ac (emacs_config_features): Add X toolkit and scroll-bars. * configure.ac (emacs_config_features): Add Cairo. * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later. 2015-06-02 Michael Albinus Ensure, that autorevert works for remote files in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify--test-desc): New defvar. (file-notify--test-remote-enabled) (file-notify-test00-availability, file-notify-test01-add-watch) (file-notify-test02-events): Use it. (file-notify--test-event-test): Check proper descriptor. (file-notify-test03-autorevert): Ensure, that `visited-file-modtime' has changed. (Bug#20392) 2015-06-02 Nicolas Petton Add a pcase pattern for maps and `map-let' based on it * lisp/emacs-lisp/map.el (map-let): New macro. (map--make-pcase-bindings, map--make-pcase-patterns): New functions. * test/automated/map-tests.el: New test for `map-let'. 2015-06-02 Dmitry Gutov Reuse rgrep mechanics in xref-find-regexp * lisp/progmodes/grep.el (rgrep-default-command): Extract from `rgrep'. * lisp/progmodes/xref.el (xref-collect-references): Split from `xref-collect-matches'. Only handle the case of symbol search. (xref-collect-matches): Instead of Semantic Symref, use `rgrep-default-command', to take advantage of its directory and file ignore settings. (xref--collect-match): Remove the last argument, leaving the regexp construction up to the caller. * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches): Change to take the xref-collect- function to use as an argument. (elisp-xref-find): Update accordingly. * lisp/progmodes/etags.el (etags--xref-find-matches) (etags-xref-find): Same. Move xref-elisp-location to elisp-mode.el * lisp/progmodes/xref.el (xref-elisp-location) (xref-make-elisp-location, xref-location-marker): Remove here. (xref--xref): Don't limit the type of the location slot. * lisp/progmodes/elisp-mode.el (xref-elisp-location): Define as a cl-struct here. (xref-location-marker): Move here. 2015-06-02 Eli Zaretskii Minor tweaks for .gitignore * .gitignore: Don't ignore versioned *.html and *.ps files. Don't ignore admin/notes/tags that might be ignored as TAGS on case-insensitive filesystems. (Bug#20710) 2015-06-02 Paul Eggert Generate curved quotes in ert doc * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc) (ert-results-mode-menu) (ert-results-pop-to-backtrace-for-test-at-point) (ert-results-pop-to-messages-for-test-at-point) (ert-results-pop-to-should-forms-for-test-at-point) (ert-describe-test): Quote ‘like this’, not `like this', when generating doc strings and the like. * test/automated/ert-x-tests.el (ert-test-describe-test): Allow quoting ‘like this’. 2015-06-02 Nicolas Richard Add test for previous commit * test/automated/replace-tests.el: New file. (query-replace--split-string-tests): Add test for previous commit. Avoid confusion in query-replace history when replacing NUL chars * lisp/replace.el (query-replace--split-string): New function. (query-replace-read-from): Rely on the 'separator' property instead of searching for the NUL character (Bug#20690). 2015-06-02 Glenn Morris Merge from origin/emacs-24 8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual. * admin/gitmerge.el (gitmerge-commit-message): Exclude "skipped" messages from ChangeLog. 2015-06-01 Michael Albinus Sync with Tramp repository * lisp/net/tramp.el (tramp-message): Dump connection buffer error messages. (tramp-handle-make-auto-save-file-name): When calling `make-auto-save-file-name' internally, make sure it uses Unix-like behavior, not Windows-like behavior. * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for the local case, because "chown" might fail on w32. * lisp/net/trampver.el (tramp-repository-get-version): Don't run for XEmacs. 2015-06-01 Eli Zaretskii MS-Windows followup for batch stdout/stderr output changes * lisp/international/mule-cmds.el (set-locale-environment): In batch mode, use console codepages for keyboard and terminal encoding. (Bug#20545) Update .gitattributes for DOS EOL files * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS CRLF end-of-line format. NS equivalents of xterm.c and w32term.c changes * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of glyph string background also when the font in use claims preposterously large global height value. Helps to remove artifacts left from previous displays when glyphless characters are displayed as hex code in a box. (x_new_font): Call get_font_ascent_descent to obtain a reasonable value for FRAME_LINE_HEIGHT, even when a font claims very large value for its height. 2015-06-01 Paul Eggert Avoid grave accent quoting in stderr diagnostics A few Emacs diagnostics go directly to stderr, and so can't easily contain curved quotes (as non-UTF-8 locales might mishandle them). Instead of bothering to add support for this rarity, reword the diagnostics so that they don't use grave accent to quote. * src/alloc.c (mark_memory): Fix comment. * src/buffer.c (init_buffer): * src/dispnew.c (init_display): * src/emacs.c (main, sort_args): * src/lread.c (dir_warning): * src/term.c (init_tty): * src/unexmacosx.c (unexec): * src/xfns.c (select_visual): * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter): Reword stderr diagnostics to avoid quoting `like this'. * src/unexmacosx.c: Include errno.h. * src/xfns.c (select_visual): Encode value for locale. 2015-05-31 Paul Eggert Treat batch stdout/stderr like standard display Calls like (print FOO) could generate improperly encoded or hard-to-read output if FOO contains characters outside the system locale. Fix this by treating batch stdout and stderr like interactive standard display, when it comes to transliterating and encoding characters (Bug#20545). * doc/emacs/mule.texi (Communication Coding): * doc/lispref/display.texi (Active Display Table): * doc/lispref/nonascii.texi (Locales): * etc/NEWS: * src/coding.c (syms_of_coding): * src/dispnew.c (syms_of_display): Document this. * src/print.c: Include disptab.h. (printchar_to_stream): New function, with much of the guts of the old Fexternal_debugging_output, except this one also uses the standard display table. (printchar, strout, Fexternal_debugging_output): Use it. 2015-05-31 Glenn Morris * src/emacs.c (syms_of_emacs) : Doc fix. 2015-05-31 Paul Eggert Remove unused DEFSYMs Remove DEFSYMs that aren't used at the C level. Also: * src/decompress.c (Qzlib_dll): * src/font.c (Qunicode_sip): * src/frame.c (Qtip_frame): * src/ftfont.c (Qserif): * src/gnutls.c (Qgnutls_dll): * src/xml.c (Qlibxml2_dll): Move from here ... * src/w32fns.c (syms_of_w32fns): ... to here, as these are used only on MS-Windows. 2015-05-31 Michael Albinus Use another default value for tramp-histfile-override * lisp/net/tramp-sh.el (tramp-histfile-override): Use ".tramp_history" as default. Fixes: debbugs:#20446 2015-05-29 Nicolas Petton * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual. 2015-05-16 Nicolas Petton * etc/NEWS: Add an entry about map.el Improve the docstring of functions in map.el Since a map is not a data structure but a concept, adding information about the possible types of maps can be useful information. * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to each public function. 2015-04-29 Nicolas Petton Faster implementation of map-empty-p * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using specific tests depending on the type of the map. * lisp/emacs-lisp/map.el: Better docstrings. 2015-04-25 Artur Malabarba * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda 2015-04-25 Nicolas Petton * lisp/emacs-lisp/map.el (map--elt-list): Better docstring. * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring. Fix a false negative in `map-elt' with alists and values being nil * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is found but its associated value is nil, do not return the default value. * test/automated/map-tests.el: Add a regression test. 2015-04-24 Nicolas Petton * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring. Do not signal an error when trying to delete a key from an array * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if the key is present to avoid signaling an error. * test/automated/map-tests.el: Add a test for deleting non-existing keys from maps. * lisp/emacs-lisp/map.el: Better docstring. Minor improvement in map-elt. * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when doing a lookup in arrays, but check the boundaries of the array instead. * test/automated/map-tests.el: Adds a test for `map-elt' with arrays and a negative integer as key. 2015-04-21 Nicolas Petton * test/automated/map-tests.el: Refactoring of test methods. * test/automated/map-tests.el: Renamed from map-test.el. 2015-04-18 Nicolas Petton * lisp/emacs-lisp/map.el (map-into): Better error message. * lisp/emacs-lisp/map.el: Removes byte-compilation warnings. Throw an error when converting a map into an unknown map type * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid. * test/automated/map-test.el: Add a regression test. New library map.el similar to seq.el but for mapping data structures. * test/automated/map-test.el: New file. * lisp/emacs-lisp/map.el: New file. 2015-05-30 Dmitry Gutov Make sure there's no explicit tag name * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure there's no explicit tag name (bug#20629). 2015-05-30 Paul Eggert Remove format2 * src/editfns.c, src/lisp.h (format2): Remove. It is more trouble than it's worth, now that we have CALLN. This is just a minor refactoring. * src/buffer.c (Fkill_buffer): * src/dbusbind.c (XD_OBJECT_TO_STRING): * src/fileio.c (barf_or_query_if_file_exists): Adjust to format2 going away. Don't misencode C-generated messages Also, be more consistent about calls to 'Fmessage' vs 'message'. * src/alloc.c (Fgc_status): Prefer AUTO_STRING to build_string for Fmessage call. * src/data.c (Fmake_variable_buffer_local) (Fmake_local_variable, Fmake_variable_frame_local): * src/doc.c (store_function_docstring): Use Fmessage, not message, since the argument can contain non-ASCII characters, and this can cause the resulting message to be incorrectly encoded for the current environment. * src/fns.c (maybe_resize_hash_table): * src/xselect.c (x_clipboard_manager_save_all): Use message, not Fmessage, since Fmessage's power isn't needed here. * src/process.c (Fmake_network_process): Reword message to avoid %s. * src/xdisp.c (vmessage): Document restrictions on message contents. (message_nolog) [false]: Remove unused code. Use \r rather than ^M in string literals This is less likely to cause problems on platforms that use CRLF (or CR!) termination for lines. Update .gitattributes to match current sources http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html * .gitattributes: Accommodate tests that insist on DOS format. Remove test/automated/data/decompress/foo-gzipped. Add etc/e/eterm-color. 2015-05-30 Eli Zaretskii Document 'face-ignored-fonts' * doc/emacs/mule.texi (Modifying Fontsets): Document face-ignored-fonts. (Bug#20628) Add etags test for the new -Q option * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to test-case changes below. * test/etags/ETAGS.good_6: New file. * test/etags/cp-src/x.cc: New file. * test/etags/Makefile (CPSRC): Add x.cc. (check): Add one more test, for -Q. 2015-05-30 Dmitry Gutov Use list for the tags completion table, not obarray * lisp/progmodes/etags.el (etags-tags-completion-table): Return a list instead of an obarray (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html). (tags-completion-table): Combine those lists. (tags-completion-table): Update the docstring. 2015-05-30 Eli Zaretskii Restore EOL format testing in etags * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to test-case changes below. * test/etags/html-src/algrthms.html: Convert back to DOS EOL format. * test/etags/cp-src/c.C (B): Add back stray CR character. * test/etags/c-src/dostorture.c: Add back. * test/etags/Makefile (CSRC): Add back c-src/dostorture.c. 2015-05-30 Vitaly Takmazov (tiny change) Declare Emacs on MS-Windows to be DPI-aware * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware. * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware. This avoids Windows entering compatibility mode for Emacs, which causes fonts to look less nice. 2015-05-30 Michael Albinus Improve Tramp traces. * lisp/net/trampver.el (tramp-repository-get-version): New defun. * lisp/net/tramp.el (tramp-debug-message): Use it. 2015-05-30 Paul Eggert backup-buffer minor reworking of internals * lisp/files.el (backup-buffer): Rework to avoid a couple of unused locals inadvertently introduced in the previous change. backup-buffer now reports .emacs.d/%backup% ills * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup% fails due to disk space exhaustion or whatever, do not pretend that it succeeded. More generally, do a better job of checking for I/O failures, and limit the scope of the condition-case to just the operations where file errors should be caught and ignored (Bug#20595). Also, don't bother trying to delete later backups if an earlier deletion fails, as this is a sign of trouble and it's better to stop when there's trouble. copy-file now truncates output after writing * src/fileio.c (Fcopy_file): Truncate output after writing rather than before. This is more likely to work than truncation before writing, if the file system is out of space or the user is over disk quota (Bug#20595). Also, check for read errors. 2015-05-29 Artur Malabarba * lisp/emacs-lisp/package.el: Don't load from parent dir (package-load-all-descriptors): Don't load descriptors from directories above the package directories. 2015-05-29 Paul Eggert Merge from gnulib This incorporates the following (Bug#20681): 2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX 2015-05-29 acl-permissions: Fix build on Solaris and Cygwin * lib/set-permissions.c: Copy from gnulib. 2015-05-29 Michael Albinus Improve Tramp traces. * lisp/net/tramp.el (tramp-call-process-region): New defun. * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it. 2015-05-29 Glenn Morris * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org. 2015-05-29 Wolfgang Jenkner * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area. The signature was changed in the cairo branch, merged on 2015-05-23. This oversight broke compiling only the non-toolkit X version. 2015-05-29 Samer Masterson * doc/lispref/os.texi: Update initial-buffer-choice docs. 2015-05-29 Glenn Morris * test/automated/vc-tests.el (vc-test-rcs04-checkout-model): Mark as an expected failure. 2015-05-29 Paul Eggert Change package test to look for curved quotes * test/automated/package-test.el (package-test-describe-package) (package-test-signed): Search for curved single quotes as well as for grave accent and apostrophe. 2015-05-28 Katsumi Yamaoka gnus-art.el: Re-revert last change * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change. cf. 2015-05-28 Samer Masterson Show files when `initial-buffer-choice' is non-nil * startup.el (command-line-1): When Emacs is given a file as an argument and `initial-buffer-choice' is non-nil, display both the file and `initial-buffer-choice'. For more than one file, show `initial-buffer-choice' and *Buffer List*. Refactor display-changing commands out of the command line arg parser. (initial-buffer-choice): Clarify docstring. 2015-05-28 Eli Zaretskii Fix last commit * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back. (gnulib module qcopy-acl): Add back, as it is harmless. This minimizes differences wrt lib/gnulib.mk. Fix the MS-Windows build as followup to gnulib update * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and set-permissions.c, as they don't compile on MinGW. (gnulib module qcopy-acl): Remove, as it needs set-permissions.c. 2015-05-28 Paul Eggert Revert my change to gnus-art.el * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change. It wasn't that important, and it caused a Gnus build to fail. See: http://www.randomsample.de:4456/builders/emacs-devel/builds/734 New minor mode Electric Quote This lets you easily insert quotes ‘like this’ by typing quotes `like this', and similarly you can easily insert quotes “like this” by typing quotes ``like this'' (Bug#20545). * doc/emacs/basic.texi (Inserting Text): * doc/emacs/modes.texi (Minor Modes): * etc/NEWS: Document it. * doc/emacs/text.texi (Quotation Marks): New section. * lisp/electric.el (electric-quote-comment) (electric-quote-string, electric-quote-paragraph): New custom vars. (electric--insertable-p) (electric-quote-post-self-insert-function): New functions. (electric-quote-mode, electric-quote-local-mode): New minor modes. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add curved single quotes to electric-pair-text-pairs. Set electric-quote-string in this buffer. A few more doc string fixes (Bug#20385) Accept curved quotes in doc strings * lisp/info-look.el (info-lookup-guess-custom-symbol): (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc. Generate curved quotes in pseudo-info nodes * lisp/info.el (Info-virtual-index-find-node) (Info-virtual-index, Info-apropos-find-node, info-apropos): Quote ‘like this’, not `like this', when generating pseudo-info nodes. Fix minor quoting problems in doc strings Most of these fixes involve escaping grave accents that are actually intended to be grave accents, not left quotes. (Bug#20385) Support curved quotes in doc strings Emacs's traditional doc string style has been to quote symbols `like this'. This worked well on now-obsolete terminals where ` and ' were symmetric quotes, but nowadays curved quotes ‘like this’ look better. Support quoting the new way too. (Bug#20385) * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted ‘like-this’ as well as `like-this'. * etc/NEWS: Mention this. * lisp/cedet/mode-local.el (overload-docstring-extension) (mode-local-print-binding, mode-local-describe-bindings-2): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete): (help-fns--interactive-only, describe-function-1): (describe-variable): * lisp/help.el (describe-mode): * lisp/international/mule-cmds.el (describe-input-method) (describe-language-environment): * lisp/international/mule-diag.el (describe-character-set) (print-coding-system-briefly, list-input-methods) (list-input-methods-1): Insert curved quotes rather than grave accent and apostrophe. * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine) (checkdoc-proper-noun-region-engine): * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): * lisp/finder.el (finder-font-lock-keywords): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/help-fns.el (help-do-arg-highlight) (describe-function-1, describe-variable): * lisp/help-mode.el (help-xref-symbol-regexp) (help-xref-info-regexp, help-xref-url-regexp): * lisp/help.el (describe-mode): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/wid-edit.el (widget-documentation-link-regexp): Parse symbols quoted ‘like-this’ as well as `like-this'. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add "‘" and "’" to electric-pair-text-pairs. (elisp--form-quoted-p): Also allow "‘" as a quoting char. (elisp-completion-at-point, elisp--preceding-sexp): Also treat "‘" and "’" as quoting chars. substitute-command-keys now curves quotes So, for example, it turns "`abc'" into "‘abc’" (Bug#20385). * doc/lispref/help.texi (Keys in Documentation): * etc/NEWS: Document this. * src/doc.c (Fsubstitute_command_keys): Implement it. 2015-05-28 Glenn Morris * lisp/mail/rmailsum.el (rmail-summary-by-recipients) (rmail-summary-by-topic, rmail-summary-by-senders): No longer strip leading/trailing whitespace. * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends". (f90-no-block-limit): Add "enum". (Bug#20680) * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b): New tests. 2015-05-27 Stefan Monnier * lisp/isearch.el (isearch--current-buffer): Give a default value. Un-revert changes mistakenly dropped by f9fabb2b 2015-05-27 Paul Eggert Merge from gnulib This incorporates: 2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666) 2015-05-27 file-has-acl: Split feature tests again (Bug#20667) 2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE 2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+ 2015-05-26 inttypes: force correct mingw PRIdMAX even without 2015-05-26 stdio: fix probe on mingw under gcc 5.1 * admin/merge-gnulib (GNULIB_MODULES): Replace qacl with qcopy-acl, since we don't need the rest of qacl. * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h: * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c: * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4: Get latest versions from gnulib. * lib/get-permissions.c, lib/set-permissions.c: New files. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand. 2015-05-27 Dmitry Gutov Delete the old process in vc-setup-buffer * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old process here. (vc-do-command): Rather than here (bug#20608). 2015-05-27 Ivan Shmakov Avoid gratuitous delete-dups in face-at-point. * lisp/faces.el (face-at-point): Do not compute the properly ordered, duplicate-free list if only a single value is requested anyway. (Bug#20519) Show the exact C-x 8 RET invocation in describe-char. * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET invocation instead of a template. (Bug#20522) 2015-05-27 Artur Malabarba * lisp/emacs-lisp/package.el: Don't erase tags on refresh (package-menu--post-refresh): Call `tabulated-list-print' with the UPDATE argument. This only affects the refresh action, the revert action still erases tags. (package-menu-get-status): Change `assq' to `assoc'. (package-menu--mark-upgrades-1): New function. (package-menu--mark-upgrades-pending): New variable. (package-menu-mark-upgrades): Use them to delay marking until after refresh is done. (package-menu--post-refresh): Call mark-upgrades-1 if mark-upgrades-pending is non-nil. 2015-05-27 Michael Albinus Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b 2015-05-27 Stefan Monnier * lisp/isearch.el (isearch--current-buffer): New var (isearch-update): Set cursor-sensor-inhibit here. (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532). Change inhibit-point-motion-hooks to t * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks to t and document it as obsolete. 2015-05-27 Eli Zaretskii Support ZIP files that use Zip64 extensions * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP format of central directory offsets used by Zip64 extensions. (Bug#20665) 2015-05-27 Michael Albinus New test tramp-test30-make-auto-save-file-name * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test. (tramp-test31-special-characters) (tramp-test31-special-characters-with-stat) (tramp-test31-special-characters-with-perl) (tramp-test31-special-characters-with-ls, tramp-test32-utf8) (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl) (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests) (tramp-test34-recursive-load, tramp-test35-unload): Rename. Improve tramp-handle-make-auto-save-file-name * tramp.el (tramp-auto-save-directory): Add :tags. (tramp-handle-make-auto-save-file-name): Let native `make-auto-save-file-name' use `auto-save-file-name-transforms', if `tramp-auto-save-directory' is not set. 2015-05-27 Glenn Morris No longer set dired-directory in eshell. (Bug#16477) * lisp/eshell/esh-mode.el (eshell-mode): * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory. * lisp/mail/sendmail.el (mail-position-on-field): Doc fix. Make c-submit-bug-report file reports at debbugs.gnu.org. (Bug#15784) * lisp/progmodes/cc-mode.el (c-mode-help-address): Change to submit@debbugs. (c-mode-bug-package): New constant. (mail-position-on-field): Declare. (c-submit-bug-report): Insert X-Debbugs-Package header. * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports): Mention debbugs.gnu.org. 2015-05-26 Glenn Morris * lisp/mail/rmailsum.el: Commas no longer separate regexps. (Bug#19026) (rmail-summary-by-recipients, rmail-summary-by-topic) (rmail-summary-by-senders): No longer use mail-comma-list-regexp. * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change. 2015-05-26 Paul Eggert Handle curved quotes in info files * lisp/calc/calc-help.el (calc-describe-thing): * lisp/info.el (Info-find-index-name) (Info-try-follow-nearest-node, Info-fontify-node): * lisp/vc/ediff-help.el (ediff-help-for-quick-help): In info files, process quotes ‘like this’ the same way we process quotes `like this'. This catches a few places we missed earlier. 2015-05-26 Dmitry Gutov xref-prompt-for-identifier: Use a list value * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list value, to be interpreted as a list of commands. (xref--prompt-p): New function. (xref--read-identifier): Use it. 2015-05-26 Eli Zaretskii Teach MS-Windows font back-end return per-glyph ascent/descent * src/w32font.h (struct w32_metric_cache): Add ascent and descent values. * src/w32font.c (w32font_text_extents): Compute, cache, and accumulate per-glyph ascent and descent values, instead of copying global values from the font. If the values are not available from the font data, i.e., non-TTF fonts, fall back on font-global values. (compute_metrics): Compute and return per-glyph ascent and descent values, if returned by GetGlyphOutlineW, falling back on font-global values. (Bug#20628) * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and height of rectangle to be drawn, to be compatible with XDrawRectangle. Fixes glyphless-char display as hex codes in a box, when per-glyph ascent/descent values are used. 2015-05-26 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter (tabulated-list-print): Don't sort if sorter is nil 2015-05-26 Michael Albinus Fix Bug#20621 * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it. There are major modes which set `auto-save-mode' on their own rules; Tramp shall not overwrite such settings. (Bug#20621) 2015-05-26 Glenn Morris * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork. (desktop-load-file): Guess that "foobar" defines "foobar-mode". (desktop-buffer-mode-handlers, desktop-minor-mode-handlers): Doc updates. (vc-dir-mode): Remove unnecessary autoload. 2015-05-25 Philipp Stephani * lisp/term/xterm.el: Add gui-get-selection support via OSC-52 (xterm--extra-capabilities-type): Add `getSelection'. (xterm--query): Add `no-async' argument. (xterm--init-activate-get-selection): New function. (terminal-init-xterm): Use it. (xterm--init-modify-other-keys): Rename from terminal-init-xterm-modify-other-keys. (xterm--init-bracketed-paste-mode): Rename from terminal-init-xterm-bracketed-paste-mode. (xterm--init-activate-set-selection): Rename from terminal-init-xterm-activate-set-selection. (xterm--selection-char): New function. (gui-backend-set-selection): Use it. Use the &context to only apply this method in terminals where we enabled the feature. (gui-backend-get-selection): New method. 2015-05-25 Daniel Colascione Add C-language keyword constants to C++ * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language keyword constants to C++. 2015-05-25 Paul Eggert Make TAGS files more portable to MS-Windows * etc/NEWS: Document this. * lib-src/etags.c (readline_internal) [DOS_NT]: Don't treat CRs differently from GNUish hosts. * lisp/progmodes/etags.el (etags-goto-tag-location): Adjust STARTPOS to account for the skipped CRs in dos-style files. 2015-05-25 Michael Albinus Improve fix of debbugs:20634 in tramp-sh.el 2015-05-25 Eli Zaretskii Fix a typo in last commit * lib-src/etags.c (C_entries): Fix a typo. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/CTAGS.good: Update due to the change in etags.c. Fix tagging of class members in C-like OO languages * lib-src/etags.c (longopts): Add new option --class-qualify and its shorthand -Q. (print_help): Add help text for --class-qualify. (main): Add handling of -Q. (consider_token, C_entries) : Append argument types to Objective C methods only if --class-qualify was specified. Qualify C++, Objective C, and Java class members with their class names only if --class-qualify was specified. (C_entries): If --class-qualify was not specified, remove the namespace and class qualifiers from tag names of C++ methods. This allows to use etags.el as xref back-end without the tag-symbol-match-p method, which greatly increases the number of potentially false positives. (Bug#20629) * doc/man/etags.1: Update to document the new --class-qualify option. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/CTAGS.good: Update due to changes in etags.c. 2015-05-25 Stefan Monnier (cl-generic-define-method): Side effects are evil (bug#20644) * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse cons-cells that might be used as keys in an `equal' hash-table. 2015-05-25 Lars Magne Ingebrigtsen Make erc timestamps visible again * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make timestamps visible again (if requested). 2015-05-25 Eli Zaretskii Fix last change in etags.c that broke tagging compresed files * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix quoting of decompression shell command for MS-Windows/MS-DOS. 2015-05-25 Stefan Monnier * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist (Bug#20639) 2015-05-25 Michael Albinus Fix typo in 89035e247591c8d688fce922b7079881aa110f33 2015-05-25 Orivej Desh (tiny change) Fix IPv6 addresses in Tramp * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Add sqare brackets around host name. 2015-05-25 Michael Albinus Inhibit `epa-file-handler' in Tramp (Bug#20634) * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer) (tramp-sh-handle-insert-file-contents-literally): Inhibit also `epa-file-handler'. 2015-05-24 Stefan Monnier * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring (pcase-let): Document the behavior in case the pattern doesn't match. 2015-05-24 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el: New optional print method (tabulated-list-print): New optional argument, UPDATE. If non-nil, the list is printed by only adding and deleting the changed entries, instead of erasing the whole buffer. This method is much faster when few or no entries have changed. * doc/lispref/modes.texi (Tabulated List Mode): Document it. * etc/NEWS: Document it. * lisp/emacs-lisp/tabulated-list.el: Improve printing (tabulated-list--get-sorter): New function. (tabulated-list-print): Restore window-line when remember-pos is passed and optimize away the `nreverse'. 2015-05-24 Paul Eggert Simpilify etags TEX mode scanning * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp): Remove static vars. (TeX_commands): Deduce escapes here instead. (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed. This removes the need for a reset_input call. Improve etags I/O error reporting * lib-src/etags.c: Don't include sys/types.h and sys/stat.h; no longer needed. (infilename): New static var. (process_file_name): Don't call 'stat'. Instead, just open the file for reading and report any errors. Don't bother making a copy of the file argument; it's not needed. Be more careful to use the failing errno when reporting an error. Quote the real name better (though no perfectly) when passing it to the shell. (reset_input): New function, which reports I/O errors. All uses of 'rewind' changed to use this function. (perhaps_more_input): New function, which also checks for I/O errors. All uses of 'feof' changed to use this function. (analyze_regex): Report an error if fclose fails. (readline_internal): Report an error if getc fails. (etags_mktmp): Return an error if close fails. etags.c: avoid side effects in 'if' * lib-src/etags.c (process_file_name, Perl_functions) (TEX_decode_env): Hoist side effects into previous statement. .gitignore tweaks * .gitignore: Ignore all *.stamp files. Sort. Ignore [0-9]*.txt (commonly used name for git patches) and /vc-dwim-log-* (vc-dwim temporary). 2015-05-24 Eli Zaretskii Fix last change in etags.c, which failed the test suite * lib-src/etags.c (intoken): Add '$' to the set, as it was there before the last change. 2015-05-23 Glenn Morris Remove charset map files from repository, generate in first bootstrap * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New. (all): Create the stamp file. (extraclean): Delete the stamp file. * src/Makefile.in (lispintdir, charsets): New variables. (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}): New rules. (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets. * lisp/international/cp51932.el, lisp/international/eucjp-ms.el: * etc/charsets/*.map: Remove from repository. 2015-05-23 Paul Eggert Cleanup etags.c to use locale-independent code Although this doesn't alter behavior (as etags doesn't use setlocale), the new version is more clearly locale-independent and the executable is a bit smaller on my platform. * lib-src/etags.c: Include , for UCHAR_MAX. Include instead of . (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk) (begtk, midtk): Remove; no longer needed. (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove. All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit, c_islower, c_tolower, respectively. (notinname, begtoken, intoken, endtoken): Rewrite as functions instead of macros, and initialize the tables at compile-time rather than at run-time. Put default action first in src/Makefile * src/Makefile.in (all): Put this rule before lisp.mk. That way, plain 'make' works in the src directory again. 2015-05-23 Glenn Morris * Makefile.in: Fix extraclean rule. (extraclean_dirs): New. (extraclean): Use it. 2015-05-23 Eli Zaretskii Avoid compiler warning in image.c on MS-Windows * src/w32term.h (x_query_color): Add prototype, to avoid compiler warning in image.c. 2015-05-23 Glenn Morris Fix --without-toolkit-scroll-bars builds. * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Add new argument to x_clear_area1. (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]: Update x_clear_area arguments. * admin/charsets/glibc/: New directory, imported from glibc 2.21. * admin/charsets/Makefile.in (GLIBC_CHARMAPS): Change to included version. (LOCAL, local, totalclean): Remove. (extraclean): Delete all generated files. 2015-05-23 Stefan Monnier * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists. * lisp/progmodes/xref.el (xref-find-apropos): Use read-string. tags-completion-at-point-function: Don't trust the find-tag function * lisp/progmodes/etags.el (tags-completion-at-point-function): Don't trust the find-tag function. 2015-05-23 Paul Eggert Pacify --enable-gcc-warnings * src/frame.h (x_query_color): Remove redundant extern decl. * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list) (ftcrfont_match, ftcrfont_open, ftcrfont_close) (ftcrfont_text_extents, ftcrfont_draw): * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end) (XTframe_up_to_date, x_clear_area1, x_clear_frame) (x_ins_del_lines, frame_highlight, frame_unhighlight) (x_new_focus_frame, x_focus_changed, XTframe_rehighlight) (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin) (x_update_window_begin, x_connection_closed) (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle) (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window) (*x_gc_get_ext_data, x_extension_initialize) (x_cr_accumulate_data): Remove redundant static decl. Many of these GCC doesn't complain about, but we might as well clean out the duplication while we're in the neighborhood. * src/xterm.c (x_fill_trapezoid_for_relief): Remove decl of nonexistent function. 2015-05-23 Stefan Monnier Replace gui-method macros with cl-generic with &context * lisp/frame.el (gui-method--name, gui-method, gui-method-define) (gui-method-declare, gui-call): Remove. (frame-creation-function): Use cl-defgeneric. (make-frame): Adjust callers. * lisp/menu-bar.el (menu-bar-edit-menu): Use gui-backend-selection-exists-p. * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection. (gui-backend-get-selection): New cl-generic to replace gui-get-selection method. (gui-backend-set-selection): New cl-generic to replace gui-set-selection method. (gui-selection-owner-p): New cl-generic to replace gui-selection-owner-p method. (gui-backend-selection-exists-p): New cl-generic to replace gui-selection-exists-p method. Adjust all callers. * lisp/server.el (server-create-window-system-frame): Don't ignore window-system spec even when unsupported. * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions. * lisp/startup.el (handle-args-function, window-system-initialization): Use cl-defgeneric. (command-line): Adjust calls accordingly. * lisp/term/ns-win.el (ns-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/pc-win.el (w16-get-selection-value): Turn into a gui-backend-get-selection method. (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection): Use cl-defmethod on the new functions instead. (msdos-window-system-initialization): Turn into a window-system-initialization method. (frame-creation-function, handle-args-function): Use cl-defmethod. * lisp/term/w32-win.el (w32-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/x-win.el (x-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/xterm.el (xterm--set-selection): Turn into a gui-backend-set-selection method. * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'. (Fns_selection_owner_p): Remove unused arg `terminal'. (Fns_get_selection): Remove unused args `time_stamp' and `terminal'. 2015-05-23 Eli Zaretskii Revert "Fix etags Bug#20629 that broke C++ support." This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748. 2015-05-23 Jan D Fix etags Bug#20629 that broke C++ support. * etags.el (etags-xref-find-definitions-tag-order): Revert commit from Sun May 10 (Bug#20629). Merge branch 'cairo'. Main work done by YAMAMOTO Mitsuharu . Small fixes and image work by Jan D. . Merge branch 'master' into cairo Fixes to compile cairo branch without cairo. * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as first argument. * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with USE_CAIRO. 2015-05-23 Artur Malabarba * lisp/emacs-lisp/package.el: Always update selected-packages (package--update-selected-packages): New function. (package-menu-execute): Use it before starting the transaction, this way the list of selected packages is updated even when the transaction fails. (package-menu--perform-transaction): Don't edit selected-packages. 2015-05-23 Eli Zaretskii Fix etags reading of compressed files * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define. Include fcntl.h, for O_CLOEXEC. (process_file_name): Don't use 'popen', whose streams cannot be rewound. Instead, uncompress the file to a temporary file, created by 'etags_mktmp', and read from that as usual. (etags_mktmp): New function. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: Update to be consistent with latest changes in etags.c regarding reading compressed files. Improve documentation of 'set-fontset-font' * doc/lispref/display.texi (Fontsets): Document the value of nil for the 3rd argument of 'set-fontset-font'. Fix documentation of forward-line * src/cmds.c (Fforward_line): Clarify the return value if the line at end of accessible portion of the buffer has no newline. * doc/lispref/positions.texi (Text Lines): Document what happens if the line at end of accessible portion of buffer has no newline. (Bug#20587) 2015-05-22 Glenn Morris * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases. * admin/charsets/mapconv (LC_ALL): Set to C. * Makefile.in: Add admin/charsets into top-level clean rules. (clean): Add admin/charsets. (maybeclean_dirs): New variable. (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs. * admin/charsets/Makefile.in (LOCAL, local): Fix members. 2015-05-22 Artur Malabarba * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc 2015-05-22 Glenn Morris Generate admin/charsets Makefile via configure, and make more portable. * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile. (admin/charsets/Makefile): Generate it. * admin/charsets/Makefile.in: Rename from Makefile. (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY): New variables, set by configure. (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_) (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0) (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932) (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables. (TRANS_TABLE, CHARSETS): Add directory prefix to value. (all): Declare PHONY. (local): New PHONY target. (map_template): New template. Use to define short PHONY aliases. (*.map): Add directory prefixes to targets and prerequisites. Respect make verbosity. (JISC6226.map): Replace non-portable sed append without newline. (install): Remove rule. (clean): Only delete temporary sedscript. (bootstrap-clean, distclean, maintainer-clean, extraclean) (totalclean): New PHONY rules. * admin/charsets/mapconv (BASE): Replace basename with expr. (FILE): Add "mapfiles" subdirectory. (AWK): New variable. Use throughout in place of "awk". (main): Use "gunzip -c" in place of "zcat". Don't leave whitespace before "p", for older sed. * admin/charsets/mapfiles/PTCP154: Add final newline, to make older sed versions happy. 2015-05-22 Stefan Monnier * lisp/autorevert.el: Use lexical-binding. Fix hook usage. (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p) (auto-revert-notify-watch-descriptor): Use defvar-local. (find-file-hook, auto-revert-tail-mode, ) (auto-revert-notify-add-watch): Use setq-local. (auto-revert-notify-add-watch): Don't call make-local-variable on kill-buffer-hook (bug#20601). 2015-05-21 Stefan Monnier Change defgeneric so it doesn't completely redefine the function * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away previously defined methods. (cl-generic-define-method): Let-bind purify-flag instead of using `fset'. (cl--generic-prefill-dispatchers): Only define during compilation. (cl-method-qualifiers): Remove redundant alias. (help-fns-short-filename): Silence byte-compiler. * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics. 2015-05-21 Artur Malabarba (package-menu-execute): Remove reference to remove-dups 2015-05-21 kwhite * lisp/erc/erc.el: Hide network/channel messages (erc-network-hide-list, etc-channel-hide-list): New lists to define message types per network/channel. (erc-add-targets): New function to parse list of targets (erc-hide-current-message-p): Modified to check for new targets 2015-05-21 Paul Eggert Don't quote nil and t in doc strings This is as per "Tips for Documentation Strings" in the elisp manual. For consistency, do the same in diagnostics and comments. 2015-05-21 Eli Zaretskii Fix a minor problem with mouse-face on mode line * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the mouse face also if the mouse pointer hovers above mode-line glyphs that don't come from any Lisp string. (Bug#20620) 2015-05-21 Artur Malabarba * lisp/emacs-lisp/package.el: Fix selected-package logic (package-menu-execute): Mark as selected all non-upgrade packages being installed. (package-menu--perform-transaction): Don't mark anything. * lisp/emacs-lisp/package.el: Mode-line progress report (package-menu--transaction-status): New variable. (package-menu-mode, package-menu--perform-transaction): Use it. * lisp/emacs-lisp/package.el: Better transaction messages (package-menu--partition-transaction): New function. (package-menu--prompt-transaction-p, package-menu-execute): Use it. (package-menu--perform-transaction): Don't do any messaging. * lisp/emacs-lisp/package.el: Revert async package transactions (package-menu-async): Update doc. (package-install-from-archive, package-download-transaction) (package-install, package-menu--perform-transaction) (package-menu-execute): Remove asynchronous functionality. 2015-05-21 Paul Eggert Revert doc string changes to f90.el Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start): Revert recent changes to doc strings, as it's intended that they use grave accent, not quote. 2015-05-20 Bozhidar Batsov Improve parameter name Add new inline function `hash-table-empty-p' 2015-05-20 Paul Eggert Don't require help-fns when not needed * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el: * lisp/emacs-lisp/elint.el: Don't require help-fns at the top level. * lisp/emacs-lisp/advice.el (ad-arglist): * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Don't require help-fns. (Bug#17001) 2015-05-20 Eli Zaretskii Fix slash collapsing in etags on MS-Windows * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the MS-Windows code from the Posix code, and support collapsing both forward- and back-slashes on MS-Windows. Fixes a regression found by the test suite. Improve documentation of glyphless-char-display * doc/lispref/display.texi (Glyphless Chars): Improve documentation of glyphless character display. Fix "acronym" display of glyphless characters on w32 * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't ignore "acronym" substitutes of 1 character for glyphless characters. 2015-05-20 Oleh Krehel Add an automated test for let-when-compile * test/automated/subr-tests.el (let-when-compile): New test. Add let-when-compile macro instead of using pcase-let * lisp/subr.el (let-when-compile): New let-like macro that makes its bindings known to macros like `eval-when-compile' in the body. * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a `let-when-compile'. Also comment out the unused lexical var `el-kws-re'. The change greatly improves readability, while providing almost the same (even shorter) byte code: instead of pre-evaluating 10 variables, tossing them into a list, and destructuring that list a full screen page later, the variables are simply bound as they are evaluated, wrapped individually in `eval-when-compile'. 2015-05-20 Artur Malabarba * lisp/emacs-lisp/package.el: "Delete" button in Help buffer (package-delete-button-action): New function. (describe-package-1): Add Delete button. * lisp/emacs-lisp/package.el: Better dependency description (package--used-elsewhere-p): New optional arg, ALL, and return package-desc objects instead of names. (package-delete): Update accordingly. (describe-package-1): Describe which packages require the package. 2015-05-20 Martin Rudalics Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533) * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame. Fix doc-string (Bug#20533). Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472) * lisp/window.el (switch-to-buffer-in-dedicated-window): New option. (switch-to-buffer): If the selected window is strongly dedicated to its buffer, signal error before prompting for buffer name. Handle `switch-to-buffer-in-dedicated-window'. (Bug#20472) * doc/lispref/windows.texi (Switching Buffers): Document `switch-to-buffer-in-dedicated-window'. 2015-05-19 Paul Eggert Prefer "this" to “this” in doc strings This mostly just straightens quotes introduced in my previous patch. Suggested by Dmitry Gutov in: http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el: * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el: * lisp/textmodes/artist.el, lisp/textmodes/rst.el: * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el: * lisp/vc/log-edit.el, lisp/xt-mouse.el: Prefer straight double quotes to curved double quotes in doc strings. Fix minor quoting problems in doc strings These were glitches regardless of how or whether we tackle the problem of grave accent in doc strings. * lisp/calc/calc-aent.el (math-restore-placeholders): * lisp/ido.el (ido-ignore-buffers, ido-ignore-files): * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"): * lisp/leim/quail/hebrew.el ("hebrew-new") ("hebrew-biblical-sil"): * lisp/leim/quail/thai.el ("thai-kesmanee"): * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars): Used curved quotes to avoid ambiguities like ‘`''’ in doc strings. * lisp/calendar/calendar.el (calendar-month-abbrev-array): * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn): * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass): * lisp/cedet/semantic/tag.el (semantic-tag-copy) (semantic-tag-components): * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp): * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp): * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine): * lisp/emacs-lisp/generator.el (iter-next): * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers) (gnus-article-mode-syntax-table): * lisp/net/rlogin.el (rlogin-directory-tracking-mode): * lisp/net/soap-client.el (soap-wsdl-get): * lisp/net/telnet.el (telnet-mode): * lisp/org/org-compat.el (org-number-sequence): * lisp/org/org.el (org-remove-highlights-with-change) (org-structure-template-alist): * lisp/org/ox-html.el (org-html-link-org-files-as-html): * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt) (handwrite-12pt, handwrite-13pt): * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start): * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev): * lisp/progmodes/verilog-mode.el (verilog-tool) (verilog-string-replace-matches, verilog-preprocess) (verilog-auto-insert-lisp, verilog-auto-insert-last): * lisp/textmodes/makeinfo.el (makeinfo-options): * src/font.c (Ffont_spec): Fix minor quoting problems in doc strings, e.g., missing quote, ``x'' where `x' was meant, etc. * lisp/erc/erc-backend.el (erc-process-sentinel-2): Fix minor quoting problem in other string. * lisp/leim/quail/ethiopic.el ("ethiopic"): * lisp/term/tvi970.el (tvi970-set-keypad-mode): Omit unnecessary quotes. * lisp/faces.el (set-face-attribute, set-face-underline) (set-face-inverse-video, x-create-frame-with-faces): * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl): * lisp/mail/supercite.el (sc-attribs-%@-addresses) (sc-attribs-!-addresses, sc-attribs-<>-addresses): * lisp/net/tramp.el (tramp-methods): * lisp/recentf.el (recentf-show-file-shortcuts-flag): * lisp/textmodes/artist.el (artist-ellipse-right-char) (artist-ellipse-left-char, artist-vaporize-fuzziness) (artist-spray-chars, artist-mode, artist-replace-string) (artist-put-pixel, artist-text-see-thru): * lisp/vc/ediff-util.el (ediff-submit-report): * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs): Use double-quotes rather than TeX markup in doc strings. * lisp/skeleton.el (skeleton-pair-insert-maybe): Reword to avoid the need for grave accent and apostrophe. * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence): Don't use grave and acute accents to quote. 2015-05-19 Stefan Monnier * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler 2015-05-19 Paul Eggert Try to port new etags tests to MS-Windows * test/etags/CTAGS.good, test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5: Adjust to test-case changes below. * test/etags/Makefile (CSRC): Remove dostorture.c. Whatever it was trying to test, wasn't working portably. (LC_ALL): Remove. Apparently there wasn't an encoding problem, just a line-ending problem. * test/etags/c-src/dostorture.c: Remove. * test/etags/cp-src/c.C: Remove stray CR. * test/etags/html-src/algrthms.html: Remove trailing CRs. State UTF-8 as the encoding. The file is ASCII so it doesn't matter, but if someone edits it later it should stay UTF-8-compatible. 2015-05-19 Eli Zaretskii Fix display of overlapping window-specific overlays * src/keyboard.c (adjust_point_for_property): When adjusting point due to display strings, ignore overlays that are specific to windows other than the currently selected one. * src/xdisp.c (handle_single_display_spec): If the display property comes from an overlay, arrange for buffer iteration to resume only after the end of that overlay. (Bug#20607) 2015-05-19 Dmitry Gutov New command icomplete-force-complete-and-exit * lisp/icomplete.el (icomplete-force-complete-and-exit): New command (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html) (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html). (icomplete-minibuffer-map): Bind C-j to it. (icomplete-forward-completions, icomplete-backward-completions): Mention the new command in the docstring. * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert the previous fix for bug#17545. 2015-05-19 Martin Rudalics Fix last commit In Elisp manual explain how to override window manager positioning (Bug#20552) * doc/lispref/frames.texi (Position Parameters): Give example of how to override a window manager positioning decision. Clarify concept of "surrogate minibuffer frames" (Bug#20538) * src/frame.c (Fdelete_frame): In doc-string mention that frame can't be deleted if it has a surrogate minibuffer. * doc/lispref/frames.texi (Minibuffers and Frames) (Deleting Frames): Explain "surrogate minibuffer frames". In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB. 2015-05-18 Glenn Morris Add option to ignore commit lines matching a pattern in ChangeLog. * build-aux/gitlog-to-changelog: Add --ignore-line option. * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '. 2015-05-18 Paul Eggert Don't skip new etags tests on non-UTF-8 hosts Problem reported by Eli Zaretskii for MS-Windows. * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove. (LC_ALL): Set to C if the current locale isn't UTF-8. (.PHONY): Remove ediff_1 thru ediff_5. (check): Always run. 2015-05-18 Glenn Morris * lisp/calculator.el (calculator-funcall): * lisp/textmodes/artist.el (artist-spray-random-points): Use standard degree/radian conversion utilities. Further lisp-complete-symbol related cleanup. * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Unadvertise non-functional argument. Replace obsolete alias. 2015-05-18 Dmitry Gutov Add a test case for Maven warning ouput * test/automated/compile-tests.el (compile-tests--test-regexps-data): Add a case for Maven warning ouput. (compile--test-error-line): Check the compilation message type, if it's specified in the test data. 2015-05-18 Paul Pogonyshev Update Maven compilation-mode entry to distinguish warnings * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Update Maven entry to distinguish warnings (bug#20556). 2015-05-18 Przemysław Wojnowski * test/automated/sgml-mode-tests.el: New file. 2015-05-18 Dmitry Gutov Improve handling of the first Git revision * lisp/vc/log-view.el (log-view-toggle-entry-display): When there's no next entry, delete until the end of the buffer. (log-view-end-of-defun-1): Stop at eob. * lisp/vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): Don't give up when previous-revision is nil. * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments with `--' to avoid ambiguity. (vc-git-annotate-extract-revision-at-line): Exclude `^' from the returned revision string. (vc-git-annotate-time): Expect `^' before the first revision. * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if REV1 is nil, and REV2 is not. * lisp/vc/vc.el: Update the description of the `diff' function. 2015-05-18 Oleh Krehel Allow checkdoc to be called in batch * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive' is non-nil, echo the error with `warn'. How it can be used in -batch: (with-current-buffer (find-file "checkdoc.el") (checkdoc-current-buffer t)) 2015-05-18 Glenn Morris * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi. 2015-05-17 Paul Eggert * admin/notes/unicode: New section "binary files". Change new etags test to use UTF-8 encoding * test/etags/CTAGS.good, test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5: * test/etags/html-src/index.shtml, test/etags/html-src/software.html: * test/etags/html-src/softwarelibero.html: Switch to UTF-8 encoding. * test/etags/Makefile (SRCS): Adjust to switch to UTF-8. Remove Makefile, as it's too incestuous to have the test input include the build procedure. (UTF8_LOCALE, UTF_ENCODING): New macros. (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8. (check): Skip if not UTF-8. (.PHONY): New rule. (FRC): Remove, as superseded by .PHONY. All uses removed. (regexfile): Prefer printf to echo when outputting oddball chars. (.PRECIOUS): Remove, as these files are not built. Rename 'foo-gzipped' to 'foo.gz' * test/automated/data/decompress/foo.gz: Rename from test/automated/data/decompress/foo-gzipped, to make it easier for other tools to tell that it's compressed. * test/automated/zlib-tests.el (zlib--decompress): Adjust to renamed file. 2015-05-17 Dmitry Gutov Set up default-directory * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate binding for `v'. (vc-annotate-show-changeset-diff-revision-at-line): Set up an appropriate value for default-directory. 2015-05-17 Samer Masterson * lisp/eshell/em-term.el (eshell-term-sentinel): No-op by default, only kills term buffer if `eshell-destroy-buffer-when-process-dies' is non-nil. (Bug#18108) (eshell-destroy-buffer-when-process-dies): New custom to preserve previous behavior. eshell: Introduce new buffer syntax The new buffer syntax '#' is equivalent to '#'. Remove `eshell-buffer-shorthand', as it is no longer needed (Bug#19319). * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove. (eshell-get-target): Remove shorthand-specific code. * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse '#'. 2015-05-17 Jan D Merge branch 'master' into cairo 2015-04-26 Jan D Merge branch 'master' into cairo Add PBM support for cairo. * src/image.c (xcolor_to_argb32): New function. (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32. (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use XImagePtr if ! USE_CAIRO. (pbm_load): Add cairo support. 2015-04-12 Jan D x_free_cr_resources: Renamed from x_prepare_for_xlibdraw. * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw. (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert) (x_free_frame_resources): Rename x_prepare_for_xlibdraw to x_free_cr_resources. Handle specified bg in images. Use generic libpng code for PNG:s. * src/image.c (get_spec_bg_or_alpha_as_argb) (create_cairo_image_surface): New functions when USE_CAIRO. (xpm_load): Call the above functions. Handle XPM without mask when USE_CAIRO. (png_load_body): Handle USE_CAIRO case. (png_load): Remove USE_CAIRO specific fuction, modify png_load_body instead. (jpeg_load_body): Call create_cairo_image_surface. (gif_load, svg_load_image): Handle specified background, call create_cairo_image_surface. * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO. 2015-04-11 Jan D Support GIF and Tiff with cairo. * configure.ac: Allow jpeg with cairo. Allow tiff and gif with cairo. * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO. (tiff_load): Create cairo image surface if USE_CAIRO. (gif_load): Ditto. Support JPEG with USE_CAIRO. * configure.ac: Allow jpeg with cairo. * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO. 2015-04-05 Jan D Support RSVG and cairo. * configure.ac: Allow rsvg with cairo. Move back HAVE_RSVG. * src/dispextern.h (struct image): add cr_data2 if cairo. * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO. (x_clear_image): Free cr_data and cr_data2 if set. (xpm_load): Assign data to cr_data2. (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32. 2015-04-03 Jan D Introduce limited Xpm support (32 bit ZPixmap) for Cairo. * configure.ac (HAVE_RSVG): Move after cairo. (USE_CAIRO): Disable rsvg, don't disable Xpm. * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO. (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and don't return early. (ALLOC_XPM_COLORS): Don't define when USE_CAIRO. (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32 and create a surface. Tool tips for menus did not show any text. * src/xterm.c (x_update_begin): Don't create any surface for non-visible tip frames, the geometry may be wrong. Merge branch 'master' into cairo, fixes tooltips not shown. Merge branch 'master' into cairo Add CAIRO_CFLAGS to lwlib/Makefile.in * Makefile.in (CAIRO_CFLAGS): Add. 2015-02-19 YAMAMOTO Mitsuharu * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen. 2015-02-16 YAMAMOTO Mitsuharu Draw outermost line using black relief and erase corners also for cairo. * xterm.c [USE_CAIRO]: Include math.h. (enum corners) [USE_CAIRO]: New enum. (x_erase_corners_for_relief) [USE_CAIRO]: New function. (x_draw_relief_rect) [USE_CAIRO]: Use it. If box width is larger than 1, draw the outermost line using the black relief. * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path. 2015-02-15 YAMAMOTO Mitsuharu * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping. * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask. Use int instead of unsigned int for width and height args. * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle) (x_fill_trapezoid_for_relief): Use int instead of unsigned int for width and height args. Modernize k&r cairo-related function declarations. * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page) (xg_print_frames_dialog): Modernize k&r declarations. * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup) (Fx_print_frames_dialog): Modernize k&r declarations. * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip) (x_end_cr_clip, x_set_cr_source_with_gc_foreground) (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap) (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data) (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw) (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle) (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief) (x_clear_area): Modernize k&r declarations. Implement wave-style variant of underlining for cairo. * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function. (x_draw_underwave) [USE_CAIRO]: Use it. * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle. 2015-02-13 YAMAMOTO Mitsuharu Fix fringe bitmap initialization for cairo. * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for cairo image surface. * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty. 2015-02-11 Jan D Add cairo drawing. * configure.ac (with-cairo): New option. (USE_CAIRO): Default to yes for Gtk+ 3. Add code to test for cairo, set CAIRO_CFLAGS, CAIRO_LIBS. Add ftcrfonto to FONT_OBJ if cairo. Output "Does Emacs use cairo?". * lisp/version.el (emacs-version): Add cairo version. * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables. (FONT_OBJ): Add comment about ftcrfont. (ALL_CFLAGS): Add CAIRO_CFLAGS. (LIBES): Add CAIRO_LIBS. * src/dispextern.h (struct image): Add cr_data for cairo. (x_cr_init_fringe): Declare. * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo. * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare * src/fringe.c (x_cr_init_fringe): New function name that shares code with w32_init_fringe. * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver. * src/ftfont.c (ftfont_info_size); New global variable. (ftfont_open2): New extern function almost the same as old ftfont_open, but takes the font_object as argument. (ftfont_open): Build font object and call ftfont_open2. * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare. * src/gtkutil.c (xg_clear_under_internal_border) (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only queue_draw if not cairo. Change args to x_clear_area. (xg_get_font): Use Qftcr when using cairo, Qxft otherwise. (xg_page_setup_dialog, xg_get_page_setup, draw_page) (xg_print_frames_dialog): New functions for printing. * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup) (xg_print_frames_dialog): Declare. * src/image.c: Add defined (USE_CAIRO) for PNG. Add !defined USE_CAIRO for W32 PNG code. (x_clear_image): If cairo, destroy the surface in cr_data. (png_load): Add new cairo compatible implementation. (lookup_image_type): Add defined (USE_CAIRO) for define png_type. * src/xfns.c: New section Printing. (x-export-frames, x-page-setup-dialog, x-get-page-setup) (x-print-frames-dialog): New printing functions. (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo. (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin, Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape). (syms_of_xfns): Provide cairo and defvar cairo-version-string. defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog. * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw) (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle) (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window) (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data): Declare. (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros. (max_fringe_bmp, fringe_bmp): New variables. (x_gc_get_ext_data, x_extension_initialize) (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip) (x_set_cr_source_with_gc_foreground) (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap) (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame) (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames) (x_prepare_for_xlibdraw, x_set_clip_rectangles) (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle) (x_clear_window, x_fill_trapezoid_for_relief): New functions. (x_update_begin): Create cairo surface if needed. (x_draw_vertical_window_border): Call x_fill_rectangle for cairo. (x_update_end): Paint cairo drawing surface to xlib surface. (x_clear_under_internal_border, x_after_update_window_line): Adjust arguments to x_clear_area. (x_draw_fringe_bitmap): Call x_fill_rectangle. Get GC values and call x_cr_draw_image for cairo. Call x_reset_clip_rectangles instead of XSetClipMask. (x_set_glyph_string_clipping) (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles instead of XSetClipRectangles. (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use x_fill_rectangle instead of XFillRectangle. (x_draw_glyph_string_foreground) (x_draw_composite_glyph_string_foreground) (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead of XDrawRectangle. (x_draw_relief_rect): Add code for USE_CAIRO. Call x_reset_clip_rectangles instead of XSetClipMask. (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles, x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles instead of XSetClipMask. (x_draw_image_foreground, x_draw_image_foreground_1): x_draw_rectangle instead of XDrawRectangle. (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of XFillRectangle. (x_draw_image_glyph_string): If img has cr_data, use it as a cairo surface. (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of XSetClipRectangles, x_fill_rectangle instead of XFillRectangle. (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle., x_reset_clip_rectangles instead of XSetClipMask. (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw. (x_clear_area1): New function that calls XClearArea. (x_clear_area): Takes frame as parameter, calls x_clear_area1 for non-cairo. (x_clear_frame): x_clear_window instead of XClearWindow. (x_scroll_run): Set frame garbaged if cairo. (XTmouse_position): Initialize *part to 0. (x_scroll_bar_create): Adjust arguments to x_clear_area. (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area, x_fill_rectangle instead of XFillRectangle. (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust arguments to x_clear_area. (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle. (handle_one_xevent): Adjust arguments to x_clear_area. Destroy cairo surface for frame if ConfigureNotify. (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles. (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle, x_reset_clip_rectangles instead of XSetClipMask. (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles instead of XSetClipMask. (x_clear_frame_area): Adjust arguments to x_clear_area. (x_free_frame_resources): Call x_prepare_for_xlibdraw. (x_term_init): Call x_extension_initialize if cairo. (x_redisplay_interface): Add x_cr_define_fringe_bitmap, x_cr_destroy_fringe_bitmap for cairo. (x_initialize): Call x_cr_init_fringe for cairo. * src/xterm.h: Add include of cairo header files. (x_bitmap_record): Add img if cairo. (x_gc_ext_data): New struct for cairo. (x_display_info): Add ext_codes for cairo. (x_output): Add cr_context and cr_surface for cairo. (x_clear_area): Change arguments from Display*/Window to frame pointer. (x_query_color, x_begin_cr_clip, x_end_cr_clip) (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background) (x_cr_draw_frame, x_cr_export_frames): Declare. 2015-05-17 Johan Bockgård Fix integer-valued `mouse-highlight' (Bug#20590) * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope. 2015-05-17 Eli Zaretskii MS-Windows followup for ASCIIfication of curved quotes * lisp/term/w32console.el (terminal-init-w32console): Repeat the test for curved quotes being displayable, after switching the terminal encoding. (Bug#20545) 2015-05-17 Paul Eggert Spelling fixes 2015-05-17 Jan D Add comment that x_shift_glyphs_for_insert is never called. * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add comment that this function is never called. 2015-05-16 Glenn Morris * src/lisp.mk: Remove from repository and generate at build-time. * src/Makefile.in (lisp.mk): New rule to generate from loadup.el. (shortlisp_filter): New variable. (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk. (distclean): Remove lisp.mk. * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk. * lisp/loadup.el: Tweak layout to make it easier to parse. * make-dist: Do not distribute src/lisp.mk. 2015-05-16 Dmitry Gutov Display shorter dates in Git annotate output * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date format (when not overridden with vc-git-annotate-switches). (vc-git-annotate-time): Support the short format, as well as ISO 8601 that has been used until now (bug#5428). 2015-05-16 Paul Eggert ASCIIfy curved quotes on displays lacking them * lisp/international/mule-cmds.el (set-locale-environment): If curved quotes don't work, display straight ASCII approximations (Bug#20545). 2015-05-16 Glenn Morris Small src/Makefile simplification. * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix. * src/Makefile.in (lisp): Derive from shortlisp. ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk. 2015-05-16 Eli Zaretskii * lisp/help-mode.el (help-go-forward): Doc fix. (Bug#20577) * doc/lispref/debugging.texi (Profiling): Improve indexing. (Bug#20576) 2015-05-16 Dmitry Gutov Use `unless' to have one fewer `not' * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to have one fewer `not'. Remove redundant :group declarations from vc-git.el * lisp/vc/vc-git.el (vc-git-diff-switches) (vc-git-annotate-switches, vc-git-resolve-conflicts) (vc-git-program, vc-git-root-log-format): Remove the redundant :group declarations. 2015-05-16 Nicolas Petton Removes the predicate from lisp-complete-symbol (Bug#20456) * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate and remove it from the docstring. 2015-05-16 Dmitry Gutov Add new option vc-git-resolve-conflicts * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable. (vc-git-find-file-hook): Add to after-save-hook only when the above is non-nil. (vc-git-resolve-when-done): Update to honor the new variable. (Bug#20292) 2015-05-16 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string (tabulated-list-init-header): Document new behavior. (tabulated-list-print-fake-header): No nothing if `tabulated-list--header-string' is nil. (tabulated-list--header-string): Add a docstring. * doc/lispref/modes.texi (Tabulated List Mode): Document it. * etc/NEWS: Document it. 2015-05-15 Leo Liu Revert "Fix cps--gensym" * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14. 2015-05-15 Glenn Morris Replace AC_SUBST_FILE in configure with include in Makefiles. * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag) (oldxmenu_deps_frag, lisp_frag): Remove output variables/files. (AUTO_DEPEND): New output variable. * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure. (DEPFLAGS, MKDEPDIR): Set directly via conditional. (lwlib_deps_frag): Replace by conditional include. * lwlib/autodeps.mk: Remove file. * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure. (DEPFLAGS, MKDEPDIR): Set directly via conditional. (oldxmenu_deps_frag): Replace by conditional include. * oldXMenu/autodeps.mk: Remove file. * src/Makefile.in (AUTO_DEPEND): New, set by configure. (DEPFLAGS, MKDEPDIR): Set directly via conditional. (lisp_frag): Replace by an include. (deps_frag): Replace by conditional include. * src/autodeps.mk: Remove file. Tweak japanese.el's loading of dependencies. * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms. * lisp/language/japanese.el: Use require rather than load. * lisp/international/cp51932.el, lisp/international/eucjp-ms.el: Provide a feature. * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk: Provide a feature in the generated file. 2015-05-15 Jan D Fix NS warnings. * nsmenu.m (ns_popup_dialog) * nsimage.m (initFromXBM:width:height:fg:bg:) * nsfns.m (Fx_create_frame): Remove unused variables. (Fns_read_file_name): Initialize fname, remove ret. * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch. (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused variable. (init): Add parantesis in if. (ns_create_terminal): Assign set_horizontal_scroll_bar_hook. 2015-05-15 Jan Djärv Fix a enum conversion warning in macfont.m * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection. (MAC_CHARACTER_COLLECTION_*): Use the NS variants. 2015-05-15 Eli Zaretskii Support de-alt dictionary with Aspell. * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary): Support Aspell dictionaries with names like "de-alt". (Bug#20581) 2015-05-15 Jan Djärv cus-start.el: Add ns-confirm-quit. * cus-start.el: Add ns-confirm-quit. Fix warnings on OSX 10.10. * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions. (Fns_read_file_name): Check against MODAL_OK_RESPONSE. (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7 * nsmenu.m (initWithContentRect:styleMask:backing:defer:) * nsimage.m (allocInitFromFile, setPixmapData): Only call setScalesWhenResized for OSX < 10.6. * nsterm.h (EmacsScroller): Declare scrollerWidth. * nsterm.m (ns_copy_bits): New function that does not use deprecated NSCopyBits. (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits. (runAlertPanel): New function. (applicationShouldTerminate:): Call runAlertPanel. (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing for OSX < 10.10. (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10. (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int. (draggingEntered:): Returns NSDragOperation. (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7. 2015-05-15 Artur Malabarba * lisp/emacs-lisp/package.el: Don't ensure-init during startup (package--init-file-ensured): New variable. (package-initialize, package--ensure-init-file): Use it. 2015-05-15 Jan Djärv Honor :fore/background for XBM on NS (Bug#14969). * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM, initFromXBM takes bg, fg args, remove flip arg. (ns_image_from_XBM): Add bg, fg args. * image.c (x_create_bitmap_from_data) (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args. * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM. Remove flip arg. (initFromSkipXBM): Move code to initFromXBM. (initFromXBM): Actually set fg and bg, instead of playing alpha games. Use fg, bg from args (Bug#14969). Remove if (length) section, was always false. Remove bit flipping (bitPat, swt), generated incorrect images when width/height wasn't a multiple of 8. (setXBMColor:): Modify planes by comparing to saved xbm_fg. * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove flip arg. 2015-05-15 Artur Malabarba * lisp/emacs-lisp/package.el: Be more careful with the init file (package--ensure-init-file): Check that user-init-file is set, exists, is readable, and is writable. (Bug#20584) Also expand the docstring. 2015-05-14 Wilson Snyder Sync with upstream verilog-mode revision 6232468 * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face) (verilog-highlight-grouping-keywords): Fix use of face when `verilog-highlight-grouping-keywords' set. Reported by Jeff Pompa. (verilog-auto-reset): Fix AUTORESET to ignore member resets if parent is reset, bug906. Reported by Ken Schmidt. (verilog-auto-inout-module): Add fourth regexp argument to AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856. Reported by John Tillema. (verilog-auto-inst-port): Fix AUTOINST interfaces to not show modport if signal attachment is itself a modport. Reported by Matthew Lovell. (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with always_comb and always_latch, bug844. Reported by Greg Hilton. (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging with many curly-bracket pairs, bug663. (verilog-set-auto-endcomments): Fix end comments for functions of type void, etc. Reported by Alex Reed. (verilog-do-indent): Fix electric tab deleting form-feeds. Note caused by indent-line-to deleting tabls pre 24.5. (verilog-nameable-item-re): Fix nameable items that can have an end-identifier to include endchecker, endgroup, endprogram, endproperty, and endsequence. Reported by Alex Reed. (verilog-label-be): When auto-commenting a buffer, consider auto-comments on all known keywords (not just a subset thereof). Reported by Alex Reed. (verilog-auto-end-comment-lines-re) (verilog-end-block-ordered-re, verilog-set-auto-endcomments): Automatically comment property/endproperty blocks to match other similar blocks like sequence/endsequence, function/endfunction, etc. Reported by Alex Reed. (verilog-set-auto-endcomments): Detect the function- or task-name when auto-commenting blocks that lack an explicit portlist. Reported by Alex Reed. (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to allow post-AUTO user fixups, bug826. Reported by Dennis Muhlestein. (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if' is nil, fix indenting initial/final to match always statements, bug825. Reported by Tim Clapp. (verilog-extended-complete-re): Fix indentation of DPI-C imports with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong Mao and Jason Forkey. (verilog-read-decls): Fix parsing typed interfaces. Fix AUTOINOUTMODPORT missing types. Reported by Stephan Bourduas. Fix localparam not being ignored in AUTOINSTPARAM, bug889. Reported by Shannon Hill. (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY, bug793. Reported by Pierre-David Pfister. (verilog-auto-arg-format, verilog-auto-arg-ports): Add verilog-auto-arg-format to support newlines in AUTOARG. Reported by Jie Xiao. (verilog-batch-execute-func): Do not batch re-auto files loaded by Local Variables. Fix printing "no changes to be saved" with verilog-batch. Reported by Dan Dever. (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting interface-only modules, bug721. Reported by Dean Hoyt. Author: Alex Reed * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't treat ':' as the start of a labeled statement, bug905. Reported by Enzo Chi. (verilog-directive-re, verilog-compiler-directives) (verilog-keywords): Match full set of IEEE 2012-1800 compiler directives (plus some extras) when determining indentation, bug 901. Reported by Bernd Beuster. (verilog-at-constraint-p): Fix indentation of coverpoint bins if iff expression doesn't start with word-character, bug900. (verilog-optional-signed-range-re, verilog-optional-signed-re): Fix incorrect indentation/alignment of unsigned declarations, bug897. (verilog-looking-back, verilog-in-attribute-p): Fix labling of always constructs, bug895. (verilog-calc-1): Fix verilog-mode constraint indentation, bug324. Reported by Eric Mastromarchi. (verilog-beg-of-statement): Fix indenting for some forms of constraintsm bug433. Reported by Brad Parker. Fix indentation of continued assignment incorrect if first line ends with ']', bug437. Reported by Dan Dever. Fix indention of cover inside an ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while blocks, bug842. (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859. Reported by Kaushal Modi. (verilog-set-auto-endcomments): Fix endlabel end comments, bug888. (verilog-backward-token): Fix indenting sensitivity lists with named events, bug840. Reed. (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if' nil not honoring 'forever', 'foreach', and 'do' keywords. 2015-05-14 Paul Eggert Check for invalid GTK+ monitor scales * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales, INT_MAX for too-large scales. All callers changed to assume the result is valid (Bug#20432). (xg_frame_set_char_size, xg_update_scrollbar_pos): Calculate scale only if needed. show ASCII approximations instead. 2015-05-14 Eli Zaretskii Fix daemon crashes when linum-mode is turned on early on * src/window.c (Fwindow_end): Don't try calling display engine functions on initial-frame frame. (Bug#20565) Fix selective diff browsing in Ediff * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the beginning of the region before searching for the ediff-regexp-focus-* regexps. (Bug#20568) 2015-05-14 Jan D Fixes Bug#20142. * gtkutil.c (delete_cb): Don't send delete event here, it does arrive in the main loop, even for Gtk 3 (Bug#20142). Don't access display after i/o error (Bug#19147). * xterm.c (x_connection_closed): Add third arg ioerror. If ioerror, set display to 0 (Bug#19147). (x_error_quitter): Call x_connection_closed with third arg false. (x_io_error_quitter): Call x_connection_closed with third arg true. Handle GTK_SCALE, fixes Bug#20432. * gtkutil.c (xg_get_gdk_scale): New function. (xg_frame_set_char_size) (x_wm_set_size_hint, xg_get_default_scrollbar_width) (xg_get_default_scrollbar_height) (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account when setting sizes (Bug#20432). 2015-05-13 Leo Liu Fix cps--gensym * lisp/emacs-lisp/generator.el (cps--gensym): Fix. 2015-05-13 Glenn Morris Fix bootstrap (void function cl-member). * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file. * lisp/emacs-lisp/cl-seq.el: Provide a feature. 2015-05-13 Stefan Monnier * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc. * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Avoid defalias for closures which are not immutable. (cl--generic-prefill-dispatchers): New macro. Use it to prefill the dispatchers table with various entries. * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook): * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook. 2015-05-13 Eli Zaretskii Improve tagging of C bindings in DEFVAR_* * src/Makefile.in (TAGS): Add --regex options to tag the C binding from DEFVAR_*. 2015-05-13 Paul Eggert * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548). 2015-05-12 Glenn Morris * lisp/progmodes/tcl.el (tcl-filter): Handle comint-prompt-read-only like gud.el does. (Bug#20549) Add basic VC push support. * lisp/vc/vc.el (vc-push): New autoloaded command. * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push. * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull. (vc-bzr-pull): Reimplement using vc-bzr--pushpull. (vc-bzr-push): New. * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull. (vc-git-pull): Reimplement using vc-git--pushpull. (vc-git-push): New. * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull. (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull. * doc/emacs/maintaining.texi (Pulling / Pushing): Rename from "VC Pull". Mention pushing. (VC With A Merging VCS, VC Change Log): Update xrefs. (Branches): Update menu. * doc/emacs/emacs.texi: Update menu. * etc/NEWS: Mention this. 2015-05-12 Nicolas Petton Improve the seq pcase pattern and the `seq-let' macro * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the object is a sequence, and binds each element of ARGS to the corresponding element of the sequence. 2015-05-12 Eli Zaretskii Fix tags created from DEFVAR_* declarations in C * src/Makefile.in (TAGS): Improve the --regex argument to etags, to make tags extracted from DEFVAR_* declarations more accurate. Add a test suite for etags * test/etags/: New test suite, adapted from http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2, whose original author is Francesco Potortì . Fix tagging of symbols in C enumerations * lib-src/etags.c (consider_token): Don't tag symbols in expressions that assign values to enum constants. See http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html for details. (C_entries): Reset fvdef to fvnone after processing a preprocessor conditional and after a comma outside of parentheses. 2015-05-12 Glenn Morris * lisp/url/url-handlers.el (url-file-name-completion) (url-file-name-all-completions): Silence compiler. * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias. * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time. (Bug#20554) 2015-05-12 Stefan Monnier * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments (cl--generic-mandatory-args): Remove. (cl--generic-split-args): New function. (cl-generic-define, cl--generic-lambda): Use it. (cl-generic-define-method): Use it as well, and add support for context args. (cl--generic-get-dispatcher): Handle &context dispatch. (cl--generic-cache-miss): `dispatch-arg' can now be a context expression. (cl--generic-dispatchers): Pre-fill. * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test. 2015-05-11 Glenn Morris * make-dist: Abort if "make ChangeLog" fails. Add "--no-changelog". 2015-05-11 Stefan Monnier * lisp/term/xterm.el: Fix xterm-paste handling for rxvt * lisp/term/rxvt.el: Require term/xterm. (rxvt-function-map): Use xterm-rxvt-function-map. (rxvt-standard-colors): Move before first use. (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors. (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove. * lisp/term/xterm.el (xterm-rxvt-function-map): New var. Move shared bindings between rxvt and xterm to it. (xterm-function-map): Use it. Move the xterm-paste binding to xterm-rxvt-function-map (bug#20444). (xterm-standard-colors): Move before first use. (xterm--push-map): New function. (xterm-register-default-colors): Take standard colors as argument. (terminal-init-xterm): Use it. Adjust call to xterm-register-default-colors. 2015-05-11 Glenn Morris * lisp/term/x-win.el: Quieten --without-x compilation. (x-own-selection-internal, x-disown-selection-internal) (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal): Declare. * Makefile.in (emacslog): Remove srcdir. (ChangeLog): Update for the above. 2015-05-11 Paul Eggert Spelling fix 2015-05-10 Fabián Ezequiel Gallina python.el: better limit for looking-back calls * lisp/progmodes/python.el (python-shell-accept-process-output): Use last comint prompt start as limit for looking-back. 2015-05-10 Stefan Monnier CEDET (srecode-insert-fcn): Fix use of oref on a class * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on a class. Reported by Pierre Lorenzon. (srecode-template-inserter-point): Remove declaration. CEDET (srecode-create-dictionary): Avoid obsolete object name * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary): Don't use a symbol as an object name. Reported by Pierre Lorenzon. 2015-05-10 Paul Eggert C-x 8 shorthands for curved quotes, Euro, etc. Although C-x 8 lets you insert arbitrary Unicode characters, it's awkward to use this to insert commonly used symbols such as curved quotes, the Euro symbol, etc. This patch adds simpler sequences for characters commonly found in English text and in basic math. For example, assuming the Alt key works on your keyboard and iso-transl is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET" to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK). (Bug#20499) * doc/emacs/mule.texi (Unibyte Mode): A few other printing characters now work too. * etc/NEWS: Document this. * lisp/international/iso-transl.el (iso-transl-char-map): Also support the following characters: ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥ 2015-05-10 Dmitry Gutov Add xref-find-regexp * lisp/progmodes/xref.el (xref-find-function): Describe the `matches' action. (xref-find-regexp): New command, using it. (xref-collect-references): Rename to xref-collect-matches. (xref--collect-reference): Rename to xref--collect-match. (xref-collect-matches, xref--collect-match): Accept new argument, KIND. Update accordingly. (xref--regexp-to-extended): New function. * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the `matches' action. (elisp--xref-find-matches): Accept new argument. Resolve a FIXME. * lisp/progmodes/etags.el (etags-xref-find): Support the `matches' action. (etags--xref-find-matches): New function. 2015-05-10 Glenn Morris * Makefile.in: Fixes for recent change-history changes. (change-history-nocommit): Update footer regexp. Ensure output script stays executable. 2015-05-10 Nicolas Petton New version of `seq-let' based on a pcase pattern * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1). 2015-05-10 Przemysław Wojnowski Add basic HTML5 tags and a template * lisp/textmodes/sgml-mode.el: Basic HTML5 support. (html-tag-alist): Add HTML5 tags. (html-tag-help): Add new tags descriptions. (html-navigational-links): Template for nav links. (html-html5-template): Template for a HTML5 page. 2015-05-10 Dmitry Gutov semantic/symref/grep: Don't use word boundaries * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): Instead of wrapping input in word boundaries, check that the characters before and after are not word constituents. semantic/symref/grep: Support regexp search * lisp/cedet/semantic/symref.el (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when the search type is regexp. * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): Support the regexp search type. Pass -E to Grep when it's used. semantic-symref-regexp: Allow to input an arbitrary string * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp): Allow to input an arbitrary string interactively. Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order): Remove tag-symbol-match-p from the default value (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html). Declare find-tag obsolete * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of xref-find-definitions. 2015-05-10 Jan D Draw composite string correctly (Bug#20537). * nsterm.m (ns_draw_composite_glyph_string_foreground): New function. (ns_draw_glyph_string): Call it (Bug#20537). 2015-05-09 Eli Zaretskii Avoid infloop in ERC * lisp/simple.el (line-move-to-column): Ignore field boundaries while computing line beginning position. (Bug#20498) 2015-05-08 Glenn Morris * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead. * build-aux/gitlog-to-emacslog: Check called from right directory. (srcprefix): Remove. * build-aux/gitlog-to-emacslog: Get rid of "distprefix". * Makefile.in (ChangeLog): No longer pass "distprefix". * make-dist: Update "make ChangeLog" syntax for the above change. * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2". * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog. * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer. Add command-line option-parsing to gitlog-to-emacslog. * build-aux/gitlog-to-emacslog: Add command-line options. By default, refuse to remove an existing output file. * Makefile.in (CHANGELOG): Update default. (ChangeLog): Do not test for existing file. (change-history-nocommit): Ensure temp file does not exist. Quieten --without-x compilation. * lisp/term/common-win.el: Provide a feature. * lisp/term/x-win.el (term/common-win): Require it. * lisp/dired-aux.el (dired-do-print): Require lpr. Quieten compilation, eg in --without-x builds. * lisp/dired-aux.el (lpr-printer-switch): * lisp/frame.el (tool-bar-height): * lisp/linum.el (font-info): * lisp/window.el (font-info, overflow-newline-into-fringe) (tool-bar-height): * lisp/emacs-lisp/package-x.el (tar-data-buffer): * lisp/gnus/gnus-util.el (iswitchb-mode): * lisp/mail/rmailmm.el (libxml-parse-html-region): * lisp/net/nsm.el (gnutls-peer-status) (gnutls-peer-status-warning-describe): * lisp/net/shr.el (libxml-parse-xml-region): * lisp/url/url-http.el (gnutls-peer-status): Declare. 2015-05-08 Stefan Monnier CEDET (srecode-pop, srecode-peek): Don't use `subclass' * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use `subclass' since they're never called with a class. (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete srecode-dictionary-child-p. 2015-05-08 Nicolas Richard help--binding-locus: Document argument POSITION. * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530) 2015-05-08 Paul Eggert Merge from gnulib. * doc/misc/texinfo.tex: Get latest version. 2015-05-08 Oleh Krehel ffap.el (ffap-read-file-or-url): Fix completing-read call * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of `completing-read' should be a symbol. 2015-05-08 Eli Zaretskii Verify file modifications by other programs * src/filelock.c (lock_file): Check whether the file was modified since it was visited even if 'create-lockfiles' is nil. (Bug#18828) Fix keyboard macros that include function keys * src/keyboard.c (read_char_minibuf_menu_prompt): Record function keys in the macro before returning. (Bug#20454) 2015-05-08 Glenn Morris * build-aux/gitlog-to-changelog: Treat "Tiny-change" like "Copyright-paperwork-exempt". (Bug#20324) * lisp/vc/log-edit.el: Handle "(tiny change)". (Bug#20324) (log-edit-rewrite-tiny-change): New variable. (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt". (log-edit-changelog-ours-p): Set log-edit-author to a cons. * etc/NEWS: Mention this. * lisp/calc/calc.el (math-zerop): Declare. * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare. 2015-05-07 Artur Malabarba * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec Support the case when BINDINGS is a single tuple. (Bug#20525) * etc/NEWS: Fix typo in commit 14bb519 2015-05-07 Jan D Warn for multiple display crash for all Gtk+ versions. * configure.ac: Warn for multiple display crash for all Gtk+ versions. Output URL to Gtk+ bug (Bug#20452). ns-win.el (ns-paste-secondary): Use gui-get-selection. * ns-win.el (ns-paste-secondary): Use gui-get-selection. 2015-05-07 Artur Malabarba * lisp/emacs-lisp/package.el: New "external" package status An external package is any installed package that's not built-in and not from `package-user-dir', which usually means it's from an entry in `package-directory-list'. They are treated much like built-in packages, in that they cannot be through the Package Menu deleted and are not considered for upgrades. (package-desc-status): Identify if a package is installed outside `package-user-dir'. (package-menu--print-info-simple) (package-menu--status-predicate): Add support for it. * etc/NEWS: Document it. 2015-05-06 Stefan Monnier * lisp/mail/rmail.el: Use lexical-binding (rmail-bury): Remove unused var `buffer-to-bury'. (rmail-get-new-mail): Remove unused vars `opoint' and `success'. (rmail-parse-url): Remove unused var `proto', `user', and `host'. (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'. (rmail-insert-inbox-text): Remove unused var `movemail'. (rmail-add-mbox-headers): Remove unused var `limit'. (rmail-undelete-previous-message): Remove unused var `value'. (rmail-reply): Remove unused vars `resent-to', `resent-cc', `resent-reply-to'. (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare. (rmail-restore-desktop-buffer): Rename arguments. 2015-05-06 Glenn Morris * Makefile.in (change-history-commit): Add missing piece of previous. Avoid unnecessary bumping of Makefile.in's timestamp. * Makefile.in (gen_origin): Move to gitlog-to-emacslog. (emacslog): New variable. (ChangeLog): Use $emacslog. Don't pass $gen_origin. (unchanged-history-files): Use $emacslog rather than Makefile.in. (change-history-nocommit): Store hash in $emacslog. * build-aux/gitlog-to-emacslog (gen_origin): Move default here. * admin/update_autogen (changelog_files): Update for the above. * Makefile.in: Don't always insist on removing existing "ChangeLog". (CHANGELOG): New variable. (no-ChangeLog): Remove. (ChangeLog): Replace "no-ChangeLog"; pass output file to script. (change-history-nocommit): Use a temp file rather than insisting on deletion of any existing "ChangeLog". * build-aux/gitlog-to-emacslog: Allow specification of output. * admin/update_autogen: Add option to update ChangeLog. (usage): Mention -H. (changelog_flag, changelog_n, changelog_files): New variables. (main): Check for -H, and maybe run change-history-nocommit. 2015-05-06 Stefan Monnier * lisp/subr.el (delete-dups): Pre-size the hashtable. (define-modify-macro): Make sure cl--arglist-args is defined * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure cl--arglist-args is defined (bug#20517). 2015-05-06 Glenn Morris * Makefile.in (change-history-nocommit): New. 2015-05-06 Dmitry Gutov Only cancel timer when it is non-nil * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel timer when it is non-nil (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html). 2015-05-06 Glenn Morris Quieten cedet compilation * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag): Invert fboundp test to quieten on current Emacs. * lisp/cedet/ede/config.el (ede-shell-run-something) (semanticdb-file-table-object, semanticdb-needs-refresh-p) (semanticdb-refresh-table): Declare. (ede-preprocessor-map): Require semantic/db. Quieten cc-mode compilation * lisp/progmodes/cc-awk.el (c-forward-sws): * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword): Declare. 2015-05-06 Oleh Krehel lisp/subr.el (delete-dups): Avoid nreverse. 2015-05-06 Artur Malabarba * lisp/subr.el (delete-dups): Make it destructive again. 2015-05-06 Paul Eggert * doc/lispref/sequences.texi (Sequence Functions): Fix quoting. 2015-05-06 Stefan Monnier * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487) * lisp/emacs-lisp/testcover.el: Use lexical-binding. (testcover--read): Rename from testcover-read. Change calling convention. Use edebug-read-and-maybe-wrap-form now that edebug-read is gone. (testcover-start): Use add-function. Move edebug-all-defs binding to testcover--read. (testcover-this-defun): Tighten scope of edebug-all-defs binding. (testcover-mark): Remove unused var `item'. * src/lread.c (syms_of_lread): Default load-read-function to `read'. 2015-05-06 Oleh Krehel lisp/subr.el (delete-dups): Use a hash table * lisp/subr.el (delete-dups): When there are more than 100 candidates, use a hash table. This can result in ~500 times speed-up for typical collections of size 5000, like that of `load-library'. 2015-05-06 Stefan Monnier CEDET: Avoid `oref' on classes in a few more cases * lisp/cedet/ede/generic.el (ede-find-target): * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes. * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused var `prefix'. * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare. (semantic-symref-perform-search): Remove unused var `pat'. CEDET (srecode-compile-inserter): Avoid `oref' on classes * lisp/cedet/srecode/compile.el (srecode-compile-inserter): Avoid `oref' on classes (bug#20491). (srecode-compile-split-code): Remove unused var `key'. 2015-05-06 Dmitry Gutov Clean up pulse.el a little * lisp/cedet/pulse.el (pulse): Remove. (pulse-momentary-timer): Save instead of the stop time. (pulse-momentary-highlight-overlay): Call pulse-momentary-unhighlight first thing. Treat pulse-momentary-overlay as a single value, not a list. Save the created timer. Only pass the stop time to the timer. (pulse-tick): Update accordingly. (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a single value. Cancel the timer. 2015-05-06 Tassilo Horn Support the biblatex journaltitle field * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry): Support the biblatex journaltitle field. 2015-05-05 Glenn Morris Minor declare-function improvement * lisp/emacs-lisp/bytecomp.el (byte-compile-macroexpand-declare-function): Handle declarations after calls. (Bug#20509) * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration. * lisp/w32-fns.el (w32-shell-name): Silence compiler. 2015-05-05 Dmitry Gutov Pulse using a timer * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable. (pulse-momentary-highlight-overlay): Set up the timer instead of calling `pulse' (http://lists.gnu.org/archive/html/emacs-devel/2015-05/). (pulse-tick): New function. (pulse-momentary-unhighlight): Cut off the stop time. (pulse-delay): Update the docstring WRT to not using sit-for. Add semantic/symref/grep file patterns for ruby-mode * lisp/cedet/semantic/symref/grep.el (semantic-symref-filepattern-alist): Add patterns for ruby-mode. Clarify the docstring. Don't require match * lisp/progmodes/xref.el (xref--read-identifier): Don't require match. That doesn't work for every command, and some identifier completion tables are bound to be imperfect anyway. 2015-05-05 Stefan Monnier * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505) (semantic-grammar--template-expand): New function. (semantic-grammar-header, semantic-grammar-footer): Use it. (semantic-grammar--lex-block-specs): Remove unused var `block-spec'. (semantic-grammar-file-regexp): Refine regexp. (semantic-grammar-eldoc-get-macro-docstring): Use elisp-get-fnsym-args-string when available. (semantic-idle-summary-current-symbol-info): Use new elisp-* names instead of the old eldoc-* names. * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back from elisp-mode.el. Tweak calling convention. * lisp/progmodes/elisp-mode.el (package-user-dir): Declare. (elisp-get-fnsym-args-string): Add `prefix' argument. Rename from elisp--get-fnsym-args-string. (elisp--highlight-function-argument): Add `prefix' arg. (elisp-get-var-docstring): Rename from elisp--get-var-docstring. (elisp--docstring-format-sym-doc): Move back to eldoc.el. 2015-05-05 Glenn Morris * lisp/help-fns.el (describe-function-1): Handle builtins with advertised calling conventions. (Bug#20479) 2015-05-05 Nicolas Petton Merge branch 'seq-let' Update `seq-let' documentation * doc/lispref/sequences.texi: Update the documentation of `seq-let' with the support of `&rest'. Add support for &rest in `seq-let' * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest' in the argument list. * test/automated/seq-tests.el: Add a test for parsing and binding `&rest' in `seq-let'. 2015-05-05 Paul Eggert Spelling fixes 2015-05-05 (tiny change) Pierre Lorenzon * eieio-custom.el (eieio-object-value-get): Add missing increment (Bug#20467) (eieio-object-value-create): Adjust to new slots representation (Bug#20467) * eieio-custom.el (eieio-object-value-create): Fix missed adjustment to new representation of slots metadata. 2015-05-05 Nicolas Petton * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring. 2015-05-05 Dmitry Gutov Work around "Attempt to modify read-only object" * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from elisp--xref-find-definitions, to work around "Attempt to modify read-only object" error. Only skip some variables that have function counterparts * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Only skip minor-mode-named variable if it's defined in a Lisp file, and it's in minor-mode-list (bug#20506). * test/automated/elisp-mode-tests.el (elisp-xref-finds-both-function-and-variable) (elisp-xref-finds-only-function-for-minor-mode): New tests. 2015-05-04 Dmitry Gutov Buttonize the whole line, including the number at the beginning * lisp/progmodes/xref.el (xref--location-at-point): Revert the previous change. (xref--insert-xrefs): Buttonize the whole line, including the number at the beginning. Make sure we're inside the let bindings * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Make sure we're inside the let bindings. * test/automated/elisp-mode-tests.el (elisp-completes-functions-after-let-bindings): New test. 2015-05-04 Glenn Morris * lisp/cedet/semantic/grammar.el (eldoc-function-argstring) (eldoc-docstring-format-sym-doc, eldoc-last-data-store) (eldoc-get-fnsym-args-string, eldoc-get-var-docstring): Remove outdated declarations. Replace instances of "(eval-when-compile (autoload ...))" * lisp/gnus/gnus-art.el (nneething-get-file-name): Declare rather than autoload. * lisp/gnus/gnus-async.el (gnus-html-prefetch-images): Remove pointless autoload. * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time. (gnus-topic-create-topic, gnus-topic-enter-dribble): Declare rather than autoload. * lisp/gnus/mm-archive.el (gnus-recursive-directory-files) (mailcap-extension-to-mime): Autoload at run-time. * lisp/gnus/mm-util.el (latin-unity-massage-name) (latin-unity-maybe-remap, latin-unity-representations-feasible-region) (latin-unity-representations-present-region): Declare rather than autoload. * lisp/gnus/mml-smime.el (epg-make-context) (epg-passphrase-callback-function): Autoload at run-time. (epg-context-set-signers, epg-context-result-for) (epg-new-signature-digest-algorithm) (epg-verify-result-to-string, epg-list-keys, epg-verify-string) (epg-sign-string, epg-encrypt-string) (epg-context-set-passphrase-callback, epg-sub-key-fingerprint) (epg-configuration, epg-expand-group, epa-select-keys): Declare rather than autoload. * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query): Autoload at run-time. (gnus-group-topic-name, nnimap-buffer, nnimap-command) (gnus-registry-get-id-key, gnus-registry-action): Declare rather than autoload. * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time. * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam) (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam) (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save) (spam-stat-split-fancy): Remove pointless autoloads. * lisp/net/mairix.el: Load gnus-util when compiling. (gnus-group-read-ephemeral-group, gnus-summary-toggle-header) (message-field-value): Declare rather than autoload. (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field): Check gnus-alive-p is fbound. (vm-quit, vm-visit-folder, vm-select-folder-buffer) (vm-check-for-killed-summary, vm-error-if-folder-empty) (vm-get-header-contents, vm-select-marked-or-prefixed-messages): Declare rather than autoload. * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload. * lisp/gnus/mml-smime.el (epg-key-sub-key-list) (epg-sub-key-capability, epg-sub-key-validity): Fix declarations. * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare. * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration. * lisp/allout.el (epg-user-id-string, epg-key-user-id-list): * lisp/emacs-lisp/package.el (epg-signature-status): Fix declarations. * lisp/play/gametree.el (gametree-show-children-and-entry) (gametree-apply-layout, gametree-mouse-show-subtree) (gametree-mouse-hide-subtree): Replace obsolete outline aliases. * lisp/emacs-lisp/check-declare.el (check-declare-verify): Handle cl-defgeneric, cl-defmethod. 2015-05-04 Dmitry Gutov Highlight both type and symbol name * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Highlight both type and symbol name. Insert, highlight and align line numbers in xref output * lisp/progmodes/etags.el (xref-location-line): Specialize for xref-etags-location. * lisp/progmodes/xref.el (xref-location-line): New generic method. (xref-file-location): Add reader for the line slot. (xref--location-at-point): Skip to the `xref-location' property. (xref--collect-reference): Drop the line number from description. (xref--insert-xrefs): Insert, highlight and align line numbers. 2015-05-04 Daniel Colascione Fix previous commit 2015-05-04 Dmitry Gutov Don't pulse the indentation, or the newline * lisp/cedet/pulse.el (pulse-lighten-highlight) (pulse-reset-face): Fall back to the inherited background attribute in FACE. (pulse-momentary-highlight-region): Add autoload cookie. * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the indentation, or the newline, if the line's non-empty (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html). 2015-05-04 Daniel Colascione Add `save-mark-and-excursion', which has the old `save-excursion' behavior * doc/lispref/positions.texi (Excursions): Document `save-mark-and-excursion'. * lisp/font-lock.el (font-lock-fontify-block): Use `save-mark-and-excursion' instead of `save-excursion', restoring Emacs 24 behavior. * lisp/simple.el (save-mark-and-excursion--save) (save-mark-and-excursion--restore): New functions. (save-mark-and-excursion): New user macro. * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion' in `save-excursion' documentation. 2015-05-04 Dmitry Gutov Classify lone symbol inside let varlist as variable * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Classify lone symbol inside let varlist as variable. * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings): New test. Add xref-pulse-on-jump * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line): Add autoload cookie. * lisp/progmodes/xref.el (xref-pulse-on-jump): New option. (xref--maybe-pulse): New function. (xref-pop-marker-stack, xref--pop-to-location) (xref--display-position): Use it. (xref--location-at-point): Use back-to-indentation. 2015-05-04 Stefan Monnier * lisp/org/org-{macs,list}.el: Fix lexical warnings * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'. (org-list-get-next-item, org-list-get-prev-item) (org-list-get-children): Mark unused arg `struct'. (org-list-use-alpha-bul-p): Remove unused var `bul'. (org-toggle-checkbox): Mark unused var. (org-update-checkbox-count): Remove unused var `box-num'. (org-adapt-indentation): Declare. (org-list-parse-list): Declare var instead of adding a dummy duplicate. (org-list-send-list): Remove unused var `txt'. (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'. (org-list-to-subtree): Add prefix to dyn-bind var, and declare them. * lisp/org/org-macs.el: Use `declare'. (org-with-limited-levels): Declare dyn-bound vars. 2015-05-04 Eli Zaretskii Fix minor issues with CEDET on MS-Windows * lisp/cedet/semantic/symref/idutils.el (semantic-symref-parse-tool-output-one-line): Fix the search regexp to match MS-Windows file names with drive letters. (Bug#19468) * lisp/cedet/semantic/symref/grep.el (semantic-symref-grep-use-template): Remove "--color=always" from Grep switches on MS-Windows. (semantic-symref-grep-shell): Use shell-file-name as the default value, so this works not only on Posix platforms. (semantic-symref-perform-search): Use shell-quote-argument instead of literal '..' for portable quoting of Grep command-line argument. Use shell-command-switch instead of a literal "-c". * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-get-include-paths): Use file-name-absolute-p to test for an absolute file name in a portable way. 2015-05-04 Artur Malabarba * lisp/emacs-lisp/package.el: Remove `package--silence' variable (package-import-keyring, package-refresh-contents) (package-compute-transaction, package--save-selected-packages) (package-install-from-archive, package-delete) (package-menu--perform-transaction): Use `inhibit-message' instead. (package--compile): Set `warning-minimum-level' to :error. 2015-05-03 Stefan Monnier * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom (terminal-init-screen): Use it (bug#20356). * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'. (xterm--extra-capabilities-type): New const. (xterm-extra-capabilities): Use it. (xterm--version-handler): Lower the pseudo-version for `screen'. 2015-05-03 Dmitry Gutov xref--insert-xrefs: Tweak the faces * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces. Always insert a newline at the end (to avoid mouse-face background tail at the last line). elisp-completion-at-point: Prioritize being quoted over funpos * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Only consider function position when not inside quoted form (bug#20425). * test/automated/elisp-mode-tests.el: New file. Stop vc-print-log from jumping to the top * lisp/vc/vc.el (vc-print-log-internal): Pass nil GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION is not specified. (vc-incoming-outgoing-internal): Always pass nil. (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't call it, and don't set vc-sentinel-movepoint (bug#15322). (vc-print-root-log): Don't fetch the root working revision, nor pass it to vc-print-log-internal. 2015-05-02 Michael Vehrs Fix display of keyboard layouts for right-to-left scripts * lisp/international/quail.el (quail-insert-kbd-layout): Force left-to-right paragraph direction. 2015-05-02 K. Handa * cmds.c (internal_self_insert): When we insert spaces for padding, set point before the padding spaces, not after them. 2015-05-02 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'. 2015-05-02 Dmitry Gutov Fix etags-xref-find for references * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'. * lisp/progmodes/etags.el (etags-xref-find): Ditto. Prompt for directory if no tags tables are loaded (bug#19468). 2015-05-02 Philipp Stephani Update the options in whitespace-style defcustom * lisp/whitespace.el (whitespace-style): Use `set' instead of a `repeat' because the option is really set-like. Add missing options. Reorder options to match the order in the documentation. (Bug#20346) 2015-05-02 Eli Zaretskii Fix error diagnostics of c-macro-expand * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out too early if no start-marker string was found -- that generally means cpp exited abnormally, and we still want to show its error messages to the user. Don't require Texinfo 5.0 for Emacs documentation * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and "@set txicodequotebacktick" instead of "@codequotebacktick on" and "@codequoteundirected on", respectively, to avoid requiring Texinfo 5.x for Emacs documentation. 2015-05-01 Simen Heggestøyl * lisp/files.el (pwd): When called with a prefix argument, insert the current default directory at point. 2015-05-01 Stefan Monnier * lisp/isearch.el (isearch-mode-map): Allow backspace remapping * lisp/isearch.el (isearch-mode-map): Don't inhibit function-key-map remapping for backspace (bug#20466). 2015-05-01 Dmitry Gutov Implement xref-find-references in etags and elisp-mode * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function. (elisp-xref-find): Use it. * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'. * lisp/progmodes/xref.el (xref-collect-references): (xref--collect-reference): New functions. 2015-05-01 Paul Eggert Prefer plain characters to Texinfo circumlocutions For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois', 'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources. Fix single-quoting style in PDF manuals The PDF versions of the GNU manuals used curved single quotes to represent grave accent and apostrophe, which made it a pain to cut and paste code examples from them. Fix the PDF versions to use grave accent and apostrophe for Lisp source code, keystrokes, etc. This change does not affect the info files, nor does it affect ordinary uses of curved single quotes in PDF. * doc/emacs/docstyle.texi: New file, which specifies treatment for grave accent and apostrophe, as well as the document encoding. * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi: * doc/lispintro/emacs-lisp-intro.texi: * doc/lispref/back.texi, doc/lispref/book-spine.texi: * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi: * doc/misc/ada-mode.texi, doc/misc/auth.texi: * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi: * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi: * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi: * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi: * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi: * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi: * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi: * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi: * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi: * doc/misc/gnus.texi, doc/misc/htmlfontify.texi: * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi: * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi: * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi: * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi: * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi: * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi: * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi: * doc/misc/smtpmail.texi, doc/misc/speedbar.texi: * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi: * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi: * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi: * doc/misc/woman.texi: Use it instead of '@documentencoding UTF-8', to lessen the need for global changes like this in the future. * doc/emacs/Makefile.in (EMACS_XTRA): * doc/lispintro/Makefile.in (srcs): * doc/lispref/Makefile.in (srcs): Add dependency on docstyle.texi. * doc/misc/Makefile.in (style): New macro. (${buildinfodir}/%.info, %.dvi, %.pdf, %.html) (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps): Use it. 2015-05-01 Glenn Morris * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it. * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match) (help-fns--signature): Declare. * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns. 2015-05-01 Nicolas Petton New macro seq-let, providing destructuring support to seq.el * lisp/emacs-lisp/seq.el (seq-let): New macro. `seq-let' is similar to `cl-destructuring-bind' but works on all sequence types supported by `seq.el'. Bump version number to 1.6. * test/automated/seq-tests.el: Add tests for seq-let. * doc/lispref/sequences.texi: Add documentation for seq-let. 2015-05-01 Pontus Michael * lisp/simple.el (blink-matching-open): Better behavior in minibuffer 2015-05-01 Glenn Morris * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous. 2015-05-01 Artur Malabarba * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations" This reverts commit 9a7ddde977378cb5276a81476ae458889c403267. This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d. With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'". (Bug#20445). 2015-05-01 K. Handa * mule-cmds.el (input-method-use-echo-area): Change :type to 'boolean. 2015-05-01 Lars Magne Ingebrigtsen Start using proportional fonts in eww by default * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since it seems to work well. Fix links in tables in shr * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that makes (some) links in tables not work. 2015-05-01 Jan D (ns-get-cut-buffer-internal): Remove this alias. * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias. 2015-04-30 Glenn Morris * lisp/emacs-lisp/ert.el (ert--special-operator-p): Update for 2015-02-08 change to indirect-function. * lisp/term/ns-win.el (ns-get-selection-internal): Remove declaration for function deleted 2014-10-21. * lisp/dom.el: Load subr-x when compiling, for when-let. Silence some compilation warnings * lisp/emacs-lisp/check-declare.el (compilation-forget-errors): * lisp/emulation/cua-base.el (delete-active-region): * lisp/net/net-utils.el (w32-get-console-output-codepage): * lisp/term/ns-win.el (ns-own-selection-internal) (ns-disown-selection-internal, ns-selection-owner-p) (ns-selection-exists-p, ns-get-selection): Declare for compiler.. Function declaration updates prompted by 'make check-declare' * lisp/emacs-lisp/package.el (lm-homepage): * lisp/gnus/gnus-util.el (iswitchb-read-buffer): * lisp/gnus/mm-decode.el (libxml-parse-html-region): * lisp/gnus/mml.el (libxml-parse-html-region): * lisp/gnus/nnrss.el (libxml-parse-html-region): * lisp/net/eww.el (libxml-parse-html-region): * lisp/net/shr.el (libxml-parse-html-region): * lisp/vc/vc-bzr.el (vc-annotate-convert-time): * lisp/vc/vc-cvs.el (vc-annotate-convert-time): * lisp/vc/vc-git.el (vc-annotate-convert-time): * lisp/vc/vc-hg.el (vc-annotate-convert-time): * lisp/vc/vc-mtn.el (vc-annotate-convert-time): * lisp/vc/vc-rcs.el (vc-annotate-convert-time): Update declaration. Remove compatibility code for 20-year old function renaming * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter): Make it an obsolete alias. (idlwave-shell-filter): Change all uses to comint-output-filter. 2015-04-30 Tassilo Horn Add ace-window face config * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face configuration. 2015-04-30 Paul Eggert Unclutter 'make doc' output a bit * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)): Use make subst rather than sh IFS to split target string apart. This makes 'make' output easier to follow. Merge from gnulib * doc/misc/texinfo.tex: Update from gnulib. 2015-04-30 Artur Malabarba * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh (package-menu--print-info): Obsolete. (package-menu--print-info-simple): New function. (package-menu--refresh): Use it, simplify code, and improve performance. * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry): Tiny performance improvement. * lisp/emacs-lisp/package.el (package--message): inhibit-message 2015-04-29 Paul Eggert Omit -Wstrict-overflow workaround in GCC 5 * src/process.c: Remove workaround for GCC -Wstrict-overflow bug if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1. Merge from gnulib This incorporates: 2015-04-29 extern-inline: no need for workaround in GCC 5.1 2015-04-26 file-has-acl: port to CentOS 6 * m4/acl.m4, m4/extern-inline.m4: Update from gnulib. 2015-04-29 Helmut Eller Set next-error-* in xref--xref-buffer-mode * xref.el (xref--xref-buffer-mode): Set `next-error-function' and `next-error-last-buffer'. (xref--next-error-function): New function. (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html) 2015-04-29 Fabián Ezequiel Gallina python.el: Fix warnings on looking-back calls missing LIMIT * lisp/progmodes/python.el (python-shell-accept-process-output): Pass LIMIT arg to looking-back. 2015-04-29 Artur Malabarba * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress (package--download-and-read-archives): Use pushnew instead of append. If something terrible happened during a previous download, simply refreshing should now make things work again. 2015-04-29 Dmitry Gutov Introduce etags-xref-find-definitions-tag-order * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order): New variable. (etags--xref-find-definitions): Use it (bug#19468). 2015-04-29 Eli Zaretskii PATH- and completion-related fixes in Eshell on MS-Windows * lisp/eshell/esh-ext.el (eshell-search-path): When running on MS-Windows, prepend "." to list of directories produced from PATH, as Windows always implicitly searches the current directory first. (eshell-force-execution): Make it have a non-nil default value on MS-Windows and MS-DOS. * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If eshell-force-execution is non-nil, complete on readable files and directories, not only executables. When running on MS-Windows, prepend "." to list of directories produced from PATH, as Windows always implicitly searches the current directory first. 2015-04-29 Sam Steingold bury RCIRC buffers when there is no activity lisp/net/rcirc.el (rcirc-non-irc-buffer): remove (rcirc-bury-buffers): new function (rcirc-next-active-buffer): when there is no new activity, use `rcirc-bury-buffers' to hide all RCIRC buffers 2015-04-29 Krzysztof Jurewicz (tiny change) Fix DBUS query result parsing for secrets-search-items * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result parsing. The function assumed that return value of the SearchItems method called on a collection is a list of two lists, however this is true only when no collection is specified. GNOME had used to incorrectly return a list of two lists in both cases, but this was already fixed: https://bugzilla.gnome.org/show_bug.cgi?id=695115 . Also fix an incorrect information in the secrets-search-items’ docstring. (Bug#20449) 2015-04-29 Artur Malabarba * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message' (byte-compile--message): Use `inhibit-message' instead of hiding the previous message with (message nil). 2015-04-29 Oleh Krehel Remove the deprecated INTERNAL_FIELD macro by expanding it * src/lisp.h (INTERNAL_FIELD): Remove. (DEFVAR_KBOARD): Modify accordingly. * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h: * syntax.c: Adjust users. * src/buffer.c (compact_buffer): Use BVAR. 2015-04-29 Glenn Morris Replace an obsolete function alias * lisp/isearch.el (isearch-yank-x-selection): * lisp/mouse-copy.el (mouse-drag-secondary-pasting) (mouse-drag-secondary-moving): * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function): Replace obsolete alias x-get-selection with gui-get-selection. 2015-04-29 Stefan Monnier * lisp/mail/rmailsum.el: Use lexical-binding. 2015-04-29 Glenn Morris * test/automated/package-test.el (package-test-update-archives-async): Skip test on hydra.nixos.org. 2015-04-28 Glenn Morris * lisp/foldout.el: Update for 2015-01-30 outline.el changes. (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show) (foldout-mouse-hide-or-exit): Use new names for outline functions. * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if): Update for 2014-06-26 hideif.el change. * lisp/mail/rmailsum.el: Fix search for encoded subjects. (Bug#19088) (rmail--decode-and-apply): New function. (rmail-message-regexp-p-1, rmail-message-subject-p): Use it. * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type. 2015-04-28 Artur Malabarba * lisp/emacs-lisp/package.el: Fix priority-hiding corner case (package-menu--refresh): Delegate obsolete-hiding to `package--remove-hidden'. (package--remove-hidden): Disregard high-priority package if it is older than the installed one. 2015-04-28 Paul Eggert Update source file encoding list Update admin/notes/unicode, along with coding system cookies in other files, so that the two match each other better. * admin/notes/unicode: lisp/language/ethio-util.el and lisp/language/ethiopic.el also use utf-8-emacs. * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi: * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex: * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex: * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex: * etc/refcards/sk-survival.tex: Add "coding: utf-8" so that this file is not mishandled in a Latin-1 or Big-5 locale. * lisp/international/robin.el, lisp/org/ox-ascii.el: Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files. * lisp/language/ethio-util.el: Fix trailer. 2015-04-28 Eli Zaretskii Fix synchronous invocation of Ispell * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil value to ispell-process-directory before calling ispell-init-process. Don't call set-process-coding-system if ispell-async-processp is nil. (Bug#20448) 2015-04-28 Artur Malabarba * lisp/emacs-lisp/package.el: Skip space and comments in init file (package--ensure-init-file): Insert snippet at first non-whitespace non-comments line. Respects local-vars at the top of the file. 2015-04-28 Glenn Morris * lisp/mail/rmail.el (rmail-copy-headers): Handle rmail-nonignored-headers being nil. (Bug#18878) * lisp/subr.el (delay-mode-hooks): Fix doc typo. * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status): Don't get confused by a bzrlib version mismatch warning. 2015-04-27 Thomas Fitzsimmons Change default location of EUDC options file * NEWS: Document change to EUDC options file's default location. * lisp/net/eudc-vars.el (eudc-options-file): Use `locate-user-emacs-file' to change default options file location. 2015-04-27 Glenn Morris * test/automated/package-test.el (package-test-update-archives-async): Try to handle the test server script dying. 2015-04-27 Stefan Monnier * lisp/saveplace.el (save-place-mode): New minor mode. (save-place): Redefine as an obsolete alias. * lisp/midnight.el: Make it a minor mode. Allow predicates. * lisp/midnight.el: Use lexical-binding. (midnight-mode): Make it a proper minor mode. (midnight-buffer-display-time): Make arg non-optional. (midnight-find): Remove. (clean-buffer-list-kill-never-regexps) (clean-buffer-list-kill-regexps): Tweak type for new function choice. (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to contain functions. (clean-buffer-list): Use cl-find. Allow clean-buffer-list-kill-never-regexps to contain functions. 2015-04-27 Nicolas Petton Bump version of seq.el to 1.5 * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value from seq-doseq. Bump version number of seq.el. 2015-04-27 Glenn Morris * lisp/mail/rmail.el (rmail-reply): Decode subject before matching "Re:" prefix. (Bug#20396) 2015-04-27 Artur Malabarba * lisp/emacs-lisp/package.el: Small improvements (package--with-work-buffer-async): More informative error. (package-install-user-selected-packages): Rename to `package-install-selected-packages'. 2015-04-27 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change. (eieio--class-make): Remove leftover `tag'. 2015-04-27 Glenn Morris * lisp/gnus/message.el (gnus-extract-address-components): Remove bogus declaration that was masking previous problem. 2015-04-27 Nicolas Graner (tiny change) * lisp/gnus/message.el (message-insert-formatted-citation-line): Fix typo. (Bug#20318) 2015-04-27 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc. * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying the buffer in yet another frame. (reftex-toc-visit-location): Make sure toc-window has focus at the end when `final' is nil. (reftex--rebuilding-toc): Defvar to avoid `boundp' and silence warnings. Use `--' to clarify that it's internal. (reftex-toc-next, reftex-toc-previous, reftex-toc-demote) (reftex-toc-promote): Clarify unused argument. (reftex--pro-or-de, reftex--start-line, reftex--mark-line): Add `reftex--' prefix. Fix all users. (reftex-toc-promote-prepare): Use _ for dummy variable. (reftex-toc-restore-region): Rename `m 2015-04-27 Eli Zaretskii Fix a typo in bibtex.el * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from last change. (Bug#20429) Fix redisplay of frame after loading new fonts * src/xdisp.c (redisplay_internal): When retrying redisplay of a frame because new fonts were loaded, disable all redisplay optimizations on that frame by calling SET_FRAME_GARBAGED. (Bug#20410) 2015-04-27 Stefan Monnier * lisp/info.el (Info-menu): Properly provide the `default' (Bug#20391) * elisp-mode.el: Catch errors from `documentation' (Bug#20418) * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string): Catch errors from documentation. (emacs-lisp-mode-abbrev-table): Remove redundant defvar. 2015-04-26 Stefan Monnier lisp/emacs-lisp/package.el: Move variables to silence byte-compiler Remove redundant ":group 'package". 2015-04-26 Eli Zaretskii Fix a typo in rmail.el * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the last commit. (Bug#20429) 2015-04-26 Dmitry Gutov Introduce xref-prompt-for-identifier * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option. (xref--read-identifier): Use it (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html). 2015-04-26 João Távora `tex-insert-quote' after single `'' opens quotes instead of closing Without this, it's very hard to precede double quotes with the apostrophe character, i.e. insert the sequence '`` (quote-backquote-backquote), commonly useful in portuguese, for instance. * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding chars making `tex-insert-quote' be in the "opening" context. 2015-04-25 Dmitry Gutov Pass `id' to `completing-read' as def instead of initial input * xref.el (xref--read-identifier): Pass `id' to `completing-read' as the default value instead of initial input (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html). 2015-04-25 Paul Eggert Don't freeze with unreadable processes Don't freeze if an exiting process can't be read from. (Bug#19860). This fixes a bug I introduced in 2014-07-08T07:24:07Z@eggert@cs.ucla.edu "* process.c: Add sanity checks for file descriptors." Dmitry Gutov did most of the legwork in finding the problem. * src/process.c (wait_reading_process_output): Treat non-running processes that can't be read from the same as other non-running processes. 2015-04-25 Alan Mackenzie Fix change from 2015-04-22 "On C-y, stop some text property entries ..." * lisp/subr.el (remove-yank-excluded-properties): put `with-silent-modifications' around only the last three lines of code. 2015-04-25 Artur Malabarba * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache (package--all-keywords): Deleted variable. * etc/NEWS: Document package-hiding functionality 2015-04-25 Eli Zaretskii lisp/window.el (recenter-last-op): Doc fix. (Bug#20419) Clarify the doc string of 'replace-regexp-in-string' * lisp/subr.el (replace-regexp-in-string): Doc fix. (Bug#20395) Improve doc string of 'insert-buffer-substring' * src/editfns.c (Finsert_buffer_substring): Doc fix. (Bug#20421) MS-Windows followup for the recent gnulib update * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with acl-internal.c. 2015-04-24 Paul Eggert Spelling fixes Merge from gnulib This incorporates: 2015-04-24 file-has-acl: new module, split from acl 2015-04-24 manywarnings: add GCC 5.1 warnings 2015-04-21 lstat: fix cross-compilation 'ln -s' problem 2015-04-15 qacl: Simplify HP-UX acl_nontrivial check 2015-04-15 acl: On Linux, check for acls without libacl 2015-04-14 tempname: avoid unused parameter warnings (trivial) * lib/acl-internal.c: New file, from gnulib. * lib/file-has-acl.c: Remove; no longer imported from gnulib. * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c: * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4: Update from gnulib. Port --enable-gcc-warnings to GCC 5.1 x86-64 * lib-src/ebrowse.c (dump_sym): * lib-src/hexl.c (main): * src/ccl.c (ccl_driver): * src/character.c (string_escape_byte8): * src/dbusbind.c (xd_retrieve_arg, xd_add_watch): * src/gnutls.c (Fgnutls_boot): * src/gtkutil.c (xg_check_special_colors): * src/image.c (x_build_heuristic_mask): * src/print.c (safe_debug_print, print_object): * src/term.c (produce_glyphless_glyph): * src/xdisp.c (get_next_display_element) (produce_glyphless_glyph): * src/xterm.c (x_draw_glyphless_glyph_string_foreground): Don't use a signed format to print an unsigned integer, or vice versa. GCC 5.1's new -Wformat-signedness option warns about this. * src/image.c (png_load_body, jpeg_load_body): Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561). 2015-04-24 Tassilo Horn Add new faces to tsdh-light-theme * etc/themes/tsdh-light-theme.el (tsdh-light): New face definitions for Info-quoted, ace-jump-face-foreground, hl-paren-face, show-paren-match, and show-paren-mismatch. 2015-04-24 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro. 2015-04-24 Glenn Morris * build-aux/gitlog-to-emacslog: Use raw log format rather than wrapped one. 2015-04-24 Stefan Monnier * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code (seq-doseq): Fix out-of-scope binding. Don't call `seq-length at every iteration. Reduce `if's from 3 to 2 per iteration. (emacs-lisp-mode-hook): Don't tweak in Emacs≥25. 2015-04-24 Glenn Morris * lisp/textmodes/text-mode.el (text-mode-hook): Move text-mode-hook-identify to default. * lisp/mouse.el (minor-mode-menu-from-indicator): Handle non-function members of minor-mode-map-alist. (Bug#20201) * lisp/help-fns.el (describe-function): More type checking. (describe-function-1): Handle changed symbol-function. (Bug#20201) * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)". (Bug#20325) 2015-04-24 Andreas Schwab shr: strip leading whitespace when expanding URLs * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL. 2015-04-24 Eli Zaretskii Clarify "co-authored" some more * CONTRIBUTE: Clarify "co-authored-by". (Bug#20400) Clarify doc strings of functions that search for properties * src/textprop.c (Fnext_char_property_change) (Fprevious_char_property_change) (Fnext_single_char_property_change) (Fprevious_single_char_property_change, Fnext_property_change) (Fnext_single_property_change, Fprevious_property_change) (Fprevious_single_property_change): Clarify doc strings wrt return value and the optional LIMIT argument. (Bug#20411) 2015-04-24 Glenn Morris * test/automated/message-mode-tests.el (message-mode-propertize): Handle non-writable HOME; eg on hydra.nixos.org. 2015-04-23 Eli Zaretskii Avoid starting threads by w32-shell-execute * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into local file names, before invoking ShellExecute. (Bug#20220) 2015-04-23 Martin Rudalics Fix following doc-links in `widget-documentation-link-action' * lisp/wid-edit.el (widget-documentation-link-action): Make following doc-links less simplistic (Bug#20398). 2015-04-22 Thomas Fitzsimmons Improve EUDC manual * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection. 2015-04-22 Paul Eggert Omit needless "\ " after multibyte then newline * src/print.c: Include , for c_isxdigit. (print_object): When print-escape-multibyte is non-nil and a multibyte character is followed by a newline or formfeed, followed by a hex digit, don't output a needless "\ " before the hex digit. * test/automated/print-tests.el (print-hex-backslash): New test. 2015-04-22 Oleh Krehel Add a new `inhibit-message' variable * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'. (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when `inhibit_message' is non-zero. * etc/NEWS: Add an entry. * doc/lispref/display.texi: Add an entry for `inhibit-message', mention it in `message'. 2015-04-22 Martin Rudalics Fix last fix in `display-buffer-record-window'. * lisp/window.el (display-buffer-record-window): Fix last fix. 2015-04-22 Eli Zaretskii Minor edits in CONTRIBUTE * CONTRIBUTE: Rearrange instructions about log messages. Use "Git" capitalized all over. Use 2 spaces between sentences. 2015-04-22 Artur Malabarba * lisp/files.el (basic-save-buffer): Fix argument * lisp/cus-edit.el (custom-file): Consider init-file-had-error In case `(and (null custom-file) init-file-had-error)' do the same thing we'd do if `(null user-init-file)', which is to either error out or return nil. This is in line with `custom-save-all' which would throw an error in that situation. (bug#20355) * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu (package-menu-hide-low-priority): New variable, see its doc. (package-archive-priorities): Update doc. (package-desc-priority): New function. (package-desc-priority-version): Use it. (package--remove-hidden): New function. (package-menu--refresh): Use it. * lisp/emacs-lisp/package.el: Implement displaying obsolete packages (package-menu--hide-obsolete): New variable. (package--remove-hidden): Use it. (package-menu-hide-obsolete): New interactive function to toggle the variable. (package--quick-help-keys): Document it. (package-menu-async): Add :version tag. (package-menu-mode-map): Bind package-menu-hide-obsolete. (package-desc-status): Indicate non-installed obsolete packages as avail-obso. (package-menu-mark-install): Allow installation of avail-obso. (package-menu--status-predicate): Sort avail-obso with available. 2015-04-22 Alan Mackenzie On C-y, stop some text property entries being written into buffer-undo-list lisp/subr.el (remove-yank-excluded-properties): enclose the code in `with-silent-modifications'. 2015-04-22 Martin Rudalics In display-buffer-record-window record selected window if necessary. * lisp/window.el (display-buffer-record-window): Store selected window if it differs from 3rd element of 'quit-restore' parameter (Bug#20353). 2015-04-22 Tassilo Horn Fix reftex-citation bug * reftex-cite.el (reftex-extract-bib-entries): Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX integration is enabled and there are no citations in the document so far. 2015-04-21 Dmitry Gutov Add or reset based on the presence of MERGE_HEAD * lisp/vc/vc-git.el (vc-git-find-file-hook): Add `vc-git-resolve-when-done' to `after-save-hook' in either case. (vc-git-conflicted-files): Add a TODO. (vc-git-resolve-when-done): Depending on the presence of MERGE_HEAD, either update the resolved file in the index, or remove it from there. (Bug#20292) 2015-04-21 Glenn Morris * lisp/custom.el (custom-declare-group): No need to purecopy custom-current-group-alist members following recent change to set it to nil before dumping. * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2. (Bug#20399) 2015-04-21 Daniel Colascione Unbreak no-op buffer save message * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer` (basic-save-buffer): Accept called-interactively as an argument instead of directly invoking called-interactively-p, which will always yield nil in that context. 2015-04-21 Alan Mackenzie CC Mode: Do nothing in before/after-change-functions for text property changes Fixes bug#20266. lisp/progmodes/cc-mode.el (c-basic-common-init): Make yank-handled-properties buffer local, and remove 'category from it. (c-called-from-text-property-change-p): New function. (c-before-change): Don't do anything if a call of the new function returns non-nil. (c-after-change): Don't do much if a call of the new function returns non-nil. (c-extend-after-change-region): Put changes to text property 'fontified inside c-save-buffer-state. 2015-04-20 Stefan Monnier Fix byte-compiler warnings about looking-back. * lisp/vc/log-view.el (log-view-end-of-defun-1): * lisp/textmodes/tex-mode.el (latex-forward-sexp-1): * lisp/textmodes/reftex-ref.el (reftex-goto-label): * lisp/textmodes/bibtex.el (bibtex-insert-kill): * lisp/progmodes/sh-script.el (sh--maybe-here-document): * lisp/progmodes/ruby-mode.el (ruby-end-of-defun): * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p): * lisp/org/org.el (org-insert-heading, org-sort-entries): * lisp/org/org-mouse.el (org-mouse-end-headline) (org-mouse-context-menu): * lisp/org/org-clock.el (org-clock-cancel): * lisp/man.el (Man-default-man-entry): * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text) (rmail-ensure-blank-line): * lisp/mail/footnote.el (Footnote-delete-footnote): * lisp/mail/emacsbug.el (report-emacs-bug): * lisp/info.el (Info-follow-reference, Info-fontify-node): * lisp/info-look.el (info-lookup-guess-custom-symbol): * lisp/help-fns.el (help-fns--key-bindings): * lisp/files.el (hack-local-variables): * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete) (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file) (viper-complete-filename-or-exit): * lisp/emulation/viper-cmd.el (viper-backward-indent): * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): * lisp/emacs-lisp/elint.el (elint-get-top-forms): * lisp/cus-edit.el (custom-face-edit-value-create): * lisp/calendar/todo-mode.el (todo-set-item-priority) (todo-filter-items-1, todo-convert-legacy-files) (todo-prefix-overlays): Add explicit second arg to looking-back. 2015-04-20 Glenn Morris Avoid non-nil current-load-list at startup * src/process.c (init_process_emacs): Move Fprovide statement... (syms_of_process): ... to here. * lisp/loadup.el (custom-current-group-alist): Reset before dumping. * lisp/startup.el (command-line) : Avoid rogue value in emacs -Q. 2015-04-20 Ludovic Courtès * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary. (Bug#20330) 2015-04-20 Glenn Morris * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue. Tweak exec-path in uninstalled case * src/callproc.c (init_callproc): If running uninstalled, do not include eventual installation libexec directory in exec-path. 2015-04-20 Artur Malabarba * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords (package-menu-filter): Accept a list of keywords. (package--all-keywords): New variable to cache known keywords. (package-all-keywords): Populate it if necessary. (package-refresh-contents): Reset it. * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx" as special keywords which match agains package archive and status respectively. * etc/NEWS: Document it. 2015-04-20 Eli Zaretskii Describe and index "empty overlays". * doc/lispref/display.texi (Overlays): Improve indexing. (Managing Overlays): Describe "empty" overlays. (Overlay Properties, Finding Overlays): Add cross-reference to where empty overlays are described. 2015-04-19 Paul Eggert Spelling fixes Quote 'like this' in top-level files * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist: Prefer to single-quote 'like this' (instead of the older style `like this'). * configure.ac: Fix some space-before-tab problems that 'git commit' complained about. Use bool for boolean in textprop.c, undo.c * src/textprop.c (soft, hard): Now constants instead of macros. (validate_plist): Rewrite to avoid need for boolean local. (interval_has_all_properties, interval_has_some_properties) (interval_has_some_properties_list, add_properties) (remove_properties, get_char_property_and_overlay) (Fnext_single_char_property_change) (Fprevious_single_char_property_change, add_text_properties_1) (Fremove_text_properties, Fremove_list_of_text_properties) (copy_text_properties): * src/tparam.c (tparam1): * src/undo.c (record_change, record_property_change) (syms_of_undo): Use 'true' and 'false' for booleans. 2015-04-19 Dmitry Gutov Call `smerge-start-session' even when dealing with a stash conflict * lisp/vc/vc-git.el (vc-git-find-file-hook): Call `smerge-start-session' even when dealing with a stash conflict (bug#20292). 2015-04-19 Vibhav Pant Add option to eshell/clear to clear scrollback. * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function. (eshell/clear): Add an optional SCROLLBACK argument. If non-nil, scrollback contents are cleared. * etc/NEWS: Describe change. * doc/misc/eshell.texi: Add entry for `clear'. 2015-04-19 Paul Eggert * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned' where either will do. 2015-04-19 Steve Purcell Assume package archive-contents are UTF8-encoded * lisp/emacs-lisp/package.el (package--read-archive-file): Set `coding-system-for-read' explicitly to 'utf-8 when reading the downloaded and cached archive-contents files, so that non-ASCII characters in package descriptions are displayed correctly in the `list-packages' menu. (Bug#20231) 2015-04-19 Dmitry Gutov Abort when looking at stashed changes * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at stashed changes (bug#20292). 2015-04-19 Paul Eggert Refactor low-level printing for simplicity * src/print.c (PRINTDECLARE): Remove. Move its contents into PRINTPREPARE; doable now that we assume C99. All callers changed. (PRINTCHAR): Remove, as it adds more mystery than clarity. All callers changed. (strout): Assume that caller computes length. All callers changed. (print_c_string): New function. (write_string, write_string_1): Compute length instead of asking the caller to compute it. All callers changed. (write_string): Simplify by using write_string_1. (write_string_1): Simplify by using print_c_string. (Fterpri): Compute default val more clearly. (Fprin1_to_string, print_object): Assume C99 to avoid unnecessary nesting. (print_object): Prefer print_c_string to multiple printchar, or to calling strout with -1 length. Coalesce into sprintf when this is easy. 2015-04-18 Paul Eggert Prefer "Bug#1234" in commit messages (Bug#20325) * .dir-locals.el (log-edit-mode): Don't rewrite Bug#, as this isn't useful for Git. * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234". 2015-04-18 Glenn Morris * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc. (Bug#19506) 2015-04-18 Tom Willemse (tiny change) * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function. (Bug#19505) 2015-04-18 Glenn Morris * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes. * doc/emacs/misc.texi (Sorting): Small edit. (Bug#19896) * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps. 2015-04-18 Simen Heggestøyl css-mode.el: Support multi-line comment filling (Bug#20256) * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line comment filling. (css-adaptive-fill): New function. (css-mode): Set `adaptive-fill-function'. (scss-mode): Set `comment-continue'. 2015-04-18 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages. 2015-04-18 Ivan Radanov Ivanov (tiny change) Minor improvements in Bulgarian input methods * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds): Replace U+042C with U+045D, as the former character is not used in the modern Bulgarian language. (Bug#20350) 2015-04-17 Thomas Fitzsimmons Improve EUDC manual * eudc.texi (LDAP Configuration): Mention simple and SASL authentication schemes. Add index items. Shorten example server name. 2015-04-17 Dmitry Gutov Don't show both feature and function with the same name * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Don't show both feature and function with the same name. (elisp--xref-identifier-location): Skip variable, if it's also a functiong * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Avoid returning both the variable and the function for the same minor mode. 2015-04-17 Wolfgang Jenkner Fix fontification of keywords clobbered by the prompt. * lisp/comint.el (comint-output-filter): Remove the uses of with-silent-modifications I introduced as part of the last change. This fixes, e.g., erratically missing highlighting when running ./configure --help; ./configure in a shell-mode buffer with compilation-shell-minor-mode turned on. 2015-04-17 Glenn Morris * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions. 2015-04-17 Stefan Monnier * lisp/indent.el (indent-region): Don't deactivate the mark (Bug#20357) 2015-04-17 Sam Steingold lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable 2015-04-16 Leo Liu * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg. 2015-04-16 Stefan Monnier * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more. 2015-04-16 Glenn Morris * admin/authors.el (authors-lax-changelogs): Update for erc changes. 2015-04-16 Eli Zaretskii Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL * configure.ac (LIBJPEG): Leave it empty for MinGW. 2015-04-16 Glenn Morris * lisp/replace.el (query-replace-from-to-separator): Delay initialization to avoid rogue setting after startup. 2015-04-16 Paul Eggert Pre-4.6 GCC succeeds with unknown option * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC. (Bug#20338) 2015-04-15 Paul Eggert '[:graph:]' now excludes whitespace, not just ' ' * doc/lispref/searching.texi (Char Classes): * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:] sans whitespace (not sans space). * src/character.c (graphicp): Exclude all Unicode whitespace chars, not just space. * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE). 2015-04-15 Stefan Monnier (looking-back): Make the second arg non-optional. * lisp/subr.el (substitute-key-definition-key, special-form-p) (macrop): Drop deprecated second arg to indirect-function. (looking-back): Make the second arg non-optional. * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which command is actually sent to the shell. 2015-04-15 Paul Eggert Port jpeg configuration to Solaris 10 with Sun C * configure.ac: Check for jpeglib 6b by trying to link it, instead of relying on cpp magic that has problems in practice. Check for both jpeglib.h and jerror.h features. Remove special case for mingw32, which should no longer be needed (and if it were needed, should now be addressable by hotwiring emacs_cv_jpeglib). (Bug#20332) 2015-04-15 Stefan Monnier Move some Elisp-specific code from lisp-mode.el to elisp-mode.el * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers): Move to elisp-mode.el. (lisp-mode-variables): (Re)move elisp-specific settings. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed from lisp-mode-variables. (elisp--font-lock-flush-elisp-buffers): New function, moved from lisp-mode.el. * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p): Avoid pathological slowdown at top-level in large file. 2015-04-15 Paul Eggert Standardize names of ChangeLog history files Suggested by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page. * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01. * lisp/erc/ChangeLog.1: New file, containing the old contents of ... * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03: * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06: * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09: Remove. Split top-level entries into pre- and post-April 7 This more clearly distingiushes pre-April-7 ChangeLog entries (which are for top-level files only) from post-April-7 entries (which are about files at all levels. Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html * ChangeLog.1: Move post-April-7 entries from here ... * ChangeLog.2: ... to this new file. * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2. 2015-04-15 Stefan Monnier Fix recent cus-start changes that added customize-rogues * lisp/cus-start.el (custom-delayed-init-variables): Initialize the vars early. * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue. 2015-04-15 Nicolas Petton Define cl-concatenate as an alias to seq-concatenate * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated code by making cl-concatenate an alias to seq-concatenate. 2015-04-15 Stefan Monnier * src/lread.c (intern_1): Make sure we'd find the symbol we add (Bug#20334) * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings. 2015-04-15 Glenn Morris * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous. 2015-04-15 Lars Magne Ingebrigtsen Clean up gnus-uu saving code slightly * gnus-uu.el (gnus-uu-save-article): Make the save-restriction/widen calls make more sense. 2015-04-15 Paul Eggert Make [:graph:] act like [:print:] sans space In POSIX [[:print:]] is equivalent to [ [:graph:]], so change [:graph:] so that it matches everything that [:print:] does, except for space. * doc/lispref/searching.texi (Char Classes): * etc/NEWS: * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:] sans ' '. * src/character.c, src/character.h (graphicp): New function. * src/regex.c (ISGRAPH) [emacs]: Use it. (BIT_GRAPH): New macro. (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH. (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]: Return BIT_GRAPH for RECC_GRAPH. (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH, and ISPRINT if BIT_PRINT. 2015-04-14 Stefan Monnier automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>: Don't use call-next-method in a cl-defmethod. * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class (eieio--class-p): Remove, provided by cl-defstruct. 2015-04-14 Nicolas Petton Add seq-intersection and seq-difference to the seq library * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New functions. * test/automated/seq-tests.el: Add tests for seq-intersection and seq-difference. * doc/lispref/sequences.texi: Add documentation for seq-intersection and seq-difference. 2015-04-14 Stefan Monnier * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals 2015-04-14 Sam Steingold package--ensure-init-file: widen requires save-restriction 2015-04-14 Eli Zaretskii Improve the commit-msg Git hook for unibyte environments * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk in unibyte environments. (Suggested by Paul Eggert .) Use a more accurate approximation to [:print:], based on UTF-8 sequences of the unprintable characters. Describe problems with cursor caused by Windows Magnifier * etc/PROBLEMS: Describe the problem with cursor shape on MS-Windows due to Windows Magnifier. (Bug#20271) Make [:print:] support non-ASCII characters correctly * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters. (BIT_PRINT): New bit mask. (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT. * src/character.c (printablep): New function. * src/character.h (printablep): Add prototype. * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior of 'print', 'alnum', and 'alphabetic'. * doc/lispref/searching.texi (Char Classes): Document the new behavior of [:print:]. * etc/NEWS: Mention the new behavior of [:print:]. Assign correct general-category and names to surrogates * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore surrogates. This avoids assigning them the default general-category of 'Cn', i.e. unassigned codepoints. (unidata-get-name): Give surrogates synthetic names. 2015-04-14 Paul Eggert Assume C89 offsetof in xterm.c, xlwmenu.c * lwlib/xlwmenu.c (offset): * src/xterm.c (cvt_string_to_pixel_args): Use offsetof, not XtOffset. 2015-04-14 Paul Eggert Assume C89 offsetof in widget.c * src/widget.c (XtOffset): Remove; no longer needed. (offset): Implement via offsetof instead of via pre-C89 XtOffset hack. Fix think-o in previous patch * src/window.c (count_windows, get_leaf_windows): Don't optimize count_windows incorrectly. 2015-04-13 Paul Eggert Avoid some int overflows in window.c * src/print.c (print_object): * src/window.c (sequence_number): * src/window.h (struct window.sequence_number): Don't assume window sequence number fits in int. * src/window.c (window_select_count): * src/window.h (struct window.use_time, window_select_count): Don't assume window use time fits in int. * src/window.c (Fsplit_window_internal): Don't assume user-supplied integer, or sum, fits in int. (Fset_window_configuration, count_windows, get_leaf_windows) (save_window_save, Fcurrent_window_configuration): Use ptrdiff_t for object counts. (Fset_window_configuration): Omit unused local 'n'. (count_windows): Simplify by writing in terms of get_leaf_windows. (get_leaf_windows): Don't store through FLAT if it's null. (extract_dimension): New static function. (set_window_margins, set_window_fringes, set_window_scroll_bars): Use it to avoid undefined behavior when converting user-supplied integer to 'int'. 2015-04-13 Glenn Morris Minor doc copyedits * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo. * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix. 2015-04-13 Katsumi Yamaoka [Gnus] Catch the invalid-operation that idna.el will issue * lisp/gnus/gnus-art.el (gnus-use-idna): * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): * lisp/gnus/message.el (message-use-idna): Catch the invalid-operation that idna.el will issue. 2015-04-13 Paul Eggert * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u. 2015-04-13 Sam Steingold package--ensure-init-file: widen before looking for "(package-initialize)" 2015-04-13 Dmitry Gutov Change diff-switches default to `-u' (Bug#20290) * doc/emacs/files.texi (Comparing Files): Document the new default value of `diff-switches'. * doc/emacs/trouble.texi (Sending Patches): Document the preference for unified diff format. Escape the plus in the suggested `-F' regexp value. * lisp/vc/diff.el (diff-switches): Change the default to `-u'. 2015-04-13 Stefan Monnier (gnus-group--setup-tool-bar-update): Fix last change * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update): cursor-sensor-functions should be a list of functions. 2015-04-13 Katsumi Yamaoka Use gmm-called-interactively-p in Gnus * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p. 2015-04-13 Stefan Monnier * lisp/loadup.el ("cus-start"): Load it after loaddefs.el (Bug#20321) * lisp/cus-start.el (read-buffer-function): Don't advertize iswitchb-read-buffer any more. (iswitchb): Don't tweak this obsolete group any more. 2015-04-13 Artur Malabarba * lisp/emacs-lisp/package.el: Fix package--ensure-init-file * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings Adding a string after a constructor's argument list will use that string as the constructor function docstring. If this string is absent but the struct itself was given a docstring, use that as the constructor's docstring. Fixes (bug#17284). 2015-04-13 Stefan Monnier Deprecate `intangible' and `point-entered' properties * lisp/emacs-lisp/cursor-sensor.el: New file. * lisp/simple.el (pre-redisplay-functions): New hook. (redisplay--pre-redisplay-functions): New function. (pre-redisplay-function): Use it. (minibuffer-avoid-prompt): Mark obsolete. (redisplay--update-region-highlight): Adapt it to work as a function on pre-redisplay-functions. * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun. (minibuffer-prompt-properties): Use it. Use cursor-intangible rather than point-entered to make the prompt intangible. * lisp/forms.el: Move `provide' calls to the end. (forms-mode): Don't use `run-hooks' on a local var. (forms--make-format, forms--make-format-elt-using-text-properties): Use cursor-intangible rather than `intangible'. (forms-mode): Enable cursor-intangible-mode. * lisp/isearch.el (isearch-mode): Use defvar-local. (cursor-sensor-inhibit): Declare. (isearch-mode): Set cursor-sensor-inhibit. (isearch-done): Set it back. (isearch-open-overlay-temporary, isearch-open-necessary-overlays) (isearch-close-unnecessary-overlays): Don't bother with `intangible' any more. * lisp/ses.el (ses-localvars): Remove `mode-line-process'. (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer): Add Edebug spec. (ses-goto-print, ses-print-cell, ses-adjust-print-width) (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind inhibit-point-motion-hooks any more. (ses--cell-at-pos, ses--curcell): New functions, extracted from ses-set-curcell. (ses-set-curcell): Use them. (ses-print-cell, ses-setup): Use cursor-intangible instead of `intangible'. Make sure cursor-intangible isn't sticky at BOB. (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all): Use ses--cell-at-pos. (ses--mode-line-process, ses--cursor-sensor-highlight): New functions, extracted from ses-command-hook. Make them work with multiple windows displaying the same buffer. (ses-mode): Use them via mode-line-process and pre-redisplay-functions. Enable cursor-intangible-mode. (ses-command-hook): Remove cell highlight and mode-line update code. (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column): Update for new name of text-property holding the cell name. (ses-rename-cell): Don't mess with mode-line-process. * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new cursor-sensor-functions property instead of point-entered. (erc-insert-timestamp-right, erc-format-timestamp): Use cursor-intangible rather than `intangible'. (erc-munge-invisibility-spec): Use add-to-invisibility-spec and remove-from-invisibility-spec. Enable cursor-intangible-mode and cursor-sensor-mode if needed. (erc-echo-timestamp): Adapt to calling convention of cursor-sensor-functions. (erc-insert-timestamp-right): Remove unused vars `current-window' and `indent'. * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare. (gnus-update-group-mark-positions): Remove unused `topic' var. (gnus-group-insert-group-line): Remove unused var `header'. (gnus-group--setup-tool-bar-update): New function. (gnus-group-insert-group-line): Use it. (gnus-group-update-eval-form): Declare local dynamically-bound variables. (gnus-group-unsubscribe-group): Use \` and \' to match string bounds. * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic) (gnus-group-prepare-topics, gnus-topic-update-topic) (gnus-topic-change-level, gnus-topic-catchup-articles) (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent): Use inhibit-read-only. (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update. (gnus-topic-mode): Use define-minor-mode and derived-mode-p. * lisp/textmodes/reftex-index.el (reftex-display-index): Use cursor-intangible-mode if available. (reftex-index-post-command-hook): Check cursor-intangible. * lisp/textmodes/reftex-toc.el (reftex-toc): Use cursor-intangible-mode if available. (reftex-toc-recenter, reftex-toc-post-command-hook): Check cursor-intangible. * lisp/textmodes/sgml-mode.el: Use lexical-binding. (sgml-tag): Use cursor-sensor-functions instead of point-entered. (sgml-tags-invisible): Use with-silent-modifications and inhibit-read-only. Enable cursor-sensor-mode. (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to calling convention of cursor-sensor-functions. * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook) (table-point-entered-cell-hook, table-point-left-cell-hook): Don't autoload. (table-cell-entered-state): Remove var. (table--put-cell-point-entered/left-property) (table--remove-cell-properties): Use cursor-sensor-functions rather than point-entered/left. (table--point-entered/left-cell-function): Merge table--point-entered-cell-function and table--point-left-cell-function and adjust to calling convention of cursor-sensor-functions. Update ldef-boots.el * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well. * doc/misc/eieio.texi: Don't advertize now obsolete constructs Collapse successive char deletions in the undo log * src/cmds.c (remove_excessive_undo_boundaries): New function, extracted from Fself_insert_command. (Fdelete_char, Fself_insert_command): Use it. * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'. * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special. xterm and OSC 52: Add NEWS entry, and tweak the code * lisp/term/xterm.el (gui-set-selection) : Move method definition to top-level. (terminal-init-xterm-activate-set-selection): Set a terminal property. (xterm--set-selection): Use it instead of checking the value of `terminal-initted'. Don't use string-bytes. 2015-04-13 Philipp Stephani xterm.el: Implement OSC-52 functionality for setting the X selection * lisp/term/xterm.el (xterm-max-cut-length): New var. (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs. (terminal-init-xterm, xterm--version-handler): Use them. 2015-04-13 Stefan Monnier Remove left over code from when we used an obsolete/loaddefs.el file * lisp/subr.el (do-after-load-evaluation): Remove left over code from when we used an obsolete/loaddefs.el file. * cedet/semantic/fw.el: Use declare. * cedet/semantic/fw.el (semantic-exit-on-input) (semanticdb-without-unloaded-file-searches): Use declare. (semantic-fw-add-edebug-spec): Remove. (completion-lisp-mode-hook): Use completion-separator-chars * lisp/completion.el (completion-lisp-mode-hook): Use completion-separator-chars rather than local key binding. * src/*.c: Set deactivate_mark buffer-locally (Bug#20260) * src/insdel.c (prepare_to_modify_buffer_1): * src/fileio.c (Finsert_file_contents): Set deactivate_mark buffer-locally. 2015-04-12 Fabián Ezequiel Gallina python.el: Keep symmetry on sexp navigation with parens (Bug#19954) * lisp/progmodes/python.el (python-nav--forward-sexp): Add argument skip-parens-p. (python-nav-forward-sexp, python-nav-backward-sexp) (python-nav-forward-sexp-safe) (python-nav-backward-sexp-safe): Use it. * test/automated/python-tests.el (python-nav-forward-sexp-1): Fix test. 2015-04-12 João Távora Don't use `setq-local' in Gnus code This might break upstream builds with older Emacsen * lisp/gnus/message.el (message-mode): Use `set' and `make-local-variable' instead of `setq-local'. 2015-04-12 Paul Eggert Update Makefile.in's .PHONY dependencies * Makefile.in (change-history-commit, master-branch-is-current) (no-ChangeLog): Now phony. Remove configure's --with-mmdf option * configure.ac (MAIL_USE_MMDF): Remove. * etc/NEWS: Document this. * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined. (Bug#20308) * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1. That way, 'make install' won't think it's a man page. Reported by Ashish SHUKLA in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html Improve 'make change-history' prereq tests * Makefile.in (gen_origin): Fix to match what's in the master branch. (no-ChangeLog, master-branch-is-current): New rules. (change-history): Depend on them, to avoid similar future problems. Escape the local-variables string to pacify Emacs when editing Makefile.in. 2015-04-12 Artur Malabarba * test/automated/package-test.el (with-package-test): Kill Packages buffer * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt (package-menu--prompt-transaction-p): Prompt for "Delete" first, "Upgrade" last, and use capitalized instead of all-caps. * lisp/emacs-lisp/package.el: Completely silence async operations (package--make-autoloads-and-stuff): Silence autoloads. (package--save-selected-packages): New function, silences `customize-save-variable'. (package--user-selected-p, package-install-from-buffer) (package-delete, package-install): Use it. (package-install-from-archive) (package-menu--perform-transaction): Silence. (package-menu-execute): Feedback when operation starts. Use delay-mode-hooks when visiting the init-file * lisp/emacs-lisp/package.el (package--ensure-init-file): delay-mode-hooks * lisp/cus-edit.el (custom-save-all): delay-mode-hooks * lisp/files.el: Only message when saving if save-silently is nil (save-silently): New variable. (files--message): New function. (find-file-noselect, save-buffer, basic-save-buffer) (basic-save-buffer-2, save-some-buffers, not-modified) (append-to-file): Use them. 2015-04-12 Johan Bockgård Support debug declarations in pcase macros * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec. (pcase-UPAT): Use it. Remove "`". (pcase--edebug-match-macro): New function. (pcase-defmacro): Support debug declarations. * lisp/emacs-lisp/cl-macs.el (cl-struct) : * lisp/emacs-lisp/eieio.el (eieio) : * lisp/emacs-lisp/pcase.el (\`): : Add debug declaration. pcase.el: Edebug support for `app' and vector patterns * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec. (pcase-UPAT): Use it. Support `app' patterns. (pcase-QPAT): Support vector patterns. edebug.el: Disambiguate vector specifications * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat `(vector ...)' as a vector specification, not as a sublist. (gnus-summary-refer-thread): Don't clobber unread articles This fixes a bug where `A T' causes "random" articles to become marked as read. * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure gnus-newsgroup-unreads remains sorted. mouse-sel.el: Fix mouse-sel-get-selection-function * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function): Use gui--last-selected-text-primary instead of no longer existing gui-last-selected-text. * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL. * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area. 2015-04-12 Artur Malabarba * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations (byte-compile--interactive): New var. (byte-compile--message): New function. (byte-compile-log-1, byte-force-recompile) (byte-recompile-directory, byte-recompile-file) (byte-compile-file, compile-defun) (byte-compile-file-form-defmumble, byte-compile) (byte-compile-file-form-defalias, display-call-tree): Use it. * lisp/files.el: Don't message when nothing happened (save-some-buffers, basic-save-buffer): Before messaging to say "nothing was saved" check if (called-interactively-p 'any). 2015-04-12 João Távora Summary: Improve sexp-based movement in message-mode Works by giving citations and smileys a different syntax. This helps modes like `show-paren-mode', `electric-pair-mode', and C-M-* sexp-based movement. * lisp/gnus/message.el (message--syntax-propertize): New function. (message-mode): Set syntax-related vars. (message-smileys): New variable. * test/automated/message-mode-tests.el: New file 2015-04-11 Paul Eggert Use bool for boolean in window.c * src/window.c: Omit unnecessary static function decls. (adjust_window_count, select_window, Fselect_window) (window_body_width, Fwindow_body_height, Fwindow_body_width) (set_window_hscroll, check_window_containing, Fwindow_at) (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p) (unshow_buffer, replace_window, recombine_windows) (add_window_to_list, candidate_window_p, next_window) (Fnext_window, Fprevious_window, window_loop, check_all_windows) (Fget_buffer_window, Fdelete_other_windows_internal) (replace_buffer_in_windows_safely, set_window_buffer) (Fset_window_buffer, Fforce_window_update) (temp_output_buffer_show, make_parent_window) (window_resize_check, window_resize_apply, Fwindow_resize_apply) (resize_frame_windows, Fsplit_window_internal) (Fdelete_window_internal, grow_mini_window, shrink_mini_window) (Fresize_mini_window_internal, mark_window_cursors_off) (window_scroll, window_scroll_pixel_based) (window_scroll_line_based, scroll_command, Fscroll_other_window) (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter) (Fmove_to_window_line, Fset_window_configuration) (delete_all_child_windows, apply_window_adjustment) (set_window_fringes, set_window_scroll_bars) (Fset_window_vscroll, foreach_window, foreach_window_1) (compare_window_configurations, Fcompare_window_configurations): Prefer 'bool', 'true', and 'false' for booleans. * src/window.h (WINDOW_MODE_LINE_LINES) (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value. 2015-04-11 Artur Malabarba Speed up byte-compilation and autoload generation by avoiding mode-hooks This prevents emacs-lisp-mode-hook from being run everytime an autoload file is generated, which can account for a fraction of package installation time depending on the hooks the user has configured. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks. * lisp/emacs-lisp/autoload.el (autoload-find-file) (autoload-find-generated-file): Use delay-mode-hooks. * lisp/emacs-lisp/package.el: Improve `package-menu-refresh' (package-menu-refresh): Respect async and do new package checking. (list-packages): Use `package-menu-refresh' instead of repeating code. * lisp/emacs-lisp/package.el: Improve package-menu-quick-help (package--quick-help-keys): New variable. (package--prettify-quick-help-key): New function. (package-menu-quick-help): Use it. * lisp/emacs-lisp/package.el: Fix initially wrong compat table (package--build-compatibility-table): require finder * test/automated/package-test.el: Fix new test * lisp/emacs-lisp/package.el: Silence async operations (package--silence): New variable. (package--message): New function. (package-import-keyring, package-refresh-contents) (package-compute-transaction, package-install, package-delete) (package-menu--perform-transaction, package-menu-execute): Use it. * test/automated/package-test.el: Test async functionality (package-test-update-archives-async): New test 2015-04-11 Daiki Ueno Utilize `make-process' in epg.el * lisp/epg.el (epg-error-output): Abolish. (epg-context): New slot `error-buffer'. (epg--start): Use `make-process' and `make-pipe-process'. (epg--process-filter): Remove code separating stderr from stdout. (epg-wait-for-completion): Simplify `error-output' handling. (epg-reset): Dispose error buffer. 2015-04-11 Paul Eggert * .gitignore: Ignore doc temps and outputs. Port commit-msg to MSYS Bash+Gawk See Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html * build-aux/git-hooks/commit-msg (cent_sign_utf8_format) (cent_sign, print_at_sign, at_sign): Revert previous change. (print_at_sign): Prepend "BEGIN". (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk. Port commit-msg to broken MS-Windows shell * build-aux/git-hooks/commit-msg (cent_sign): Just use UTF-8 here rather than ASCII + printf, as the latter fails on a broken MS-Windows shell. Reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html 2015-04-11 Chris Zheng (tiny change) Support GnuTLS v3.4 and later on MS-Windows * src/gnutls.c (syms_of_gnutls) : New DEFSYM. * lisp/term/w32-win.el (dynamic-library-alist): Determine which GnuTLS DLL to load according to value of libgnutls-version. (Bug#20294) 2015-04-11 Paul Eggert Minor quoting etc. fixes to misc manuals Fix some minor quoting and spacing issues. Distinguish more clearly among grave accent and apostrophe (which are ASCII) and single quote (which is not). Prefer the standard terms "apostrophe" and "grave accent" to alternative names that can be confusing. Use apostrophes to single-quote ASCII text. * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8 rather than approximating it in ASCII with grave accent. 2015-04-11 Daiki Ueno Respect more keyword args in `make-process' * process.c (Fmake_process): Respect `:sentinel' and `:filter' keywords as documented. 2015-04-10 Dmitry Gutov Extract ChangeLog entries when committing a directory * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment. * lisp/vc/log-edit.el (log-edit-changelog-insert-entries): Add a FIXME comment. (log-edit-changelog-entries): Extract from `log-edit-changelog-entries', handle FILE being a directory (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html). 2015-04-10 Paul Eggert Fix problems found by --enable-gcc-warnings * src/process.c (create_process, Fmake_pipe_process) (Fmake_network_process): Omit unused locals. Fix commit-msg to handle scissors lines * build-aux/git-hooks/commit-msg: Ignore every line after a scissors line, such as a line generated by 'git commit -v'. Problem reported by Johan Bockgård in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html port commit-msg to Gawk 3.0.4 (1999) * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign) (print_at_sign, at_sign): New vars. Use them to avoid problems Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS. See: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html Have commit-msg report commit failure * build-aux/git-hooks/commit-msg: If the commit is aborted, say so. Simplify by doing this at the end. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html 2015-04-10 Thomas Fitzsimmons Clean up LDAP Configuration section of EUDC manual * doc/misc/eudc.texi: Combine indices. (LDAP Configuration): Use command markup. Add index entries. Change formatting. Wrap long lines. Add noindent markup. 2015-04-10 Daiki Ueno Add facility to collect stderr of async subprocess * src/w32.h (register_aux_fd): New function declaration. * src/w32.c (register_aux_fd): New function. * src/process.h (struct Lisp_Process): New member stderrproc. * src/process.c (PIPECONN_P): New macro. (PIPECONN1_P): New macro. (Fdelete_process, Fprocess_status, Fset_process_buffer) (Fset_process_filter, Fset_process_sentinel, Fstop_process) (Fcontinue_process): Handle pipe process specially. (create_process): Respect p->stderrproc. (Fmake_pipe_process): New function. (Fmake_process): Add new keyword argument :stderr. (wait_reading_process_output): Specially handle a pipe process when it gets an EOF. (syms_of_process): Register Qpipe and Smake_pipe_process. * doc/lispref/processes.texi (Asynchronous Processes): Document `make-pipe-process' and `:stderr' keyword of `make-process'. * lisp/subr.el (start-process): Suggest to use `make-process' handle standard error separately. * test/automated/process-tests.el (process-test-stderr-buffer) (process-test-stderr-filter): New tests. * etc/NEWS: Mention new process type `pipe' and its usage with the `:stderr' keyword of `make-process'. 2015-04-10 Paul Eggert Minor quoting etc. fixes to lispref manual * doc/lispref/tips.texi (Documentation Tips): Distinguish more clearly among grave accent, apostrophe, and single quote. * doc/lispref/README, doc/lispref/buffers.texi: * doc/lispref/commands.texi, doc/lispref/control.texi: * doc/lispref/customize.texi, doc/lispref/display.texi: * doc/lispref/elisp.texi, doc/lispref/files.texi: * doc/lispref/frames.texi, doc/lispref/hash.texi: * doc/lispref/help.texi, doc/lispref/internals.texi: * doc/lispref/loading.texi, doc/lispref/makefile.w32-in: * doc/lispref/markers.texi, doc/lispref/modes.texi: * doc/lispref/nonascii.texi, doc/lispref/objects.texi: * doc/lispref/os.texi, doc/lispref/positions.texi: * doc/lispref/strings.texi, doc/lispref/syntax.texi: * doc/lispref/text.texi, doc/lispref/tips.texi: * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi: Use American-style double quoting in ordinary text, and quote 'like this' when single-quoting in ASCII text. Also, fix some minor spacing issues. 2015-04-10 Michael Albinus Handle symlinked test directory in tramp-tests.el * test/automated/tramp-tests.el (tramp-test18-file-attributes) (tramp--test-check-files): Use `file-truename' for directories. 2015-04-10 Eli Zaretskii Fix 'recenter' when visual-line-mode is turned on * src/window.c (Frecenter): Use the same code for GUI and TTY frames alike; use vmotion only for "initial" frames. This is because vmotion doesn't support visual-line-mode. Rewrite the 'iarg >= 0' case to use move_it_* functions instead of using vmotion, for the same reason. Fix the clipping of the argument value to support scroll-margin in all cases and avoid unwarranted recentering. Reported by Milan Stanojević in http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html, which see. 2015-04-09 Stefan Monnier * abbrev.el (define-abbrev-table): Refine last change. cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r" * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize use of c[ad]+r", so as to keep the "cl-" prefix on all cl-lib definitions. * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks * lisp/cedet/semantic: Remove some dead code * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-header-line-format): Emacs<22 is not supported any more. * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is not supported any more. (semantic-safe): Use `declare'. * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible) (semantic-tag-intangible-p): Remove unused functions. * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges): Remove unused function. * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify. (gnus-article-hide-text, gnus-article-unhide-text) (gnus-article-unhide-text-type): Remove special handling of `intangible' since that property is not used any more. (gnus-article-treat-body-boundary): Use gnus-hidden-properties. 2015-04-09 Dmitry Gutov Use the VC root in `log-edit-listfun' * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in `log-edit-listfun'. 2015-04-09 Jay Belanger Fix description of Unix time, mention new function. * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for Unix time. * doc/misc/calc.texi (Date Forms): Fix description of Unix time. (Basic Operations on Units): Mention `calc-convert-exact-units'. 2015-04-09 Artur Malabarba * lisp/emacs-lisp/package.el: Use mode-line-process for notification 2015-04-09 Dmitry Gutov (log-edit-insert-changelog-entries): Don't add newline after the last entry * lisp/vc/log-edit.el (log-edit-insert-changelog-entries): Don't add newline after the last entry. 2015-04-09 Simen Heggestøyl css-mode.el: Add "not" pseudo-class (Bug#20267) * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to list of CSS pseudo-classes. 2015-04-09 Stefan Monnier etc/NEWS: Add missing entry for "Stop messing with the EMACS env var" 2015-04-09 Michael Albinus Stop messing with the EMACS env var * misc.texi (Interactive Shell): Remove description of EMACS env var. 2015-04-09 Paul Eggert Adapt 'make change-history' to coding cookie * Makefile.in (change-history): Adjust to change of format of ChangeLog file, which now has a coding cookie before an indented copyright notice. 2015-04-09 Paul Eggert Adapt 'make change-history' to coding cookie * Makefile.in (change-history): Adjust to change of format of ChangeLog file, which now has a coding cookie before an indented copyright notice. gitlog-to-changelog coding cookie and mv -i * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in, for copyright notice prototype, so that we get a proper "coding:" cookie. Use 'mv -i' to avoid unconditionally overwriting an existing ChangeLog. Problems reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html Merge from gnulib * build-aux/gitlog-to-changelog: Update from gnulib, incorporating: 2015-04-09 gitlog-to-changelog: port to MS-Windows 2015-04-09 Boruch Baum (tiny change) * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop. (Bug#20212) 2015-04-09 Stefan Monnier Stop messing with the EMACS env var (Bug#20202) * lisp/net/tramp-sh.el (tramp-remote-process-environment): * lisp/comint.el (comint-exec-1): * lisp/term.el (term-exec-1): Don't set EMACS envvar. * lisp/progmodes/compile.el (compilation-start): Same and bring INSIDE_EMACS's format in line with other users. css-mode.el (css-smie-rules): Fix indentation after complex selectors (Bug#20282) * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by inner structure of selectors. 2015-04-08 Fabián Ezequiel Gallina python.el: Indent docstring lines to base-indent (Bug#19595) Thanks to immerrr for reporting and providing an initial patch. * lisp/progmodes/python.el (python-indent-context): Add :inside-docstring context. (python-indent--calculate-indentation): Handle :inside-docstring. (python-indent-region): Re-indent docstrings. * test/automated/python-tests.el (python-indent-region-5) (python-indent-inside-string-2): Fix tests. python.el: Increase native completion robustness (Bug#19755) Thanks to Carlos Pita for reporting this and providing useful ideas. * lisp/progmodes/python.el (python-shell-completion-native-output-timeout): Increase value. (python-shell-completion-native-try-output-timeout): New var. (python-shell-completion-native-try): Use it. (python-shell-completion-native-setup): New readline setup avoids polluting current context, ensures output when no-completions are available and includes output end marker. (python-shell-completion-native-get-completions): Trigger with one tab only. Call accept-process-output until output end is found or python-shell-completion-native-output-timeout is exceeded. 2015-04-08 Samer Masterson * lisp/eshell: Make backslash a no-op in front of normal chars (Bug#8531) * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment. (eshell-parse-backslash): Return escaped character after backslash if it is special. Otherwise, if the backslash is not in a quoted string, ignore the backslash and return the character after; if the backslash is in a quoted string, return the backslash and the character after. * test/automated/eshell.el (eshell-test/escape-nonspecial) (eshell-test/escape-nonspecial-unicode) (eshell-test/escape-nonspecial-quoted) (eshell-test/escape-special-quoted): Add tests for new `eshell-parse-backslash' behavior. 2015-04-08 Gustav Hållberg (tiny change) * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB after the file name. (Bug#20276) 2015-04-08 Paul Eggert Minor quoting etc. fixes to Emacs manual * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi: * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi: * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi: * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi: * doc/emacs/indent.texi, doc/emacs/macos.texi: * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in: * doc/emacs/programs.texi, doc/emacs/rmail.texi: * doc/emacs/search.texi, doc/emacs/trouble.texi: * doc/emacs/vc1-xtra.texi: Use American-style double quoting in ordinary text, and quote 'like this' when single-quoting in ASCII text. Also, fix some minor spacing issues. Minor quoting etc. fixes to elisp intro * doc/lispintro/emacs-lisp-intro.texi: Consistently use American-style double quoting in ordinary text. In ASCII text, consistently quote 'like this' instead of `like this', unless Emacs requires the latter. 2015-04-08 Dmitry Gutov * CONTRIBUTE: Mention log-edit-insert-changelog. * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually. 2015-04-08 Paul Eggert * doc/misc/calc.texi (Summary): Avoid '@:' when usurped. 2015-04-08 Stefan Monnier (eieio-copy-parents-into-subclass): Fix inheritance of initargs (Bug#20270) * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass): Fix inheritance of initargs. 2015-04-08 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification while dowloading information. * lisp/emacs-lisp/package.el: More conservative `ensure-init-file' (package--ensure-init-file): Check file contents before visiting. (package-initialize): Call it. (package-install-from-buffer, package-install): Don't call it. 2015-04-08 Eli Zaretskii * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800 (Bug#17517) 2015-04-08 Michael Albinus Fix nasty scoping bug in tramp-cache.el * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug. 2015-04-08 Tassilo Horn Add notice to visual commands section * doc/misc/eshell.texi (Input/Output): Add notice that some tools such as git call less with its -F option which omits pagination if the contents is less than one page long. This interferes with eshell's visual (sub-)commands. 2015-04-07 Dmitry Gutov ffap: Support environment variable expansion in file names (Bug#19839) * lisp/ffap.el (ffap-string-at-point-mode-alist): Support environment variable expansion in file names. 2015-04-07 Paul Eggert Prefer double-quote to accent-grave in man pages 2015-04-07 Stefan Monnier (Bug#20257) * lisp/files.el (set-visited-file-name): Clear auto-save if nil. 2015-04-07 Ivan Shmakov Update etc/PROBLEMS. * etc/PROBLEMS: Mention visible-cursor; a few more mentions of ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and 'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows', respectively); other minor updates and tweaks. (Bug#20011) 2015-04-07 Paul Eggert Add doc strings for some Isearch state vars * lisp/misearch.el (multi-isearch-buffer-list) (multi-isearch-file-list): Add doc strings. (Bug#20232) 2015-04-07 Alan Mackenzie Always mark "<" and ">" in #include directives with text properties. * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored matcher" with an invocation of c-make-font-lock-search-function to allow fontification when there's no trailing space on an "#include <..>" line. 2015-04-07 Paul Eggert Generate a ChangeLog file from commit logs * .gitignore: Add 'ChangeLog'. * build-aux/gitlog-to-changelog: New file, from Gnulib. * build-aux/gitlog-to-emacslog: New file. * CONTRIBUTE: Document the revised workflow. * Makefile.in (clean): Remove *.tmp and etc/*.tmp* instead of just special cases. (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars. (ChangeLog, unchanged-history-files, change-history) (change-history-commit): New rules. * admin/admin.el (make-manuals-dist--1): Don't worry about doc/ChangeLog. * admin/authors.el: Add a FIXME. * admin/make-tarball.txt: * lisp/calendar/icalendar.el: * lisp/gnus/deuglify.el: * lisp/obsolete/gulp.el: * lwlib/README: Adjust to renamed ChangeLog history files. * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog. * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr. Remove obsolete discussion of merging ChangeLog files. New section "Maintaining ChangeLog history". * build-aux/git-hooks/pre-commit: Reject attempts to commit files named 'ChangeLog'. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * make-dist: Make and distribute top-level ChangeLog if there's a .git directory. Distribute the new ChangeLog history files instead of scattered ChangeLog files. Distribute the new files gitlog-to-changelog and gitlog-to-emacslog. (Bug#19113) Rename ChangeLogs for gitlog-to-changelog This patch was implemented via the following shell commands: find * -name ChangeLog | sed 's,.*,git mv & &.1, s, lisp/ChangeLog\.1$, lisp/ChangeLog.17, s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09, s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3, s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2, s, src/ChangeLog\.1$, src/ChangeLog.13,' | sh git commit -am"[this commit message]" This file records repository revisions from commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to commit cc90c25a50e536669ac327f7e05ec9194d1650d0 (inclusive). See ChangeLog.1 for earlier changes. ;; Local Variables: ;; coding: utf-8 ;; End: Copyright (C) 2015 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see .