zsh-workers
 help / color / mirror / code / Atom feed
From: Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
To: zsh-workers@sunsite.auc.dk
Subject: PATCH: $modules (was: Re: Seg fault with zmodload -u)
Date: Wed, 16 Aug 2000 11:23:21 +0200 (MET DST)	[thread overview]
Message-ID: <200008160923.LAA11449@beta.informatik.hu-berlin.de> (raw)
In-Reply-To: Oliver Kiddle's message of Tue, 15 Aug 2000 16:18:48 +0100


Oliver Kiddle wrote:

> ...
> 
> On the subject of zmodload completion, how would I prevent the 'module
> alias' description from being displayed when there are no module
> aliases - do I have to put the zmodload -A output in an array first and
> then not call the _requested line if the array is empty - or is there a
> better way?

Eh? The description for the aliases should not be displayed when there 
are no matches added for it (or none of the strings added for it match 
what's on the line). Automatically. And it works for me (using a
simple test completion function).


Anyway. Here is the change to the parameter module to report aliases
correctly in the $modules parameter. They have values of the form
`alias:<name>', where <name> is, of course, the aliased-to-name.

And the manual was still talking about `builtin' being a possible
value, although that went away when zmodload was changed to treat
linked-in modules like loaded ones.

No changes to _zmodload. If Oliver is working on the _arguments
version anyway...

Bye
 Sven

Index: Doc/Zsh/mod_parameter.yo
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/mod_parameter.yo,v
retrieving revision 1.3
diff -u -r1.3 mod_parameter.yo
--- Doc/Zsh/mod_parameter.yo	2000/05/21 18:27:36	1.3
+++ Doc/Zsh/mod_parameter.yo	2000/08/16 09:17:39
@@ -91,9 +91,10 @@
 vindex(modules)
 item(tt(modules))(
 An associative array giving information about modules. The keys are the names
-of the modules builtin, loaded, or registered to be autoloaded. The
+of the modules loaded, registered to be autoloaded, or aliased. The
 value says which state the named module is in and is one of the
-strings tt(builtin), tt(loaded), or tt(autoloaded).
+strings `tt(loaded)', `tt(autoloaded)', or `tt(alias:)var(name)',
+where var(name) is the name the module is aliased to.
 
 Setting or unsetting keys in this array is not possible.
 )
Index: Src/Modules/parameter.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/parameter.c,v
retrieving revision 1.16
diff -u -r1.16 parameter.c
--- Src/Modules/parameter.c	2000/08/14 07:30:29	1.16
+++ Src/Modules/parameter.c	2000/08/16 09:17:40
@@ -892,7 +892,8 @@
 	    m = (Module) getdata(node);
 	    if (m->u.handle && !(m->flags & MOD_UNLOAD) &&
 		!strcmp(name, m->nam)) {
-		type = "loaded";
+		type = ((m->flags & MOD_ALIAS) ?
+			dyncat("alias:", m->u.alias) : "loaded");
 		break;
 	    }
 	}
@@ -935,6 +936,7 @@
     LinkNode node;
     Module m;
     Conddef p;
+    char *loaded = dupstring("loaded");
 
     pm.flags = PM_SCALAR | PM_READONLY;
     pm.sets.cfn = NULL;
@@ -946,12 +948,12 @@
     pm.old = NULL;
     pm.level = 0;
 
-    pm.u.str = dupstring("builtin");
-    pm.u.str = dupstring("loaded");
     for (node = firstnode(modules); node; incnode(node)) {
 	m = (Module) getdata(node);
 	if (m->u.handle && !(m->flags & MOD_UNLOAD)) {
 	    pm.nam = m->nam;
+	    pm.u.str = ((m->flags & MOD_ALIAS) ?
+			dyncat("alias:", m->u.alias) : loaded);
 	    addlinknode(done, pm.nam);
 	    func((HashNode) &pm, flags);
 	}

--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


             reply	other threads:[~2000-08-16  9:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-08-16  9:23 Sven Wischnowsky [this message]
2000-08-16  9:45 ` Peter Stephenson
2000-08-18 14:43 ` PATCH: _zmodload Oliver Kiddle
2000-08-21  6:04   ` Andrej Borsenkow
2000-08-16  9:56 PATCH: $modules (was: Re: Seg fault with zmodload -u) Sven Wischnowsky
2000-08-16 10:12 ` Peter Stephenson
2000-08-16 10:34 Sven Wischnowsky

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=200008160923.LAA11449@beta.informatik.hu-berlin.de \
    --to=wischnow@informatik.hu-berlin.de \
    --cc=zsh-workers@sunsite.auc.dk \
    /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).