rc-list - mailing list for the rc(1) shell
 help / color / mirror / Atom feed
From: Gert-Jan Vons <vons@ocegr.fr>
To: rc@hawkwind.utcs.toronto.edu, Decklin Foster <fosterd@hartwick.edu>
Subject: Re: tilde featuritis alert
Date: Thu, 9 Dec 1999 03:52:35 -0500	[thread overview]
Message-ID: <4.2.2.19991209092255.00ae2380@mailhost.ocegr.fr> (raw)
In-Reply-To: <19991209025205.B305@debian>

Decklin Foster wrote:

>I'm sure this has come up before, but being a relative rc newbie, I
>really miss my '~' for home directory from bash. my question is, what
>exactly is the pattern matching '~' in rc *good* for? can't you just
>use 'switch' and end up with more readable code? couldn't we call it
>'match'? is the lack of an sh-like '~' a personal preference of the
>author, or just not feasible to implement due to rc's eval-once
>semantics?

Something like "if (~ a b || ~ c d)" becomes quite messy when you only
have 'switch'.

>I know i probably ought to be quiet and retrain my fingers, but old
>habits die hard. if i can't patch rc for this, how can i set up
>readline to get along with it? my problem is that readline will do tab
>completion on ~/wwwd<TAB> if i have a directory in my home called
>wwwdocs. but it *won't* do anything with $home/wwwd<TAB>, presumably
>since rc is not telling it what's in $home.

I doubt you will see tilde expansion in rc anytime soon, since it doesn't 
go with the philosophy behind the shell (just look at the debates over 
'echo' being built-in or not). The conflict with the ~ operator is 
another reason of course.

You can get rc to expand $home (or any other environment variable) when
you hit [tab] for filename completion by using the "vrl" commandline 
editor instead of readline.

I've been thinking and discussing a bit with other rc/vrl users about 
adding ~ expansion to the vrl command-line editor, but it ain't that 
simple since there's no easy way to know whether the user wants the ~ to 
be the ~ operator or not.

I now have the habit of typing $home/foo instead of ~/foo, or /home/user 
instead of ~user. Typing can be reduced by defining h=$home and using 
$h/foo, but I agree it is hard to change old habits :)

Something that I still haven't gotten used to even after 5-6 years of 
using rc is the need to quote command arguments if there's an equal sign 
like in "dd 'if=infile' 'of=outfile'". I once asked for an extension that 
would allow me to do "dd if\=infile of\=outfile" but that got killed 
pretty fast :-/


         Gert-Jan
-----
"If you are good, you will be assigned all the work. If you
  are really good, you will get out of it."
     - Dilbert



  parent reply	other threads:[~1999-12-09  9:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-12-09  7:52 Decklin Foster
1999-12-09  8:26 ` Markus Friedl
1999-12-09  8:52 ` Gert-Jan Vons [this message]
1999-12-09 14:20   ` Decklin Foster
1999-12-09 16:48   ` Paul Haahr
1999-12-09 16:27 ` Mark K. Gardner
1999-12-09 22:08 ` kim kubik
1999-12-10  7:45 Byron Rakitzis
1999-12-10  9:32 ` Gert-Jan Vons

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

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

  git send-email \
    --in-reply-to=4.2.2.19991209092255.00ae2380@mailhost.ocegr.fr \
    --to=vons@ocegr.fr \
    --cc=fosterd@hartwick.edu \
    --cc=rc@hawkwind.utcs.toronto.edu \
    /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.
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 NNTP newsgroup(s).