zsh-users
 help / color / mirror / code / Atom feed
From: Ray Andrews <rayandrews@eastlink.ca>
To: zsh-users@zsh.org
Subject: Re: append to history entry?
Date: Wed, 28 Dec 2016 09:39:31 -0800	[thread overview]
Message-ID: <d56f360e-4e53-045d-0056-f76e5eb848df@eastlink.ca> (raw)
In-Reply-To: <161227220458.ZM3240@torch.brasslantern.com>

On 27/12/16 10:04 PM, Bart Schaefer wrote:
> The backslash stuff is borrowed conceptually from C (\t for tab, etc.).
> Having that same paradigm applied at multiple levels of processing stems
> from the language being interpreted rather than compiled.
I think what I'm not really getting is the multiple level thing. When I 
get that, maybe difficulties
will melt away.  Of course the backslash is special, hasta be.

> The point is that this isn't "natural," because what you asked for isn't
> natural.
No?  It seems simple enough and the ' : ' command seems tailor made for it.
>   but for the
> sake of everyone else who's going to see this and copy-paste, it
> may be worth forestopping any future problems.

Of course!  It's the gotchas that drive me crazy.  Un-robust code is 
alpha code.
I guess that's one of these cultural things -- for me the idea that 
something
more or less works most of the time, but never on Thursday, just doesn't 
cut it.
No, I'll never have a backslash in my $HOST but that's irrelevant because
it hasta be proof against that possibility.  I agree with you 
absolutely. $HOST
is an unformated literal string and should be seen that way every time.
>
> You can't get away from thinking about what you mean.

Indeed not.  The difficulty is that what I mean and what zsh thinks I 
mean ain't the same.

I keep lusting after 'history'.  Sheesh, what I want is already there, 
zsh already knows how
to preserve the literal keystrokes that you typed into history, I just 
can't get at it.
If I could just intercept the command as it goes into history -- but 
with each command
knowing what belongs to itself when there are semicolons -- I'd have 
everything I want:

     $ com1 "\'"{(g+)}()\(\t | @$%^>> /dev/the-void < ; com2 "\t"; echo 
"don't try this at home"

... now hit the up arrow and what I get back is exactly what I typed.  
So why can't we have:

    function com1 ()
    {
    echo "Here's exactly what you typed, absolutely unmolested, when you
    invoked this command:\n
    $MY-LITERAL-ARGUMENTS-AS-HISTORY-WILL-RECORD-THEM"
    }

    $ com1 "\'"{(g+)}()\(\t | @$%^>> /dev/the-void <

    Here's exactly what you typed, absolutely unmolested, when you
    invoked this command:
    com1 "\'"{(g+)}()\(\t | @$%^>> /dev/the-void <

    $


Somewhere, in the deepest bowels of the parser, the literal string 
exists just before it is sent to history.  If I could just grab it 
somehow ...

Don't let me bother you too much Bart, we've been over this, and it 
seems it can't be done.  In practical terms what you've shown me works 
perfectly.


  reply	other threads:[~2016-12-28 17:39 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-26 23:16 Ray Andrews
2016-12-27  1:28 ` Ray Andrews
2016-12-27  4:47   ` Bart Schaefer
     [not found] ` <5288b537-f06a-d18a-60ea-1f962856c80c__41345.3811700039$1482803962$gmane$org@eastlink.ca>
2016-12-27 12:55   ` Daniel Shahaf
2016-12-27 16:00     ` Bart Schaefer
2016-12-27 18:23       ` Ray Andrews
2016-12-27 19:09         ` Bart Schaefer
2016-12-27 23:16           ` Ray Andrews
2016-12-27 23:55             ` Bart Schaefer
2016-12-28  0:57               ` Ray Andrews
2016-12-28  6:04                 ` Bart Schaefer
2016-12-28 17:39                   ` Ray Andrews [this message]
2016-12-28 18:22                     ` Bart Schaefer
2016-12-28 19:20                       ` Ray Andrews
2016-12-28 21:24                         ` Ray Andrews
     [not found]                         ` <3b8fe027-d7fb-25fb-bc05-9ecd3a91b08f__38422.8622112007$1482960347$gmane$org@eastlink.ca>
2016-12-28 23:34                           ` Daniel Shahaf
2016-12-29  0:51                             ` Bart Schaefer
2016-12-29  3:27                             ` Ray Andrews
     [not found]               ` <f87d7f79-3529-d832-eed5-83d4130ea128__16005.139592062$1482888562$gmane$org@eastlink.ca>
2016-12-28  5:28                 ` Daniel Shahaf
2016-12-28  6:31                   ` Bart Schaefer
2016-12-28 16:33                   ` Ray Andrews

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=d56f360e-4e53-045d-0056-f76e5eb848df@eastlink.ca \
    --to=rayandrews@eastlink.ca \
    --cc=zsh-users@zsh.org \
    /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.vuxu.org/mirror/zsh/

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).