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 Eli Zaretskii Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 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 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs * 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 Michael Albinus Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 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 Jay Belanger Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 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 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 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]" 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 .