xref: /freebsd/contrib/tcsh/WishList (revision fcb560670601b2a4d87bb31d7531c8dcc37ee71b)
1
2                                [Home] WishList
3
4   Home | RecentChanges | Preferences
5     _________________________________________________________________
6
7   Surprised by this behavior...is this a bug?
8
9   (Goal:  e.g.  distinguish  between  completely  numeric args/names and
10   those containing non-numerics)
11
12 % touch 1023 pex103 pex103a 104a z101 16a02 1999 2001 2001_A_Space_Odyssey
13 % ls -1 *[^0-9]*
14 104a
15 16a02
16 2001_A_Space_Odyssey
17 pex103
18 pex103a
19 z101
20 # (great, looks good to me. Got everything containing a nonnumeric, no more, n
21o less.)
22
23 % foreach p ( 1023 pex103 pex103a 104a z101 16a02 1999 2001 2001_A_Space_Odyss
24ey )
25 foreach? if ( $p !~ *[^0-9]* ) echo $p
26 foreach? end
27 # (no output. Huh?)
28
29 % foreach p ( 1023 pex103 pex103a 104a z101 16a02 1999 2001 2001_A_Space_Odyss
30ey )
31 foreach? if ( $p =~ *[^0-9]* ) echo $p
32 foreach? end
33 1023           (!)
34 pex103
35 pex103a
36 104a
37 z101
38 16a02
39 1999           (!)
40 2001           (!)
41 2001_A_Space_Odyssey
42 # (Huh?)
43
44   The [MAN page description] for =~ and !~ just refer to "(see [Filename
45   substitution])',  but  evidently  there is a (unexplained) difference.
46   The  actual  filename  globbing  looks  correct to me, but the pattern
47   matching   operator   behavior  is  unexpected,  if  I'm  not  missing
48   something.
49
50   tcsh 6.09.00
51
52   - bhooglan
53     _________________________________________________________________
54
55   Wish "tcsh -l" would accept other flags. At least "-c".
56
57   Currently I can't get ssh to have the right environment unless it is a
58   login  shell. The .ssh/environment doesn't work for me because I login
59   to  different  machines  with  different environments. One thing to do
60   would  be  to not have the different environment for login compared to
61   other shells, but what I would really like is something like...
62
63   ssh remote_application_server "tcsh -l -c application"
64
65   The "ssh -t" doesn't work for me and I don't know why.
66
67   Thanks Tim
68
69   Fix limit vmemoryuse in Linux
70
71   In  Linux  tcsh  is  unable  to  limit  vmemoryuse.  This  is  because
72   RLIMIT_VMEM isn't defined, instead Linux has RLIMIT_AS which means the
73   same.  On  Google  groups  I  found  patches  suggested by Komazaki at
74   http://groups.google.com/groups?hl=sv&lr=&ie=UTF-8&oe=ISO-2022-JP&selm
75   =m3snmczvfc.wl%40thinkpad.osk.3web.ne.jp.osk.3web.ne.jp    and   Ogawa
76   Hirofumi suggests a patch at
77   http://groups.google.com/groups?hl=sv&lr=&ie=UTF-8&selm=87snmba4id.fsf
78   %40devron.myhome.or.jp  None  of  these  patches  seems  to  have been
79   included in version 6.12 as 6.12 still has this problem.
80
81   /Henrik??
82
83   New  idea:  use  last  line  (or  n'th line) of output as input to new
84   command.
85
86   I often find myself typing something like:
87
88   >locate lshort
89   /usr/local/stow/share/texmf/doc/latex/general/lshort.dvi    .    .   .
90   /usr/local/store/share/texmf/doc/latex/general/lshort.dvi
91
92   >xdvi /usr/local/store/share/texmf/doc/latex/general/lshort.dvi
93
94   Now the way I accomplish writing the last line, is by moving the mouse
95   over  the  last line, and the copy paste it. It would be very nice, if
96   the  shell could keep the last n lines of output in a buffer. This way
97   one could avoid using the mouse by typing something like:
98
99   >xdvi <M-1>
100
101   which  would  insert  the  last  line of output, similarly <M-2> could
102   insert  the second last line of output. (the exact commands used is of
103   course configured via bindkey).
104
105   This  could  save  me  a  couple  of  times  to  the  mouse everyday -
106   di010070@diku.dk
107
108          The shell does not capture any output from commands it runs, so
109          this  is really more a feature for the terminal (be it hardware
110          or software). --Kim
111
112   Fix  memory  leak  related  to  aliasrun().  Precmd,  Cwdcmd etc. leak
113   memory.
114
115   Fix migrate -site $$... Seems to hang... (aix370)
116
117   Fix history in loops.
118
119   New idea: sed operations on variables.
120
121   Lots  of  people  seem  to  like  the  idea  to be able to do sed type
122   operations  on  shell variables. Maybe we can extend the syntax of the
123   variable  editing  to understand string operations. So I would like to
124   be able to use:
125
126> set a="this is a STRING"
127> echo $a:[3-]
128is is a STRING
129> echo $a:[#]
13016
131> echo $a:[6-7]
132is
133> echo $a:[-2]
134ng
135> echo $a:[-20]
136Subscript out of bounds.
137> echo $a:[2-20]
138Subscript out of bounds.
139> echo $a:[1-1]:u$a:[2-].
140This is a string.
141
142   </blockquote>
143
144   Fix pipelines that contain builtins so that they behave correctly.
145
146   I  tried  to  fix  that (most of the code is in sh.sem.c, but it works
147   only  for  non  POSIX  machines  cause otherwise the setpgid() I added
148   fails).
149
150   Fix the correct code... How to do that involves A.I....
151
152   Rewrite  the  whole  thing.  It  has  taken  to  much beating over the
153   years...
154
155   Add  another  hook  like  precmd  to  be executed after the prompt but
156   before the command.
157
158   Add instructions for using configure in the README file.
159
160   Make manual page references links in the HTML version of the manual.
161
162   It is possible to match the words with ([0-9]) after them. Links could
163   be  using the manual page CGI at http://www.tac.eu.org/cgi-bin/man-cgi
164   for content.
165
166   Add OpenBSD?? to the Makefile, etc.
167
168   A  Csh compatability mode would be nice: I know tcsh is supposed to be
169   fully  csh  compatible,  but csh scripts containing such constructs as
170   '$<'  ,  'if  ( -d $file ) cd $file' or any of a great number of other
171   valid  csh commands, will produce syntax errors or the like with tcsh,
172   which  is  frustrating when writing/maintaining csh scripts which have
173   to  run on systems with only tcsh and systems with only csh. If such a
174   thing  exists, I couldn't find it after searching the man page for two
175   hours, and it should be better documented
176
177   Add  hooks  for  command  completion  Either  for a dynamically loaded
178   library,  or a callback to another program that allows another pass to
179   complete the command. As a trivial example, the module could duplicate
180   the  functionality of aliases. A tcsh_mud.so could define sigh, groan,
181   cheer,  lol,  etc  to  produce  output  if they weren't actually valid
182   commands.
183
184   Properly deal with : in filename substitution
185
186   Given something like
187
188   blah.foo:*.foo
189
190   expand it properly to something like
191
192   blah.foo:baz.foo:bob.foo:bar.foo
193
194   It already does this, if you have a file named like that... --Kim
195
196   Directory  commands  don't  handle  blanks  in filenames. If I have an
197   environment variable such as:
198
199% setenv TOMCAT '/c/Program? Files/Apache? Software Foundation/Tomcat? 5.0'
200and then do the following, setenv complains that it has too many arguments.
201% cd /tmp
202% cd "$TOMCAT"
203setenv: Too many arguments
204% dirs
205/c/Program? Files/Apache? Software Foundation/Tomcat? 5.0 /tmp
206% pushd "$TOMCAT"
207/c/Program? Files/Apache? Software Foundation/Tomcat? 5.0
208setenv: Too many arguments.
209% pushd /tmp
210/tmp /c/Program? Files/Apache? Software Foundation/Tomcat? 5.0
211% pushd
212/c/Program? Files/Apache? Software Foundation/Tomcat? 5.0 /tmp
213setenv: Too many arguments.
214
215   Wish  tcsh  would feature fc (fix command) as in bash !Wish tcsh would
216   featuer fc (fix command) as in bash !
217
218   i  wish  for  read-only  CVS  access  to  the  sources (as i am on the
219   bleeding egde)
220
221   Functions  would be useful! As would being able to redirect stderr (or
222   other file descriptors) independently of stdout! -- Rohan Talip
223
224   Don't  complete  commands  with non-executable files. For example if I
225   have a file called README in a directory in the PATH, and I type R TAB
226   tcsh will complete README as a command. But README does not have the x
227   bit set, so it's kind of pointless to have that completion.
228
229   -->  Setting the shell variable "recognize_only_executables" will give
230   you this behavior. --Waz
231
232   If  I  have  in  my  .tcshrc:  complete  {cd,pushd}  p/1/d/ and I type
233   "complete cd" at the shell prompt nothing is printed. It would be nice
234   if {cd,pushd} p/1/d/ was printed.
235
236   -->  I  had programmed this feature a while ago but have not submitted
237   it  because  the implementation is not robust enough to keep TCSH from
238   crashing  when  special  characters  are part of the pattern. I'll get
239   back to it at some point! --Waz
240
241   It would be nice if "set autolist" would be on by default.
242
243   ---
244
245   Unicode  (UTF-8) doesn't seem to work. It's not even possible to "make
246   catalogs"  in  unicode  environment.  Also  unicode support (and other
247   multibyte   encodings)   should   depend   on   environment  variables
248   (LC_CTYPE),  not  on  "set dspmbyte". On unicode terminal translations
249   show empty characters instead of messages.
250
251   In addition to message catalogs, there are more problems:
252ipi:~/test/tcsh/bin> ls
253tcsh  ���
254ipi:~/test/tcsh/bin> set dspmbyte utf8
255ipi:~/test/tcsh/bin> ls ???
256ls: No match.
257
258   Unicode is used more and more, and is default on many environments, so
259   this really should be fixed. --mpaananen
260     _________________________________________________________________
261
262   When I have a script called from complete I would like to have the the
263   existing  text  from the command line passed to that script so that it
264   can  look  at  all existing words to detemine what it should output as
265   the completion list.
266
267   For example:
268
269   complete prog 'n/-x/`myscript`'
270
271   Then when I do this:
272
273   > prog -a A -b B -x <TAB>
274
275   The script would get 'prog -a A -b B -x ' which would allow the script
276   to  base  its -x completions on the options given for -a and -b (or if
277   they  aren't  present give nothing - or a message saying that they are
278   required).  Setting  a temporary environment variable before executing
279   the command would also work and would probably be safer.
280
281   Perhaps  this info is already available as a special variable that can
282   be  manually  passed  to  the  script:  complete  prog 'n/-x/`myscript
283   $cmd_line`'?
284
285   Update:  I  looked  into this further by actually downloading the code
286   and  looking  through  it.  It  doesn't  seem that this information is
287   available  anywhere,  but  I  did  manage  to achieve what I wanted by
288   adding  the  following  two lines around the call to tw_complete (line
289   278, tw.parse.c 6.12.00):
290
291   added> tsetenv(STRCURRCMDLINE, (Char *)&qline);
292        looking = tw_complete(cmd_start, &wordp, &pat, looking, &suf);
293
294   added> Unsetenv(STRCURRCMDLINE);
295
296   And I added a definition for STRCURRCMDLINE to be "CURRCMDLINE".
297
298   This   provides   the   environment   variable   CURRCMDLINE   to  any
299   script/program running under complete. The only issue I see is picking
300   a  sufficiently obscure environment variable that noone else is likely
301   to  use,  but have it readable enough to understand what it is for. It
302   also  shouldn't overwrite an existing ENV variable if it is already in
303   use.
304     _________________________________________________________________
305
306   Home | RecentChanges | Preferences
307   Edit text of this page | View other revisions
308   Last edited March 25, 2004 10:27 (diff)
309   Search: ____________________
310