emacs grep warns 'GREP_OPTIONS is deprecated' (#1176547)

Signed-off-by: Petr Hracek <phracek@redhat.com>
This commit is contained in:
Petr Hracek 2015-04-07 10:49:47 +02:00
parent 832068b18c
commit da86ace68d
2 changed files with 102 additions and 43 deletions

View File

@ -0,0 +1,54 @@
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 9962945..763f906 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -77,11 +77,10 @@ in grep buffers, so if you have globally disabled font-lock-mode,
you will not get highlighting.
This option sets the environment variable GREP_COLORS to specify
-markers for highlighting and GREP_OPTIONS to add the --color
-option in front of any explicit grep options before starting
-the grep.
+markers for highlighting and adds the --color option in front of
+any explicit grep options before starting the grep.
-When this option is `auto', grep uses `--color=auto' to highlight
+When this option is `auto', grep uses `--color' to highlight
matches only when it outputs to a terminal (when `grep' is the last
command in the pipe), thus avoiding the use of any potentially-harmful
escape sequences when standard output goes to a file or pipe.
@@ -97,7 +96,7 @@ To change the default value, use Customize or call the function
:type '(choice (const :tag "Do not highlight matches with grep markers" nil)
(const :tag "Highlight matches with grep markers" t)
(const :tag "Use --color=always" always)
- (const :tag "Use --color=auto" auto)
+ (const :tag "Use --color" auto)
(other :tag "Not Set" auto-detect))
:set 'grep-apply-setting
:version "22.1"
@@ -467,10 +466,6 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
;; `setenv' modifies `process-environment' let-bound in `compilation-start'
;; Any TERM except "dumb" allows GNU grep to use `--color=auto'
(setenv "TERM" "emacs-grep")
- (setenv "GREP_OPTIONS"
- (concat (getenv "GREP_OPTIONS")
- " --color=" (if (eq grep-highlight-matches 'always)
- "always" "auto")))
;; GREP_COLOR is used in GNU grep 2.5.1, but deprecated in later versions
(setenv "GREP_COLOR" "01;31")
;; GREP_COLORS is used in GNU grep 2.5.2 and later versions
@@ -570,7 +565,13 @@ This function is called from `compilation-filter-hook'."
(unless (and grep-command grep-find-command
grep-template grep-find-template)
(let ((grep-options
- (concat (if grep-use-null-device "-n" "-nH")
+ (concat (and grep-highlight-matches
+ (grep-probe grep-program
+ `(nil nil nil "--color" "x" ,null-device)
+ nil 1)
+ (if (eq grep-highlight-matches 'always)
+ "--color=always " "--color "))
+ (if grep-use-null-device "-n" "-nH")
(if (grep-probe grep-program
`(nil nil nil "-e" "foo" ,null-device)
nil 1)

View File

@ -1,32 +1,33 @@
%global _hardened_build 1 %global _hardened_build 1
# This file is encoded in UTF-8. -*- coding: utf-8 -*- # This file is encoded in UTF-8. -*- coding: utf-8 -*-
Summary: GNU Emacs text editor Summary: GNU Emacs text editor
Name: emacs Name: emacs
Epoch: 1 Epoch: 1
Version: 24.4 Version: 24.4
Release: 5%{?dist} Release: 6%{?dist}
License: GPLv3+ and CC0-1.0 License: GPLv3+ and CC0-1.0
URL: http://www.gnu.org/software/emacs/ URL: http://www.gnu.org/software/emacs/
Group: Applications/Editors Group: Applications/Editors
Source0: ftp://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz Source0: ftp://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz
Source1: emacs.desktop Source1: emacs.desktop
Source2: emacsclient.desktop Source2: emacsclient.desktop
Source3: dotemacs.el Source3: dotemacs.el
Source4: site-start.el Source4: site-start.el
Source5: default.el Source5: default.el
# Emacs Terminal Mode, #551949, #617355 # Emacs Terminal Mode, #551949, #617355
Source6: emacs-terminal.desktop Source6: emacs-terminal.desktop
Source7: emacs-terminal.sh Source7: emacs-terminal.sh
Source8: emacs.service Source8: emacs.service
Source9: %{name}.appdata.xml Source9: %{name}.appdata.xml
# rhbz#713600 # rhbz#713600
Patch1: emacs-spellchecker.patch Patch1: emacs-spellchecker.patch
# Fix for default PDF viewer bug #971162 # Fix for default PDF viewer bug #971162
Patch2: emacs-pdf-default.patch Patch2: emacs-pdf-default.patch
Patch3: emacs-no-bitmap-icon.patch Patch3: emacs-no-bitmap-icon.patch
Patch4: emacs-configure.patch Patch4: emacs-configure.patch
Patch5: emacs-grep-deprecated.patch
BuildRequires: atk-devel BuildRequires: atk-devel
BuildRequires: cairo-devel BuildRequires: cairo-devel
@ -85,12 +86,12 @@ BuildRequires: util-linux
%endif %endif
# Emacs doesn't run without dejavu-sans-mono-fonts, rhbz#732422 # Emacs doesn't run without dejavu-sans-mono-fonts, rhbz#732422
Requires: desktop-file-utils Requires: desktop-file-utils
Requires: dejavu-sans-mono-fonts Requires: dejavu-sans-mono-fonts
Requires(preun): %{_sbindir}/alternatives Requires(preun): %{_sbindir}/alternatives
Requires(posttrans): %{_sbindir}/alternatives Requires(posttrans): %{_sbindir}/alternatives
Requires: emacs-common = %{epoch}:%{version}-%{release} Requires: emacs-common = %{epoch}:%{version}-%{release}
Provides: emacs(bin) = %{epoch}:%{version}-%{release} Provides: emacs(bin) = %{epoch}:%{version}-%{release}
%if 0%{!?rhel:1} %if 0%{!?rhel:1}
# Turn off the brp-python-bytecompile script since this script doesn't # Turn off the brp-python-bytecompile script since this script doesn't
@ -121,12 +122,12 @@ without leaving the editor.
This package provides an emacs binary with support for X windows. This package provides an emacs binary with support for X windows.
%package nox %package nox
Summary: GNU Emacs text editor without X support Summary: GNU Emacs text editor without X support
Group: Applications/Editors Group: Applications/Editors
Requires(preun): %{_sbindir}/alternatives Requires(preun): %{_sbindir}/alternatives
Requires(posttrans): %{_sbindir}/alternatives Requires(posttrans): %{_sbindir}/alternatives
Requires: emacs-common = %{epoch}:%{version}-%{release} Requires: emacs-common = %{epoch}:%{version}-%{release}
Provides: emacs(bin) = %{epoch}:%{version}-%{release} Provides: emacs(bin) = %{epoch}:%{version}-%{release}
%description nox %description nox
Emacs is a powerful, customizable, self-documenting, modeless text Emacs is a powerful, customizable, self-documenting, modeless text
@ -138,18 +139,18 @@ This package provides an emacs binary with no X windows support for running
on a terminal. on a terminal.
%package common %package common
Summary: Emacs common files Summary: Emacs common files
# The entire source code is GPLv3+ except lib-src/etags.c which is # The entire source code is GPLv3+ except lib-src/etags.c which is
# also BSD. Manual (info) is GFDL. # also BSD. Manual (info) is GFDL.
License: GPLv3+ and GFDL and BSD License: GPLv3+ and GFDL and BSD
Group: Applications/Editors Group: Applications/Editors
Requires(preun): /sbin/install-info Requires(preun): /sbin/install-info
Requires(preun): %{_sbindir}/alternatives Requires(preun): %{_sbindir}/alternatives
Requires(posttrans): %{_sbindir}/alternatives Requires(posttrans): %{_sbindir}/alternatives
Requires(post): /sbin/install-info Requires(post): /sbin/install-info
Requires: %{name}-filesystem = %{epoch}:%{version}-%{release} Requires: %{name}-filesystem = %{epoch}:%{version}-%{release}
Provides: %{name}-el = %{epoch}:%{version}-%{release} Provides: %{name}-el = %{epoch}:%{version}-%{release}
Obsoletes: emacs-el < 1:24.3-29 Obsoletes: emacs-el < 1:24.3-29
%description common %description common
Emacs is a powerful, customizable, self-documenting, modeless text Emacs is a powerful, customizable, self-documenting, modeless text
@ -160,10 +161,10 @@ without leaving the editor.
This package contains all the common files needed by emacs or emacs-nox. This package contains all the common files needed by emacs or emacs-nox.
%package terminal %package terminal
Summary: A desktop menu item for GNU Emacs terminal. Summary: A desktop menu item for GNU Emacs terminal.
Group: Applications/Editors Group: Applications/Editors
Requires: emacs = %{epoch}:%{version}-%{release} Requires: emacs = %{epoch}:%{version}-%{release}
BuildArch: noarch BuildArch: noarch
%description terminal %description terminal
Contains a desktop menu item running GNU Emacs terminal. Install Contains a desktop menu item running GNU Emacs terminal. Install
@ -173,9 +174,9 @@ Please note that emacs-terminal is a temporary package and it will be
removed when another terminal becomes capable of handling Malayalam. removed when another terminal becomes capable of handling Malayalam.
%package filesystem %package filesystem
Summary: Emacs filesystem layout Summary: Emacs filesystem layout
Group: Applications/Editors Group: Applications/Editors
BuildArch: noarch BuildArch: noarch
%description filesystem %description filesystem
This package provides some directories which are required by other This package provides some directories which are required by other
@ -188,6 +189,7 @@ packages that add functionality to Emacs.
%patch2 -p1 -b .pdf-default.patch %patch2 -p1 -b .pdf-default.patch
%patch3 -p1 -b .bitmap %patch3 -p1 -b .bitmap
%patch4 -p1 -b .config %patch4 -p1 -b .config
%patch5 -p1 -b .grep-deprecated
autoconf autoconf
# We prefer our emacs.desktop file # We prefer our emacs.desktop file
@ -489,6 +491,9 @@ update-desktop-database &> /dev/null || :
%dir %{_datadir}/emacs/site-lisp/site-start.d %dir %{_datadir}/emacs/site-lisp/site-start.d
%changelog %changelog
* Tue Apr 7 2015 Petr Hracek <phracek@redhat.com> - 1:24.4-6
- emacs grep warns 'GREP_OPTIONS is deprecated' (#1176547)
* Thu Mar 26 2015 Richard Hughes <rhughes@redhat.com> - 1:24.4-5 * Thu Mar 26 2015 Richard Hughes <rhughes@redhat.com> - 1:24.4-5
- Add an AppData file for the software center - Add an AppData file for the software center