From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: [jidanni@jidanni.org: Re: find-grep makes raw terminal ANSI] Date: Sat, 17 Nov 2007 17:32:48 +0200 Organization: JURTA Message-ID: <87fxz4j3a6.fsf@jurta.org> References: <873av5ua8j.fsf@jurta.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1195313730 874 80.91.229.12 (17 Nov 2007 15:35:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 17 Nov 2007 15:35:30 +0000 (UTC) Cc: rms@gnu.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 17 16:35:36 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1ItPhm-00075t-TM for ged-emacs-devel@m.gmane.org; Sat, 17 Nov 2007 16:35:35 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ItPhZ-0000WO-Pl for ged-emacs-devel@m.gmane.org; Sat, 17 Nov 2007 10:35:21 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1ItPhW-0000W9-Dt for emacs-devel@gnu.org; Sat, 17 Nov 2007 10:35:18 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1ItPhT-0000VA-VA for emacs-devel@gnu.org; Sat, 17 Nov 2007 10:35:17 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ItPhT-0000V7-QI for emacs-devel@gnu.org; Sat, 17 Nov 2007 10:35:15 -0500 Original-Received: from relay03.kiev.sovam.com ([62.64.120.201]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1ItPhO-0005Dg-Ll; Sat, 17 Nov 2007 10:35:11 -0500 Original-Received: from [83.170.232.243] (helo=smtp.svitonline.com) by relay03.kiev.sovam.com with esmtp (Exim 4.67) (envelope-from ) id 1ItPhJ-000Nfn-Uc; Sat, 17 Nov 2007 17:35:08 +0200 In-Reply-To: (Stefan Monnier's message of "Fri, 16 Nov 2007 23:24:24 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux) X-Scanner-Signature: 4fe2b897d4d72954524b6b73d18f8617 X-DrWeb-checked: yes X-SpamTest-Envelope-From: juri@jurta.org X-SpamTest-Group-ID: 00000000 X-SpamTest-Header: Not Detected X-SpamTest-Info: Profiles 1799 [Nov 17 2007] X-SpamTest-Info: helo_type=3 X-SpamTest-Info: {HEADERS: header Content-Type found without required header Content-Transfer-Encoding} X-SpamTest-Method: none X-SpamTest-Rate: 19 X-SpamTest-Status: Not detected X-SpamTest-Status-Extended: not_detected X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0255], KAS30/Release X-detected-kernel: by monty-python.gnu.org: FreeBSD 4.7-5.2 (or MacOS X 10.2-10.4) (2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:83449 Archived-At: >> Currently grep.el adds " --color=always" to the environment variable >> GREP_OPTIONS instead of putting this argument into the grep command. > > How 'bout using --color=auto (and then setup TERM appropriately and run > the grep(&find) process in a tty rather than a pipe)? Do you mean a patch like below? It works because grep produces escape sequences when stdout is a tty that is not dumb. Here is relevant part of grep source code for --color=auto: if(isatty(STDOUT_FILENO) && getenv("TERM") && strcmp(getenv("TERM"), "dumb")) color_option = 1; else color_option = 0; and `process-connection-type' is t by default. Index: lisp/progmodes/grep.el =================================================================== RCS file: /sources/emacs/emacs/lisp/progmodes/grep.el,v retrieving revision 1.79 diff -c -r1.79 grep.el *** lisp/progmodes/grep.el 30 Aug 2007 09:36:59 -0000 1.79 --- lisp/progmodes/grep.el 17 Nov 2007 15:32:27 -0000 *************** *** 366,372 **** (grep-compute-defaults)) (when (eq grep-highlight-matches t) ;; Modify `process-environment' locally bound in `compilation-start' ! (setenv "GREP_OPTIONS" (concat (getenv "GREP_OPTIONS") " --color=always")) ;; for GNU grep 2.5.1 (setenv "GREP_COLOR" "01;31") ;; for GNU grep 2.5.1-cvs --- 366,373 ---- (grep-compute-defaults)) (when (eq grep-highlight-matches t) ;; Modify `process-environment' locally bound in `compilation-start' ! (setenv "TERM" "emacs") ! (setenv "GREP_OPTIONS" (concat (getenv "GREP_OPTIONS") " --color=auto")) ;; for GNU grep 2.5.1 (setenv "GREP_COLOR" "01;31") ;; for GNU grep 2.5.1-cvs -- Juri Linkov http://www.jurta.org/emacs/