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 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-] 139is is a STRING 140> echo $a:[#] 14116 142> echo $a:[6-7] 143is 144> echo $a:[-2] 145ng 146> echo $a:[-20] 147Subscript out of bounds. 148> echo $a:[2-20] 149Subscript out of bounds. 150> echo $a:[1-1]:u$a:[2-]. 151This 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' 211and then do the following, setenv complains that it has too many arguments. 212% cd /tmp 213% cd "$TOMCAT" 214setenv: 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 219setenv: 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 224setenv: 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: 263ipi:~/test/tcsh/bin> ls 264tcsh ��� 265ipi:~/test/tcsh/bin> set dspmbyte utf8 266ipi:~/test/tcsh/bin> ls ??? 267ls: 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: ____________________ 321