zsh-workers
 help / color / mirror / code / Atom feed
* Compctl
@ 1997-10-09  8:02 Sven Wischnowsky
  0 siblings, 0 replies; 3+ messages in thread
From: Sven Wischnowsky @ 1997-10-09  8:02 UTC (permalink / raw)
  To: zsh-workers


Hi

My last patch (the one implementing partial word completion and all
that) had some problems, the patch below fixes them.

1. There was a problem with the inserted string if COMPLETEFOLDCASE
   was set and the possible matches contained upper- and lowercase
   letters, somtimes the uppercase letters were inserted, breaking the
   completion of the rest of the word.
2. On system where char is signed array subscripts sometimes were
   negative (this is what makes the patch *look* big).

Bye
 Sven

*** Zle/zle_tricky.c	Thu Oct  9 09:12:35 1997
--- ../../z/Src/Zle/zle_tricky.c	Thu Oct  9 09:16:40 1997
***************
*** 210,216 ****
  
  /* This macro is used to test if we should complete partial paths.    */
  
! #define comp_paths()  (!!cseps[(unsigned int) '/'])
  
  /* A flag saying whether we are completing a partial path and a variable   *
   * holding the length of the partial path. again is non-zero if completion *
--- 214,220 ----
  
  /* This macro is used to test if we should complete partial paths.    */
  
! #define comp_paths()  (!!cseps[(int) ((unsigned char) '/')])
  
  /* A flag saying whether we are completing a partial path and a variable   *
   * holding the length of the partial path. again is non-zero if completion *
***************
*** 1423,1429 ****
  	/* If we reached the end of the tested string and the prefix *
  	 * string is not finished, or we are not at a separator in   *
  	 * the prefix, the prefix doesn't match.         	     */
! 	if (!*b || !cseps[(unsigned int) *a])
  	    return -1;
  	/* Find the next matching character.                         */
  	while (*b && !cccmp(*a, *b))
--- 1427,1433 ----
  	/* If we reached the end of the tested string and the prefix *
  	 * string is not finished, or we are not at a separator in   *
  	 * the prefix, the prefix doesn't match.         	     */
! 	if (!*b || !cseps[(int) ((unsigned char) *a)])
  	    return -1;
  	/* Find the next matching character.                         */
  	while (*b && !cccmp(*a, *b))
***************
*** 1449,1455 ****
      while (c >= a && d >= b) {
  	p = c;
  	/* Search the next separator in the suffix.			*/
! 	while (p >= a && !cseps[(unsigned int) *p])
  	    p--;
  	if (p >= a) {
  	    /* We are not in the last part, so compare the beginnings of *
--- 1453,1459 ----
      while (c >= a && d >= b) {
  	p = c;
  	/* Search the next separator in the suffix.			*/
! 	while (p >= a && !cseps[(int) ((unsigned char) *p)])
  	    p--;
  	if (p >= a) {
  	    /* We are not in the last part, so compare the beginnings of *
***************
*** 1537,1543 ****
  	    return m - o;
  	}
  	/* Otherwise search the next separator in the first string...	*/
! 	while (*a && !cseps[(unsigned int) *a])
  	    a++;
  	/* And the matching character in the second string.		*/
  	while (*b && !cccmp(*a, *b))
--- 1541,1547 ----
  	    return m - o;
  	}
  	/* Otherwise search the next separator in the first string...	*/
! 	while (*a && !cseps[(int) ((unsigned char) *a)])
  	    a++;
  	/* And the matching character in the second string.		*/
  	while (*b && !cccmp(*a, *b))
***************
*** 1574,1580 ****
  addmatch(char *s, char *t)
  {
      int test = 0, sl = strlen(s), pl = rpl, cc = 0, *bp, *ep, *sp;
!     char *e = NULL, *tt, *te, *fc, **fm, *ap = NULL, *pc;
      Comp cp = patcomp;
      HashNode hn;
      Param pm;
--- 1578,1584 ----
  addmatch(char *s, char *t)
  {
      int test = 0, sl = strlen(s), pl = rpl, cc = 0, *bp, *ep, *sp;
!     char *e = NULL, *tt, *te, *fc, **fm, *ap = lpre, *pc;
      Comp cp = patcomp;
      HashNode hn;
      Param pm;
***************
*** 2005,2011 ****
  		s++;
  		c = *((unsigned char *) s);
  	    }
! 	    ceqkeys[(unsigned int) k] = m;
  	    while ((c = *((unsigned char *) s)) && c != ':') {
  		s++;
  		if (c == '\\' && *s) { c = *((unsigned char *) s); s++; }
--- 2009,2015 ----
  		s++;
  		c = *((unsigned char *) s);
  	    }
! 	    ceqkeys[(int) k] = m;
  	    while ((c = *((unsigned char *) s)) && c != ':') {
  		s++;
  		if (c == '\\' && *s) { c = *((unsigned char *) s); s++; }
***************
*** 3709,3722 ****
  	    cs += pcs;
  	    inv = 1;
  	}
! 	else {
  	    if (ab)
! 		inststrlen(firstm + apl, 1, ab - apl);
  	    if (ab + ae > shortl)
  		if ((ae -= ab + ae - shortl) < 0)
  		    ae = 0;
  	    if (ae && !atend)
! 		inststrlen(firstm + strlen(firstm) - asl - ae, 0, ae - asl);
  	    if ((ab || (ae && !atend)) && !iscp)
  		inv = 1;
  	}
--- 3707,3726 ----
  	    cs += pcs;
  	    inv = 1;
  	}
! 	else if (ab != apl || ae != asl) {
! 	    char *s = firstm;
! 
! 	    if (isset(COMPLETEFOLDCASE)) {
! 		s = dupstring(s);
! 		downcase(&s);
! 	    }
  	    if (ab)
! 		inststrlen(s + apl, 1, ab - apl);
  	    if (ab + ae > shortl)
  		if ((ae -= ab + ae - shortl) < 0)
  		    ae = 0;
  	    if (ae && !atend)
! 		inststrlen(s + strlen(s) - asl - ae, 0, ae - asl);
  	    if ((ab || (ae && !atend)) && !iscp)
  		inv = 1;
  	}
***************
*** 3961,3967 ****
  
      return a == b ||
  	(isset(COMPLETEFOLDCASE) && a == tolower(b)) ||
! 	((m = ceqkeys[(unsigned int) a]) && (cequiv[(unsigned int) b] & m));
  }
  
  /* Like the previous one, but matching is done in both directions.	*/
--- 3965,3972 ----
  
      return a == b ||
  	(isset(COMPLETEFOLDCASE) && a == tolower(b)) ||
! 	((m = ceqkeys[(int) ((unsigned char) a)]) &&
! 	 (cequiv[(int) ((unsigned char) b)] & m));
  }
  
  /* Like the previous one, but matching is done in both directions.	*/

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re:  Compctl
@ 1997-09-18  6:15 Sven Wischnowsky
  0 siblings, 0 replies; 3+ messages in thread
From: Sven Wischnowsky @ 1997-09-18  6:15 UTC (permalink / raw)
  To: zsh-workers


Oops, the patch I sent containd some old conditioned out code, the
patch below removes that (it's a problem to have some patch lingering
around and adapting it to serveral version when having not too much
time, the patch in question for example was first implemented for
version 2.5.something - so it may need some bumming).

Bye
 Sven

*** Src/Zle/zle_tricky.c.old	Thu Sep 18 08:10:46 1997
--- Src/Zle/zle_tricky.c	Thu Sep 18 08:11:19 1997
***************
*** 3448,3459 ****
  	shortl = strlen(pjoined);
  	apl = ppl; asl = psl;
      }
- #if 0
-     if (apl)
- 	apl--;
-     if (asl)
- 	asl--;
- #endif
      /* Make an array from the list of matches. */
      makearray(matches);
      PERMALLOC {
--- 3448,3453 ----


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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Compctl
@ 1997-09-17 14:00 Sven Wischnowsky
  0 siblings, 0 replies; 3+ messages in thread
From: Sven Wischnowsky @ 1997-09-17 14:00 UTC (permalink / raw)
  To: zsh-workers


Hi

Since Peter dared to post some patches for the completion code...

I suggested the functionality implemented by the patch below at least
two times, but it didn't make into the baseline, so this may sound
familiar ;-)

The patch adds:

- The option `autoglobcomplete' which tries to do to `globcomplete'
  what `automenu' does to `menucomplete'.
  If it is set and a completion attempt produces no result, the whole
  process is retried with `globcomplete' temporarily set and `*'s
  inserted at the beginning and end of the word and at the cursor
  position.
  This is very helpful if you have lots of files like `foo001.dat', 
  `foo002.dat' and so on. With the option set you only have to type
  `002<TAB>' to get `foo002.dat'.

- The option `completefoldcase' which makes the matching in the
  completion code case-insensitive (in one direction: `a' matches
  `a' and `A', but `A' matches only itself).

- Two new options for compctl (in previous versions of this patch these
  were implemented using special parameters):

  - `compctl -. <seps>' defines characters that separate word-parts
    which should be completed separately (and simultaneously).
    Using this with `compctl -T' gives characters that should be
    treated as separators everywhere.
    Thus, with `compctl -T -. ".,-_/"' you can complete `z_tr.c'
    to `zle_tricky.c' with one TAB.
  - `compctl -: <classes>' defines characters that may be used as
    placeholders for other characters. The classes string contains a
    colon-separated list of class definitions. The first character in
    each definition is the character that may appear on the command
    line, the rest is a character class describing the characters it
    matches (a `^' or `!' at the beginning negates the class and
    ranges are supported with the `a-z' form).
    E.g.: with `compctl -T -: "-_-:.-.,_"' a typed hyphen matches
    hyphens and underscores in the possible completions and a dot
    matches hyphens, dots, commas, and underscores.
   
One comment:

The last time I suggested this, Peter described a more generalised
form for describing character classes and all that. Unfortunately I
lost his mail, but I still think that the way it is done in this patch
is not too bad (i.e. it doesn't slow things down too much).

But of course this is only a suggestion, so if any one has some good
ideas about things like this...


Another comment:

Using `.' and `:' as option characters looks very weird, doesn't it?
I had the idea seeing Peter's `/' option... (we are really really
running out of alphabetic characters for compctl-options)


And yet another comment:

This patch is for plain 3.1.2, but it can be applied on top of Peter's
latest patches, producing only one rejected hunk in compctl.c which is
*very* easy to apply by hand.


And a last comment:

The stuff in glob.c and comp1.c is used to make this work with the
completion stuff being loaded dynamically, I haven't tried it, though
(this machine here is currently way to busy).


Bye
 Sven

begin 600 comp-patch.gz
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
>U<<R,_4J$E6;,XZX7VEO*U\1\?_ROY=12!9FQ0``
`
end

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1997-10-09  9:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-10-09  8:02 Compctl Sven Wischnowsky
  -- strict thread matches above, loose matches on Subject: below --
1997-09-18  6:15 Compctl Sven Wischnowsky
1997-09-17 14:00 Compctl Sven Wischnowsky

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