* Re: PATCH: $modules (was: Re: Seg fault with zmodload -u)
@ 2000-08-16 9:56 Sven Wischnowsky
2000-08-16 10:12 ` Peter Stephenson
0 siblings, 1 reply; 5+ messages in thread
From: Sven Wischnowsky @ 2000-08-16 9:56 UTC (permalink / raw)
To: zsh-workers
Peter Stephenson wrote:
> Sven wrote:
> > 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).
>
> I had the same experience as Oliver before I changed _zmodload. Could it
> make a difference if the string on the line is empty? Or that I have
> different match groups listed separately?
No. It's that without aliases, `zmodload -A' prints a newline. I.e.,
one line. So `${${(f)"$(zmodload -A)"}%% *}' produces one string (an
empty one). This could have been fixes by using:
`${${${(f)"$(zmodload -A)"}%% *}:#}'.
Bye
Sven
--
Sven Wischnowsky wischnow@informatik.hu-berlin.de
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PATCH: $modules (was: Re: Seg fault with zmodload -u)
2000-08-16 9:56 PATCH: $modules (was: Re: Seg fault with zmodload -u) Sven Wischnowsky
@ 2000-08-16 10:12 ` Peter Stephenson
0 siblings, 0 replies; 5+ messages in thread
From: Peter Stephenson @ 2000-08-16 10:12 UTC (permalink / raw)
To: Zsh hackers list
> No. It's that without aliases, `zmodload -A' prints a newline. I.e.,
> one line. So `${${(f)"$(zmodload -A)"}%% *}' produces one string (an
> empty one). This could have been fixes by using:
> `${${${(f)"$(zmodload -A)"}%% *}:#}'.
% zmodload -A | od -t x2
0000000
--
Peter Stephenson <pws@csr.com>
Cambridge Silicon Radio, Unit 300, Science Park, Milton Road,
Cambridge, CB4 0XL, UK Tel: +44 (0)1223 392070
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PATCH: $modules (was: Re: Seg fault with zmodload -u)
@ 2000-08-16 10:34 Sven Wischnowsky
0 siblings, 0 replies; 5+ messages in thread
From: Sven Wischnowsky @ 2000-08-16 10:34 UTC (permalink / raw)
To: zsh-workers
Peter Stephenson wrote:
> > No. It's that without aliases, `zmodload -A' prints a newline. I.e.,
> > one line. So `${${(f)"$(zmodload -A)"}%% *}' produces one string (an
> > empty one). This could have been fixes by using:
> > `${${${(f)"$(zmodload -A)"}%% *}:#}'.
>
> % zmodload -A | od -t x2
> 0000000
But:
% f() { echo $# }
% f ${${(f)"$(zmodload -A)"}%% *}
1
% f ${${${(f)"$(zmodload -A)"}%% *}:#}
0
It's in the "".
Bye
Sven
P.S.: And of course, that meant that it was dependent on whether
completion was tried with an empty or non-empty prefix.
--
Sven Wischnowsky wischnow@informatik.hu-berlin.de
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PATCH: $modules (was: Re: Seg fault with zmodload -u)
2000-08-16 9:23 Sven Wischnowsky
@ 2000-08-16 9:45 ` Peter Stephenson
0 siblings, 0 replies; 5+ messages in thread
From: Peter Stephenson @ 2000-08-16 9:45 UTC (permalink / raw)
To: Zsh hackers list
Sven wrote:
> 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).
I had the same experience as Oliver before I changed _zmodload. Could it
make a difference if the string on the line is empty? Or that I have
different match groups listed separately?
--
Peter Stephenson <pws@csr.com>
Cambridge Silicon Radio, Unit 300, Science Park, Milton Road,
Cambridge, CB4 0XL, UK Tel: +44 (0)1223 392070
^ permalink raw reply [flat|nested] 5+ messages in thread
* PATCH: $modules (was: Re: Seg fault with zmodload -u)
@ 2000-08-16 9:23 Sven Wischnowsky
2000-08-16 9:45 ` Peter Stephenson
0 siblings, 1 reply; 5+ messages in thread
From: Sven Wischnowsky @ 2000-08-16 9:23 UTC (permalink / raw)
To: zsh-workers
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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2000-08-16 10:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-08-16 9:56 PATCH: $modules (was: Re: Seg fault with zmodload -u) Sven Wischnowsky
2000-08-16 10:12 ` Peter Stephenson
-- strict thread matches above, loose matches on Subject: below --
2000-08-16 10:34 Sven Wischnowsky
2000-08-16 9:23 Sven Wischnowsky
2000-08-16 9:45 ` Peter Stephenson
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).