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