]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - contrib/tcsh/WishList
MFC r368207,368607:
[FreeBSD/stable/10.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    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-]
128 is is a STRING
129 > echo $a:[#]
130 16
131 > echo $a:[6-7]
132 is
133 > echo $a:[-2]
134 ng
135 > echo $a:[-20]
136 Subscript out of bounds.
137 > echo $a:[2-20]
138 Subscript out of bounds.
139 > echo $a:[1-1]:u$a:[2-].
140 This 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'
200 and then do the following, setenv complains that it has too many arguments.
201 % cd /tmp
202 % cd "$TOMCAT"
203 setenv: 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
208 setenv: 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
213 setenv: 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:
252 ipi:~/test/tcsh/bin> ls
253 tcsh  åäö
254 ipi:~/test/tcsh/bin> set dspmbyte utf8
255 ipi:~/test/tcsh/bin> ls ???
256 ls: 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: ____________________