unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@linkov.net>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: 20728@debbugs.gnu.org
Subject: bug#20728: 25.0.50; grep and grep-find templates should have a place holder for the --color argument
Date: Wed, 10 Jun 2015 02:32:35 +0300	[thread overview]
Message-ID: <87fv608nl8.fsf@mail.linkov.net> (raw)
In-Reply-To: <5574C427.3070007@yandex.ru> (Dmitry Gutov's message of "Mon, 8 Jun 2015 01:22:31 +0300")

> No problem. Could you explain what those filters are, the ones the comment
> says zgrep puts into output?

These are pipe filters.  You can see how complex is the command line
constructed in /bin/zgrep

> I meant template substitution, like in grep-expand-template.
>
> Not sure what to do about grep-default-command, but if leaving it as-is is
> not an option, we can reasonably decide that the grep-command was the
> symbol at the beginning of the previous command.

Then you want two additional placeholders: for the command name and options?

>> But I see no problem with
>> both zrgrep and the code where you want to parse the output programmatically,
>> to remember the computed command lines in defvar variables such as
>> zgrep-find-command, zgrep-find-template, etc. to not compute them every
>> time the command is called.
>
> Again, why have zgrep-find-template, when grep-find-template could have
> a (new) placeholder for grep-command? Do zgrep and grep take
> different options?

In an older version of /bin/zgrep I see the text "OPTIONs are the same as for 'grep'."
I don't know about other versions.

>> When parameters don't vary between command calls (as regexps and files do)
>> then I think it's better to prepare them in the command line templates.
>
> Since grep-command and grep-highlight-matches can vary between calls,
> should we make a template placeholder for them?

There are only two possible values for grep-highlight-matches
whereas the number of possible values of the current placeholders
for regexps and filenames is infinite.

I think the rule should be the following: placeholders are needed only for
parameters provided by users, but for internal implementation parameters
it's enough to pre-compute command lines (and cache them).

PS: Somehow reminds me of endless discussions about distinctions
between `error' and `user-error' :)





  reply	other threads:[~2015-06-09 23:32 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-03 23:42 bug#20728: 25.0.50; grep and grep-find templates should have a place holder for the --color argument Dmitry Gutov
2015-06-04  2:43 ` Eli Zaretskii
2015-06-04  8:58   ` Dmitry Gutov
2015-06-04 15:01     ` Eli Zaretskii
2015-06-04 15:18       ` Dmitry Gutov
2015-06-04 15:34         ` Eli Zaretskii
2015-06-04 15:36           ` Dmitry Gutov
2015-06-04 15:39             ` Eli Zaretskii
2015-06-04 16:55               ` Dmitry Gutov
2015-06-04 17:16                 ` Eli Zaretskii
2015-06-04 17:46                   ` Dmitry Gutov
2015-06-04 19:23                     ` Eli Zaretskii
2015-06-04 20:20                       ` Dmitry Gutov
2015-06-05  6:58                         ` Eli Zaretskii
2015-06-05  8:29                           ` Dmitry Gutov
2015-06-05  8:59                             ` Eli Zaretskii
2015-06-05  9:07                               ` Dmitry Gutov
2015-06-05  9:23                                 ` Eli Zaretskii
2015-06-05  9:47                                   ` Dmitry Gutov
2015-06-05 22:17                                     ` Juri Linkov
2015-06-06 10:19                                       ` Dmitry Gutov
2015-06-06 22:04                                         ` Juri Linkov
2015-06-07 22:22                                           ` Dmitry Gutov
2015-06-09 23:32                                             ` Juri Linkov [this message]
2015-06-10 17:55                                               ` Dmitry Gutov
2015-06-10 23:49                                                 ` Juri Linkov
2015-06-11  7:23                                                   ` Dmitry Gutov
2015-06-11 23:20                                                     ` Juri Linkov
2015-06-22  0:49                                                       ` Dmitry Gutov
2015-06-22 22:33                                                         ` Juri Linkov
2015-06-23  0:33                                                           ` Dmitry Gutov
2015-06-27 21:11                                                       ` Dmitry Gutov
2015-06-27 22:49                                                         ` Juri Linkov
2015-06-28  1:22                                                           ` Dmitry Gutov
2015-06-28  1:39                                                             ` Dmitry Gutov
2015-06-28  2:42                                                         ` Eli Zaretskii
2015-06-28  8:05                                                           ` Dmitry Gutov
2015-06-28 14:35                                                             ` Eli Zaretskii
2015-06-28 19:02                                                               ` Dmitry Gutov
2015-06-28 20:28                                                                 ` Eli Zaretskii
2015-06-28 20:31                                                                   ` Dmitry Gutov
2015-06-29  2:36                                                                     ` Eli Zaretskii
2015-06-29 10:08                                                                       ` Dmitry Gutov
2015-06-29 14:49                                                                         ` Eli Zaretskii
2015-06-29 15:01                                                                           ` Dmitry Gutov
2015-06-29 15:26                                                                             ` Eli Zaretskii
2015-06-29 16:11                                                                               ` Dmitry Gutov
2015-06-29 16:24                                                                                 ` Eli Zaretskii
2015-06-29 16:26                                                                                   ` Dmitry Gutov
2015-07-11 13:58                                                                                   ` Eli Zaretskii
2015-07-11 15:57                                                                                     ` Dmitry Gutov
2015-06-29 10:05                                                                   ` Dmitry Gutov
2015-06-29 14:44                                                                     ` Eli Zaretskii
2015-06-29 14:50                                                                       ` Dmitry Gutov
2015-06-29 15:15                                                                         ` Eli Zaretskii
2015-06-04 22:50 ` Juri Linkov
2015-06-05  9:49   ` Dmitry Gutov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fv608nl8.fsf@mail.linkov.net \
    --to=juri@linkov.net \
    --cc=20728@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).