From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14060 invoked by alias); 13 Aug 2018 13:55:48 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 23571 Received: (qmail 11339 invoked by uid 1010); 13 Aug 2018 13:55:48 -0000 X-Qmail-Scanner-Diagnostics: from mail-wr1-f42.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.221.42):SA:0(-1.9/5.0):. Processed in 1.270962 secs); 13 Aug 2018 13:55:48 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_PASS,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: luomat@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=nJ33e03F144qg2LwxB7erMahfJ8r0iyzx+mcXn5BO1A=; b=jLuSGSYH+D0Jl6FEABoq6NfAygKJuXGVAKX4HYI/aOf6dx3olvUBWKOjxORUD2Z4bG V0WsXqZm11nwC5xfcDaruxyHvKZt8vdHmcZU2eDbNyYq7Z1gqFjNY8pHB5U8iUlgosqV 7IiUb08l+c9zXKgJRWx5qSRyiV43lb3jhO3X7oN1xZix1dx1TeEXnXyTfCSOeW1NA4Yg 2+j6kZcmOwsheYTuR8CzkeNLcrvRvo+8LCmyI/juMI+/x17zECqK3Ft1jW6Plq42gNAD jFjNSike++rDF9At5VjxWWvfUfN8qXTNL13RK1W5kpb/Yg49v9Pn54JDI8GCaCA0/5KD EzbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=nJ33e03F144qg2LwxB7erMahfJ8r0iyzx+mcXn5BO1A=; b=LoxEEn2wDJmvFbL7hgbFw0yGkO4ZQAXR5teBaNYa+v2h5o7zT2R1iNONe+Chjrjwxf B2VGgKuaXa1Fle0hEUpCK0JlszmJr9I66oWuJg5JZgAV0wpuOYiLNcV38GH7JSUnhpre IFB4J/QekoUzPZ2ojpqd/xvMNeCeRx88kE/CAlxSg1ITFkyyIUFHQl7iHQH4ta3g/16U 8M91hRDgMZMoG8Ol48107FsNcACKgMyYaCaEq1GmDLI/103d4uDqIT/wP0u2OhbI6Y2T DZCINddwqKzcod2ZVIYUmtbF0zZy7zfdpsjLPu5TiXJplfgxVdSVr4kcEn7I4JZOPVXL xd+g== X-Gm-Message-State: AOUpUlGXjjDGtHu4JS6lvDcBO98nFSNRpMF7Ch7UNghBJca1ZsFRH48l 32RJSicOog7cYm5Uui5pm872RtmjXQTx/LXgaUWfFA== X-Google-Smtp-Source: AA+uWPwxSRISnbyWa1pTjsG6ggoNVwKfG6bB7ex/gmrDRjlRnAZE3yQ0o9LSO8za4pCuVIvAtVvfbG8W0nLQuu4o7Jc= X-Received: by 2002:adf:c5c5:: with SMTP id v5-v6mr10837626wrg.30.1534168542943; Mon, 13 Aug 2018 06:55:42 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: TJ Luoma Date: Mon, 13 Aug 2018 09:55:06 -0400 Message-ID: Subject: Re: separating functions, fpath, and autoload To: Zsh-Users List Content-Type: multipart/alternative; boundary="000000000000072056057351738c" --000000000000072056057351738c Content-Type: text/plain; charset="UTF-8" Of course, two minutes after I send my message, I had a thought. I need to _use_ the 'msg' function before it will be defined. Before that, it is the regular thing that I showed in my previous example, but once I _use_ it, then it gets loaded, and is available. Do I have that right? So 'autoload' does not mean "load this right now" but rather "be prepared to load this when it is asked for" ? Tj -- TJ Luoma TJ @ MacStories Personal Website: luo.ma (aka RhymesWithDiploma.com ) Twitter: @tjluoma On Mon, Aug 13, 2018 at 9:49 AM TJ Luoma wrote: > > I'm in the midst of an effort to try to learn some of zsh's more powerful > features, since I've been using zsh forever and feel like I only use 1% of > what it can do. > > One of the things that I've wanted to do for awhile is separate out some > of my more complex functions to remove them from my .zshrc file and put > them into their own files. This should make them easier to track/change/etc > and it makes things a lot easier to read and debug. > > Unfortunately, I can't seem to get it to work right. I'm sure I'm doing > something wrong because I don't really know what I'm doing, so I'll explain > what I've tried, and hopefully someone can explain where I've gone wrong. > > I added this to my .zshrc > > if [ -d "$ZDOTDIR/functions" ] > then > fpath=($ZDOTDIR/functions $fpath) > fi > > The goal there was to add '$ZDOTDIR/functions' to the functions list, > which I think is the right way to do this. > > I can verify that works, I think, by using 'echo $fpath': > > $ echo $fpath > /Users/luomat/Dropbox/dotfiles/zsh/completion > /Users/luomat/Dropbox/dotfiles/zsh/functions > /usr/local/share/zsh/site-functions /usr/share/zsh/site-functions > /usr/share/zsh/5.3/functions > > /Users/luomat/Dropbox/dotfiles is my $ZDOTDIR > > The first file in '/Users/luomat/Dropbox/dotfiles/zsh/functions' is called > 'msg'. For simplicity's sake, let's assume the contents of 'msg' is simply > this: > > function msg { > > echo "$@" > > } > > (It's actually more complicated than that, but that's the overall idea.) > > I tried that, and then I tried > > autoload msg > > and I didn't get an error, but when I check 'which msg' I get this: > > msg () { > # undefined > builtin autoload -X > } > > so I've messed up something along the line. > > Any help would be appreciated. > > Thanks! > > Tj > > > -- > TJ Luoma > TJ @ MacStories > Personal Website: luo.ma (aka RhymesWithDiploma.com > ) > Twitter: @tjluoma > > --000000000000072056057351738c--