commit bd2b14f20726e0f210a62edc610fac4c5bc45760 (HEAD, refs/remotes/origin/master) Author: Michael Albinus Date: Wed Apr 6 10:26:07 2016 +0200 ; Remove superfluous merge from emacs-25 diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index e101c42..4edca5a 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -3764,26 +3764,6 @@ This is used internally by `tramp-file-mode-from-int'." (when vec (tramp-message vec 7 "locale %s" (or locale "C"))) (or locale "C")))) -(defun tramp-get-local-locale (&optional vec) - ;; We use key nil for local connection properties. - (with-tramp-connection-property nil "locale" - (let ((candidates '("en_US.utf8" "C.utf8" "en_US.UTF-8")) - locale) - (with-temp-buffer - (unless (or (memq system-type '(windows-nt)) - (not (zerop (tramp-call-process - nil "locale" nil t nil "-a")))) - (while candidates - (goto-char (point-min)) - (if (string-match (format "^%s\r?$" (regexp-quote (car candidates))) - (buffer-string)) - (setq locale (car candidates) - candidates nil) - (setq candidates (cdr candidates)))))) - ;; Return value. - (when vec (tramp-message vec 7 "locale %s" (or locale "C"))) - (or locale "C")))) - ;;;###tramp-autoload (defun tramp-check-cached-permissions (vec access) "Check `file-attributes' caches for VEC. commit 728b1c7f139270bf0cbe93e33769d06b9903f20f Author: Etienne Prud'homme Date: Fri Apr 1 15:09:15 2016 -0400 Support completion of at-rules in SCSS mode lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding SCSS-specific at-rules. (css--at-ids): New buffer-local variable holding the list of at-rules for the current mode. (css--complete-at-rule): Retrieve at-rules from `css--at-ids`. (scss-mode): Set `css--at-ids'. Copyright-paperwork-exempt: yes diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index cbef3d4..8f80b2c 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el @@ -56,6 +56,16 @@ '("charset" "font-face" "import" "media" "namespace" "page") "Identifiers that appear in the form @foo.") +(defconst scss-at-ids + '("at-root" "content" "debug" "each" "else" "else if" "error" "extend" + "for" "function" "if" "import" "include" "mixin" "return" "warn" + "while") + "Additional identifiers that appear in the form @foo in SCSS.") + +(defvar css--at-ids css-at-ids + "List of at-rules for the current mode.") +(make-variable-buffer-local 'css--at-ids) + (defconst css-bang-ids '("important") "Identifiers that appear in the form !foo.") @@ -759,7 +769,7 @@ cannot be completed sensibly: `angle', `element-reference', (let ((pos (point))) (skip-chars-backward "-[:alnum:]") (when (eq (char-before) ?\@) - (list (point) pos css-at-ids))))) + (list (point) pos css--at-ids))))) (defvar css--property-value-cache (make-hash-table :test 'equal :size (length css-property-alist)) @@ -969,6 +979,7 @@ pseudo-elements, pseudo-classes, at-rules, and bang-rules." (setq-local comment-continue " *") (setq-local comment-start-skip "/[*/]+[ \t]*") (setq-local comment-end-skip "[ \t]*\\(?:\n\\|\\*+/\\)") + (setq-local css--at-ids (append css-at-ids scss-at-ids)) (setq-local css--bang-ids (append css-bang-ids scss-bang-ids)) (setq-local font-lock-defaults (list (scss-font-lock-keywords) nil t))) commit e2c117a28f767c9756d2d620929b37651dbe43d1 Author: Paul Eggert Date: Tue Apr 5 08:16:01 2016 -0700 ; Spelling fix diff --git a/configure.ac b/configure.ac index 917ca3a..790ff84 100644 --- a/configure.ac +++ b/configure.ac @@ -876,7 +876,7 @@ AC_ARG_ENABLE([gcc-warnings], # is a developer as opposed to a builder. This is most likely true # if GCC is recent enough and there is a .git subdirectory; # however, if there is also a .tarball-version file it is probably - # just a reliease imported into Git for patch management. + # just a release imported into Git for patch management. gl_gcc_warnings=no test -d "$srcdir"/.git && test ! -f "$srcdir"/.tarball-version && gl_GCC_VERSION_IFELSE([5], [3], [gl_gcc_warnings=warn-only])] commit 5baecbc0ebc11178edd73431b644a5de0a31be25 Author: Paul Eggert Date: Tue Apr 5 07:51:28 2016 -0700 Enable GCC warnings in developer builds However, do not fail; just issue the warnings. Add an option --enable-gcc-warnings=warn-only to configure, to implement this. * INSTALL, etc/NEWS: Document this. * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils. (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option. Don’t treat --with-x-toolkit=no as a special case when configuring warnings. diff --git a/INSTALL b/INSTALL index 6f516bd..27af6d9 100644 --- a/INSTALL +++ b/INSTALL @@ -318,9 +318,11 @@ Use --enable-gcc-warnings to enable compile-time checks that warn about possibly-questionable C code. This is intended for developers and is useful with GNU-compatible compilers. On a recent GNU system there should be no warnings; on older and on non-GNU systems the -generated warnings may still be useful, though you may prefer building -with 'make WERROR_CFLAGS=' so that the warnings are not treated as -errors. +generated warnings may still be useful, though you may prefer +configuring with --enable-gcc-warnings=warn-only so they are not +treated as errors. The default is --enable-gcc-warnings=warn-only if +it appears to be a developer build, and is --disable-gcc-warnings +otherwise. Use --disable-silent-rules to cause 'make' to give more details about the commands it executes. This can be helpful when debugging a build diff --git a/configure.ac b/configure.ac index f3846f4..917ca3a 100644 --- a/configure.ac +++ b/configure.ac @@ -842,17 +842,44 @@ if test "$ac_test_CFLAGS" != set; then esac fi +# gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found]) +# --------------------------------------------------------------------------- +# If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND. +# Otherwise, run RUN-IF-NOT-FOUND. +AC_DEFUN([gl_GCC_VERSION_IFELSE], + [AC_PREPROC_IFELSE( + [AC_LANG_PROGRAM( + [[ +#if ($1) < __GNUC__ || (($1) == __GNUC__ && ($2) <= __GNUC_MINOR__) +/* ok */ +#else +# error "your version of gcc is older than $1.$2" +#endif + ]]), + ], [$3], [$4]) + ] +) + AC_ARG_ENABLE([gcc-warnings], - [AS_HELP_STRING([--enable-gcc-warnings], - [turn on lots of GCC warnings/errors. This is intended for - developers, and may generate false alarms when used - with older or non-GNU development tools.])], + [AS_HELP_STRING([--enable-gcc-warnings@<:@=TYPE@:>@], + [control generation of GCC warnings. The TYPE 'yes' + means to fail if any warnings are issued; 'warn-only' + means issue warnings without failing (default for + developer builds); 'no' means disable warnings + (default for non-developer builds).])], [case $enableval in - yes|no) ;; + yes|no|warn-only) ;; *) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;; esac gl_gcc_warnings=$enableval], - [gl_gcc_warnings=no] + [# By default, use 'warn-only' if it looks like the invoker of 'configure' + # is a developer as opposed to a builder. This is most likely true + # if GCC is recent enough and there is a .git subdirectory; + # however, if there is also a .tarball-version file it is probably + # just a reliease imported into Git for patch management. + gl_gcc_warnings=no + test -d "$srcdir"/.git && test ! -f "$srcdir"/.tarball-version && + gl_GCC_VERSION_IFELSE([5], [3], [gl_gcc_warnings=warn-only])] ) # clang is unduly picky about some things. @@ -868,7 +895,7 @@ AC_CACHE_CHECK([whether the compiler is clang], [emacs_cv_clang], # When compiling with GCC, prefer -isystem to -I when including system # include files, to avoid generating useless diagnostics for the files. -AS_IF([test "$gl_gcc_warnings" != yes], +AS_IF([test $gl_gcc_warnings = no], [ isystem='-I' AS_IF([test "$emacs_cv_clang" = yes], @@ -892,7 +919,7 @@ AS_IF([test "$gl_gcc_warnings" != yes], nw="$nw -Wwrite-strings" ;; esac - AS_IF([test -z "$nw"], + AS_IF([test $gl_gcc_warnings = yes], [gl_WARN_ADD([-Werror], [WERROR_CFLAGS])]) AC_SUBST([WERROR_CFLAGS]) @@ -2011,17 +2038,6 @@ fi ## $window_system is now set to the window system we will ## ultimately use. -if test "$window_system" = none && test "$gl_gcc_warnings" = yes; then - # Too many warnings for now. - nw= - nw="$nw -Wsuggest-attribute=noreturn" - gl_MANYWARN_COMPLEMENT([WARN_CFLAGS], [$WARN_CFLAGS], [$nw]) - - gl_WARN_ADD([-Wno-unused-variable]) - gl_WARN_ADD([-Wno-unused-but-set-variable]) - gl_WARN_ADD([-Wno-unused-but-set-parameter]) -fi - term_header= HAVE_X_WINDOWS=no HAVE_X11=no diff --git a/etc/NEWS b/etc/NEWS index 6cc1c5a..d38bc3d 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -25,6 +25,12 @@ otherwise leave it unmarked. * Installation Changes in Emacs 25.2 +** The new option 'configure --enable-gcc-warnings=warn-only' causes +GCC to issue warnings without stopping the bild. This behavior is now +the default in developer builds. As before, use +'--disable-gcc-warnings' to suppress GCC's warnings, and +'--enable-gcc-warnings' to stop the build if GCC issues warnings. + +++ ** New configure option '--disable-build-details' attempts to build an Emacs that is more likely to be reproducible; that is, if you build