aboutsummaryrefslogtreecommitdiffhomepage
path: root/ChangeLog
blob: 8e72ad18da0e6c925a369af93ae8515e743db39d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
2005-09-19  Axel Liljencrantz  <axel@liljencrantz.se>

	* env_universal.c, env_universal_common.c (barrier, callback, create_message, parse_message): Add support for blocking a client until all current messages from the client and corresponding replies  have been transmitted.

	* env_universal.c (env_universal_read_all): Avoid recursive get_socket issues

	* fish_pager.c (main, init, destroy): Return unused keypresses on pager exit
	* reader.c (run_pager): Return unused keypresses on pager exit

	* fish_pager.c (completion_try_print, main): Use alternate screen for interactive pager when available. 

	* reader.c (reader_readline): Quit searching on escape


2005-09-17  Axel Liljencrantz  <axel@liljencrantz.se>

	* init/fish.in: Revert DISPLAY to non-array

	* doc_src/doc.hdr: Documentation cleanup


2005-09-16  Axel Liljencrantz  <axel@liljencrantz.se>

	* builtin.c (builtin_status): Added the status builtin, for checking the fishprogram status

	* doc_src/doc.hdr, init/fish, init/fish_function.fish, init/fish_complete.fish, init/fish_interactive.fish: Switch nomencalature: from subshell to command substitution

	* doc_src/doc.hdr: Update documentation on variables
	* doc_src/doc.hdr: Update documentation on commands and builtins
	* doc_src/doc.hdr: Update documentation on completions

	* init/fish_function.fish: help command now shows help for non-builtin commands	
	* init/fish_function.fish: help command now searches man-pages

	* env_universal.c, env_universal_common.c, fishd.c, env.c, builtin_set.c: Add support for universal variables

	* env.c: Setting a local variable does not erase a global variable with the same name


2005-09-13  Axel Liljencrantz  <axel@liljencrantz.se>

	* exec.c (handle_new_child): Only call tcsetpgrp after creating new group

	* exec.c, proc.c (setup_child_process, internal_exec_helper, handle_new_child, job_continue): Do not put block commands into their own groups


2005-09-06  Axel Liljencrantz  <axel@liljencrantz.se>

	* expand.c (tilde_expand): ~ should expand to $HOME, not getpwuid(getuid())->pw_dir

2005-09-05  Axel Liljencrantz  <axel@liljencrantz.se>

	* parser.c, builtin.c, Makefile.in (parse_job, builtin_not, builtin_run, builtin_get_desc): Add new 'not' builtin to negate commands

	* parser.c, builtin.c, Makefile.in (parse_job, builtin_begin, builtin_run, builtin_get_desc): Add new 'begin' builtin to create unconditional block


2005-09-01  Axel Liljencrantz  <axel@liljencrantz.se>

	* complete.c (complete_load): Reload completions from file if completion file changes

	* init/fish_functions: Added a 'type' shellscript function, with the same functionality as the bash builtin with the same name, and additional support for gnu style long options


2005-08-31  Axel Liljencrantz  <axel@liljencrantz.se>

	* init/completions/modprobe.fish: Add completions for modprobe command
	* init/completions/service.fish: Add completions for service command
	* init/completions/man.fish: Manual page completion now honors section specification
	
	* builtin.c, exec.c, proc.c (builtin_run, exec, job_continue): Builtins now follow the same rules w.r.t. setting the status variable as all other commands

	
2005-09-12  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.13.4
	
	* common.c (block, unblock, fgetws2): Smart blocking support to avoid excessive calls to signal blocking functions

	* complete.c (complete): Fix infinite loop when completing string 'command '
	

2005-09-07  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.13.3
	
	* init/fish.in, init/fish_function.fish: Actually apply Netocrats patch, and not a broken patch causing random error messages

2005-09-06  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.13.2

2005-09-05  Axel Liljencrantz  <axel@liljencrantz.se>

	* builtin.c (builtin_source): Fix crash when sourcing non-existant file

	* init/fish.in: Only call unicode_start if in unicode locale
	
2005-09-05  Netocrat <netocrat@dodo.com.au>

	* init/fish.in: Only set LANG in login shells
	* init/fish_function (prompt_pwd): Don't use ellipsis character when not in unicode mode
	
2005-08-28  James Vega <jamessan@jamessan.com>

	* function.c: Add missing #include "intern.h"

	* env.c (env_set): GCC 4.0 workaround
	
2005-08-31  Axel Liljencrantz  <axel@liljencrantz.se>

	* init/completions/function.fish: Some completions for function accidentally targeted the functions builtin. (Note the extra 's')
	
2005-08-31  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.13.1

2005-08-31  Netocrat <netocrat@dodo.com.au>

	* reader.c (write_prompt): Fix prompt flickering issue

2005-08-31  Axel Liljencrantz  <axel@liljencrantz.se>

	* exec.c (internal_exec_helper): Function blocks should not be marked as subshells
	* exec.c (setup_child_process): Unblock childs signal handlers, fixes script bug

2005-08-28  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.13.0

2005-08-26  Axel Liljencrantz  <axel@liljencrantz.se>

	* init/fish_inputrc: Remove the lame replace-commandline feature

	* init/fish_inputrc: Remove the lame explain feature
	
	
2005-08-25  Axel Liljencrantz  <axel@liljencrantz.se>

	* proc.c (job_do_notifications): Do not notify user about status changed in subshell jobs

	* init/completions/rpm.fish: Added package completion functionality

	* init/completions/yum.fish: Added completions for yum command


2005-08-24  Horea Haitonic <horeah@gmail.com>

	* init/completions/diff.fish: Updated completions for diff command
	
	
2005-08-24  Axel Liljencrantz  <axel@liljencrantz.se>

	* util.c (sb_printf): Added sb_printf function for formated output into string buffer
	* util.c (sb_append_in, sb_append_float): Dropped various stringbuffer functions in favour of sb_printf

	* common.c (debug): Added function for making debugging messages

	* builtin.c, exec.c, parser.c: Error reporting cleanups

	* reader.c (reader_write_title): Make console detection slightly less lame


2005-08-22  Axel Liljencrantz  <axel@liljencrantz.se>

	* parser.c (parse_job): Make implicit cd use wrapper function around cd if available

	* parser.c (parser_push_block): Fixed bug causing some global variables to be invisible inside functions

	* env.c (env_push_block, env_pop_block, env_set, local_Scope_exports): Keep track of exported variables in scope to decrease amount of times we have to reexport variable values

	* init/fish.in: Make sure the installation directory is added to the PATH variable, fixes issues where fish won't find it's various subcommands when installed in uncommon locations

2005-08-22  Horea Haitonic <horeah@gmail.com>

	* builtin.c (builtin_cd): Remove support for 'cd -' from cd builtin

	* init/fish_function.fish(cd): Add support for 'cd -' to cd shellfunction wrapper
	* init/fish_function.fish(cd): Add support for directory history
	* init/fish_function.fish(pushd,popd): Add support for directory stack

	
2005-08-20  Axel Liljencrantz  <axel@liljencrantz.se>

	* proc.c, reader.c (job_continue,set_signal_handlers): Make non-interactive mode use signals for handling children
	* proc.c (job_continue): Use waitpid when there are no IO_BUFFER redirections
	
2005-08-19  Axel Liljencrantz  <axel@liljencrantz.se>

	* exec.c (exec, launch_process, handle_child_process, setup_child_process): Clean up exec.c, add buffering for functions and blocks.
	* parser.c (parser_push_block): Fix bug causing while loops in functions to be evaluated when the function was defined

	* reader.c (handle_winch, check_winch): window size environment variables where erroneously set by signal handlers, causing potential crash.

	* init/fish (contains): Made 'contains' much, much faster

	* exec.c (exec): Fix bug causing exec builtin to crash the shell

	
2005-08-18  Axel Liljencrantz  <axel@liljencrantz.se>

	* wildcard.c (get_desc): Re-add stat-call to command completion, but make sure only files that match the completion are stated.

	* proc.c (io_add): io_add can now add together two chains of io redirections, which is needed when merging block-level and job-level redirections. Lack of this functionality caused a bug when doing complex io redirections.

		
2005-08-18  Jan Fader  <jan.fader@web.de>

       * INSTALL: Changed the Chapter over "Local Install Procedure"

       * configure.ac: Fixed not working installation to $HOME

       * Makefile.in: Make echo at the end of the install target not verbose


2005-08-16  Axel Liljencrantz  <axel@liljencrantz.se>

	* init/completions/apropos.fish: Improve completions for aprops

	* parser.c: Added profiling support. Set the PROFILE macro in parser.c to non-zero to enable.
	
2005-08-15  Axel Liljencrantz  <axel@liljencrantz.se>

	* init/completions/wget.fish: Add completions for wget command

	* exec.c (exec_subshell): Remove null entries caused by invalid unicode
	
2005-08-14  Axel Liljencrantz  <axel@liljencrantz.se>

	* builtin_set.c (builtin_set): Fixed bug causing bug when changing variable scope without changing value

	* exec.c, proc.c, parser.c: Added support for piping output of blocks
	
2005-08-12  Axel Liljencrantz  <axel@liljencrantz.se>

	* complete.c (complete_cmd_desc): New implementation of command description lookup, much faster!

	* wildcard.c (get_desc): Avoid calling stat during command completion for performance reasons. Command filesizes are no longer printed.
	
	* wutil.c (wgetcwd, wchdir): Add more wrapper functions
	* builtin.c (builtin_cd): Use new wrappers in wutil

	* wutil.c (wutil_wcs2str): Make convertions use internal buffer for better performance

	* complete.c (complete_load): Add support for dynamic completion loading
	* Makefile.in: Add build support for dynamic completion loading
	* init/fish_complete: Split into multiple dynamically loaded parts
	* builtin.c (builtin_complete): Add -y switch for requesting the loading of completions for a command
	
	* env.c: Decrease the amount of exported environment variable recalculations

	* reader.c, builtin.c (do_exit, builtin_exit): Fixed bug causing fish_on_exit function not to be evaluated in very rare cases
	
2005-08-11  Axel Liljencrantz  <axel@liljencrantz.se>

	* builtin_commandline.c (builtin_commandline): Split of to separate file
	* builtin_commandline.c (builtin_commandline): Make the switches more logical and orthogonal

	* builtin_commandline.c (builtin_commandline): Split of duplicate code to separate functions

	* reader.c (reader_current_token_extent): Fix bug when a short string token follows a pipe or semicolon causing incorrect token identification

	* reader.c (reader_current_job_extent, reader_current_process_extent): Add new extent computation commands
	
	
2005-08-09  Axel Liljencrantz  <axel@liljencrantz.se>

	* builtin.c (builtin_commandline): Add support for inserting readline functions from a command

	* init/fish_inputrc: Change default behaviour of \C-d to __fish_delete_or_exit

	* expand.c (expand_backslash): Add support for C-style  character escapes for unicode, as well as octal and hexadecimal ascii, i.e. \uxxxx, \Uxxxxxxxx, \xxx and \oooo.

	* init/fish_complete.fish: Added skin-specific completions for Valgrind

	* complete.c (complete_param): Fixed bug causing some completions to be omitted

	* init/fish_complete.fish: Added completions for the commandline builtin

2005-08-09  Horea Haitonic <horeah@gmail.com>

	* builtin_set.c (update_values): Improve behavior in assigning array-slices with improper number of arguments

	
2005-08-08  Axel Liljencrantz  <axel@liljencrantz.se>

	* exec.c (launch_process): Fix bug on redirection to self, i.e. >&1.

	* env.c (env_set): Fix scoping misfeature causing improper scoping for exported variables

	* env.c (env_set): Make it possible to explicitly unexport variables
	* builtin_set.c (builtin_set): Add unexport switch to set builtin

	* main.c (main): Fix broken login shell detection

	
2005-08-08  Horea Haitonic <horeah@gmail.com>
	
	* builtin_set.c: Completely new implementation of the 'set' builtin, supporting erasing sets of array elements.


2005-08-05  Axel Liljencrantz  <axel@liljencrantz.se>

	* intern.c (intern, intern_free_all): Add string pooling library, decreases memory usage by ~40kB

	* exec.c proc.c (exec_subshell, ss_create, ss_wait, ss_clear, read_subshell): Remove old (forking) subshell implementation

	* exec.c (exec): Make sure builtins don't fork when buffering output (slight performance increase, larger when using Valgrind)

	* init/fish_complete.fish (__fish_complete_cd): Make sure we don't actually change the directory

	* builtin.c (builtin_cd): Make sure OLDPWD is not changed when using cd in subshells

	* builtin.c (builtin_read): Fixed bug causing random breakage

	
2005-08-04  Axel Liljencrantz  <axel@liljencrantz.se>

	* complete.c (complete_add, complete_param): Add support for conditional command completions

	* builtin.c (builtin_complete): Add switches to the complete builtin to support conditional command completion

	* util.c (al_set): Make sure unused array_list_t elements are zeroed


2005-08-04  Horea Haitonic <horeah@gmail.com>
	
	* util.c (al_push): Set new list size on resize


2005-07-30  Axel Liljencrantz  <axel@liljencrantz.se>

	* exec.c, proc.c (exec_subshell): Execute subshells in main process
	
	
2005-07-28  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.12.1
	
	* expand.c (expand_file_completion): Removed unneeded function, the program should call expand_string directly
	* expand.c (expand_string): Remove unneeded wrapper, expand_string is now the main function

	* complete.c (complete_param_expand): Renamed complete_param_file to complete_param_expand, since it does completions for more than just filenames

	* complete.c (complete): Make sure process completion is always performed
	
	
2005-07-27  Axel Liljencrantz  <axel@liljencrantz.se>

	* init/fish_complete.fish: A common group completion function, used by chgrp and a few others
	* init/fish_complete.fish: Tweak kill completion to work on non-Debian systems
	
2005-07-26 Horea Haitonic <horeah@gmail.com>

	* init/fish_complete.fish: Add completions for kill, zip and diff commands.
	* init/fish_complete.fish: A common process completion function, used by ps and top
	
2005-07-17  James Vega <jamessan@jamessan.com>

	* doc_src/set_color.c, doc_src/tokenize.c, doc_src/mimedb.c: Add missing #includes
	
2005-07-17  Axel Liljencrantz  <axel@liljencrantz.se>

	* parser.c (parser_is_block, parser_is_subcommand, parsert_is_reserved): Changed name of functions parser_block_add, parser_subcommand and parser_reserved

	* tokenizer.c, tokenizer.h (tok_init, tok_next): Changed return type to void

	* doc_src/complete.txt: Added documentation for dynamic completion descriptions

	* parser.c (parse_job, eval_job, eval, parse_job_main_loop): Remove unused tokenizer stacking support

	* reader.c: Code cleanup, API documentation additions.
	
2005-07-16  Axel Liljencrantz  <axel@liljencrantz.se>

	* fish_tests.c: Add Library test functions

	* configure.ac: Handle installation to subdirectories of $HOME properly

	* tokenizer.c (tok_init): Add checks for invalid input 
	
	* parser.c (parser_test): Add checks for invalid input 

2005-07-15  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.12.0
	
2005-07-15 Horea Haitonic <horeah@gmail.com>

	* init/fish_complete.fish: Updated make completions to make them more robust

2005-07-14  Axel Liljencrantz  <axel@liljencrantz.se>

	* complete.c (complete_init, complete_destroy): Remove table with descriptions for executables

	* complete.c (complete): Fixed bug where fish failed to find the command to complete

	* complete.c (complete_add): Fixed missing initialization	

	* env.c (env_init): Removed remnant of $random variable

	* init/fish_complete.fish: Fixed a few typos, misspelled words, etc
	* init/fish_complete.fish: Make sure -x flag is set properly 
	* init/fish_complete.fish(__fish_print_users): Added generic username completion
	
	* reader.c (completion_print): Fixed width miscalculation bug in completion listing code
	
2005-07-13  Axel Liljencrantz  <axel@liljencrantz.se>

	* common.c (str2wcs): Make the maximum error report count runtime configurable
	* complete.c (complete): Do not report string convertion errors in completion mode

	* builtin.c, builtin.h, exec.c (builtin_exec, builtin_run): Renamed builtin_exec to builtin_run to avoid nameclash when adding the builtin 'exec'
	* builtin.c, parser.c, exec.c (builtin_exec, builtin_run, exec, parse_job): Add builtin 'exec'

2005-07-08  James Vega <jamessan@jamessan.com>

	* reader.c (reader_sanity_check): Remove useless sanity checks
	
2005-07-08  Axel Liljencrantz  <axel@liljencrantz.se>

	* autoconf.ac: Fixed docdir bug

	* init/fish_funcion.fish (help): Fixed bug causing fish not to show right section for builtins
	
2005-07-07  Axel Liljencrantz  <axel@liljencrantz.se>

	* wildcard.c(wildcard_expand): File completion now includes file size
	
	* init/fish_complete.fish: Tweaked completions

2005-07-07  Yongjian Xu <i3dmaster@gmail.com>

	* init/fish_complete.fish: Added loads of new completions

2005-07-05  Axel Liljencrantz  <axel@liljencrantz.se>

	* parser.c (parser_reserved): Added reserved words 'end', 'else', 'case', 'builtin' and 'command'
	
2005-07-04  Axel Liljencrantz  <axel@liljencrantz.se>

	* builtin.c (builtin_commandline): Add token handling functionality to commandline builtin
	* parser.c, complete.c (parser_check_command, complete): Remove token handling functionality through environment variables - replaced by commandline builtin

	* init/fish_functions.fish (contains,_contains_help): Added a contains function, for checking if a key is in a set
	
2005-07-01  Axel Liljencrantz  <axel@liljencrantz.se>

	* reader.c (reader_current_token_extent, reader_current_subshell_extent): Factor out token handling code
	
	* reader.c (reader_readline, handle_token_history): Add token search functionality

2005-06-27  James Vega <jamessan@jamessan.com>

	* input.c (add_emacs_bindings): Fix spelling error causing broken keybindings
	
2005-06-27  Axel Liljencrantz  <axel@liljencrantz.se>

	* complete.c (complete_add,complete_parm): Add support for old and gnu style long option completion for the same command

	* gen_hdr2.c (main): Added missing return statement

	
2005-06-24  Axel Liljencrantz  <axel@liljencrantz.se>

	* init/fish_complete.fish (__fish_complete_suffix): Add general purpose file completion function
	* init/fish_complete.fish (__fish_complete_directory): Add general purpose directory completion function
	* init/fish_complete.fish (__fish_rpm_complete): Add rpm completions
	* init/fish_complete.fish (__fish_cd_complete): Make cd completion it's own function 

	* function.c (function_get_names,get_names_internal): Add support for hidden functions
	* builtin.c (builtin_function,builtin_functions): Add support for hidden functions
	* complete.c (complete_cmd): Add support for hidden functions

	* init/fish_complete.fish: Update completions for set_color
	
2005-06-19  Axel Liljencrantz  <axel@liljencrantz.se>

	* input.c(input_init,add_emacs_bindings,add_common_bindings,add_vi_bindings): Add initial vi-mode implementation

2005-06-17  James Vega <jamessan@jamessan.com>

	* Makefile.in: Add -fno-strict-aliasing compiler flag

2005-06-16  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.11.1!

	* doc_src/doc.hdr: Small documentation tweak to work around a bug in Doxygen 1.4.3
	
	* env.c (env_init): Make HOME variable writeable by root
	
	* reader.c, configure.ac (writembs): Ugly kludge to make powerpc work
	
	* parser.c (parser_reserved): Add function for checking if a word is reserved
	* parser.c (parser_test): Made validator use parser_reserved function
	* builtin.c(builtin_function): Made function definitions respect reserved words

2005-06-14  Tom Arnett <tarnett@mailshell.com>

	* init/fish_function.fish (prompt_pwd): Corrected the escape for the ellipsis character
	
2005-06-14  James Vega <jamessan@jamessan.com>

	* builtin.c (builtin_cd): Add support for '-' argument, which performs a cd to the previous working directory.
	* builtin.c (set_pwd): Extract out common functionality for setting pwd.

2005-06-15  Axel Liljencrantz  <axel@liljencrantz.se>

	* proc.c (handle_child_status): Remove debug message
	
	* init/fish_interactive.fish, highlight.h: Changed the color environment variables to lower case, since they are not global variables

	* doc_src/doc.hdr: Updated sections on fish_prompt and fish_title to reflect that they are now functions, and not environment variables

2005-06-14  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.11.0!
	
	* common.c (str2wcs, error_reset): Add an upper limit to the number of minor errors to report for a single command. 

2005-06-13  Axel Liljencrantz  <axel@liljencrantz.se>

	* configure.ac: Make default configuration directory to always be /etc, never $PREFIX/etc

	* reader.c(write_prompt): Make fish_prompt a function
	* init/fish_interactive.fish(fish_prompt): Make fish_prompt a function
	* reader.c(write_title): Make fish_title a function

	* init/fish: Make sure the PATH is sane

	* builtin.c(builtin_builtin):Add support for -n option
	* builtin.c(builtin_set):Add support for -n option
	* builtin.c(builtin_functions):Add support for -n option

	* init/fish_complete.fish: Add completions for scp command

	
2005-06-11  Michael Wardle <michael@endbracket.net>

	* input.c (input_parse_inputrc_line): tilde expand parameter to 'include'

	
2005-06-11  Axel Liljencrantz  <axel@liljencrantz.se>

	* expand.c (expand_brackets): Improve tab completion in bracket expantion context
	* expand.c (expand_brackets): Fix handling of the comma character in bracket expantion

	
2005-06-10  Axel Liljencrantz  <axel@liljencrantz.se>

	* init/fish_complete.fish: Additional completions for mplayer
	* init/fish_complete.fish: Completion information for the date command

	* expand.h, wildcard.h: Moved various constants from wildcard.h to expand.h
	

2005-06-10   Michael Wardle <michael@endbracket.net>

	* doc_src/doc.hdr: Spelling correction
	* doc_src/doc.hdr: Fixed description of \b escape

	* init/fish_complete.fish: Drop error messages on missing files when completing ssh hosts

	
2005-06-08  Bram Senders <bram@luon.net>
	
	* init/fish_function.fish (help): Added www-browser and x-www-browser as one of the possible help browsers. 

	
2005-06-08  Axel Liljencrantz  <axel@liljencrantz.se>

	* main.c (main): Event hooks are now functions and not environment variables
	* reader.c (read_i): Event hooks are now functions and not environment variables
	* reader.c (read_i): Added fish_on_exec hook

	* builtin.c (builtin_functions): functions builtin can now be used to redefine the description of functions

	* doc_src/doc.hdr: Changelog now lives in it's own file
	* ChangeLog: Changelog now lives in it's own file

	
2005-06-08  James Vega <jamessan@jamessan.com>

	* main.c (main): Add support for the -i option (force interactive mode)

	* Various files: A large number of code cleanups, removing warnings

	* Various files: Insurmountable number of spelling fixes

	
2005-06-08  Jan Fader <jan.fader@web.de>

	* Makefile.in: Remove install_local option and replace it with correct handling of configuration files
	* configure.ac: Remove install_local option and replace it with correct handling of configuration files

	
2005-06-07  Axel Liljencrantz  <axel@liljencrantz.se>

	* parser.c (skipped_exec): Fixed crash bug when using a switch statement in a function

	* parser.c (parser_test): Fixed unhelpful error messages when evaluating a script

	* init/fish_function.fish (help): Fixed text-based browsers going to the background even if they are console based
	* init/fish_function.fish (vared): Added support for a help option


2005-06-01  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.10.1!

	* expand.c: %self now expands to the shells own pid

	* complete.c: Fixed bug with completion descriptions for completion of command names containing spaces

	* init/fish_function.fish: The help command was broken in the previous release

	* init/fish_complete.fish:  Fixed bug in tab completions for cd command. The 'new and improved' completion script in 1.10 was a bit buggy, it seems...

	* expand.c: Using double dollars for creating map variables was accidentally broken. This meant among other things that the vared command didn't work. This bug was reported by Jan Fader

	* init/fish_functions.fish: Improved error handling in the vared function
	* init/fish_functions.fish: The vared command did not work when given the name of an undefined variable

	* configure.ac: There where multiple issues with fish when compiled witout the xsel command. Jan Fader pointed these bugs out and provided patches for some of them.

	* Makefile.in: Fixed build script bug causing the integrated help message for the commandline builtin to dissapear

	* reader.c: Fixed rendering bug causing incorrect prompt after executing some keyboard shortcuts


2005-05-28  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.10!

	* builtin.c: Added a return builtin.

	* builtin.c, function.c, complete.c: Functions can now have meaningful completion descriptions.
	* builtin.c, complete.c: Builtin commands now have meaningful completion descriptions.
	* A more robust method for finding the help documentation is used.
	* If the current directory is very long, the prompt is ellipsised.
	* Long commands are ellipsised instead of overflowing to the next line.
	* Improved completions for cd, uniq, gcc and mplayer.
	* Much improved performance in the apparently common case of holding down the enter key for a longer stretch of time.
	* Fixed bug where the PWD variable was set incorrect on startup.
	* Fixed bug where appending output to a non-existing file would fail.

2005-05-24  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.9.2

	* Error message from the cd command was missing a newline, which caused it to be erased by the prompt.
	* Help browser is now put to the background if it is known to be graphical. Mikael Rasmussen suggested this.
	* Added hook fish_on_return, specifying command to be called when fish returns from evaluating a command.
	* Changed names of variables that are not exported to lower case.
	* make uninstall missed a few files. This is now fixed, thanks to Jan Fader.
	* Specifying a prefix to configure now works. Many people sent in patches for this, including Valient Gough, James Vega and Jan Fader.
	* Valient Gough sent in patches to fixes multiple issues regarding building rpms.
	* Fixed a few documentation issues. Several people, including Michael Rasmussen pointed these out.
	* Fixed bug where files that can't be stat:ed cause fish to perform a double free when doing wildcard expantion.
	* Fixed bug in manual page tab completion where completing a non-existing manual page results in bogus output.

2005-05-18  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.9.1

	* Fixed bug causing fish to hang on manual page tab completion if the whatis database can't be found. This bug has been reported by Gerben Versluis, Yongjian Xu and Ross Logan, but I couldn't pinpoint the source of the error before.
	* Fixed bug causing fish to hang on command tab completion if the whatis database can't be found. This bug has been reported by Gerben Versluis, Yongjian Xu and Ross Logan, but I couldn't pinpoint the source of the error before.
	* Fixed bug causing subshell output to be expanded
	* Various minor bugs in gen_hdr2.c fixed, making documentation generation more robust. This change was sent in by Pierre Houston.
	* The file gen_hdr.sh was simplified, and now works on OS X. This change was sent in by Pierre Houston.

2005-05-14  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.9

	* Changed quoting rules so that quoted and unquoted text can be mingled in one token
	* Command names must may no longer contain variables. This is needed to correctly determine block scope.
	* Functions definitions are now a block. The new syntax is much more suitable for complex functions.
	* A new builtin, functions, for erasing and listing functions.
	* Lots of minor cleanups, typedefed structs now end with '_t', a new string hashing function should decrease collisions in hash tables, etc.
	* Variables can now be used as array indices.
	* The set_color command can now be used to set the background color of the terminal.
	* Added highlighting of grep matches and some additional colors for the ls command. These changes where submitted by Philip Ganchev.
	* Minor performance increases.
	* Moving a word left or right moves to the last space after the word.
	* Completion pager is now much better at handling long completions and descriptions.
	* Fish now uses the unicode ellipsis character instead of tripple dots when it can't fit a completion
	* Line number for errors is now correctly calculated
	* Error reports are more specific
	* The commandline builtin can now be used to print the current commandline or append a string to the current commandline
	* Fixed infinite loop when tab-completing inside curly brackets
	* Fixed some of the IO redirection issues for functions
	* Fixed bug that caused the $history variable to randomly misbehave.
	* Fixed bug in file desctiption generation for strange filetypes.
	* Fixed bug in completion description for variables where variable array descriptions could contain illegal characters

2005-04-29  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.8

	* Fixed bug that made 'make uninstall' miss some files 
	* Fixed bug where subshells with quoted parentesis in them would result in errors
	* Fixed crash bug when manually erasing a completion with 'complete -e'
	* Fixed bug causing completion list to have larger column width than needed in some cases
	* Fixed broken header causing wide characters to not work correctly. Both Adam Rice and Yongjian Xu have been a great help in making this work.
	* Vastly improved startup time
	* A large number of smaller updates and additions to the documentation
	* Completion description for manual page completion is now the whatis information
	* Completion description for commands now search manual sections 8, n, o and l in addition to section 1
	* Matching parenthesis and quotes are now highlighted as they are typed, not just when moving the cursor over them
	* Remove debug message on tab-completing directory from CDPATH
	* Tab completion displays list of completions on single tap if completions have no common prefix
	* Fish does not redraw the completion list on multiple tab taps
	* It is now possible to specify an initial string for the read builtin
	* New vared function for editing the value of a variable
	* New commandline builtin for changing the command buffer
	* History search now searches anywhere in the command
	* History search highlights the matching string
	* Changed output of set command when called with no arguments to be more readable

2005-04-24  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.7.1

	* Remove annoying debug message. Pointed out by Claudio Fontana.

2005-04-23  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.7

	* Support for environment variable arrays. $PATH[3] is the third element of the PATH variable, etc. 
	* You can set individual variable elements using set, i.e. 'set PATH[2] foo' replaces the third element of PATH with 'foo'
	* You can create an array using set, i.e. 'set foo bar baz' creates an array variable 'foo' with the elements 'bar' and 'baz'
	* aliases have been replaced by functions. The Use 'help function' for an introduction to functions.
	* Arguments to scripts/functions are now contained in the environment variable array $args. 
	* functions can now be used in pipes
	* complete.c: tab completion of directories in CDPATH for implicit cd now works.
	* builtin.c: AThe read builtin now uses the internal line reading library, which means it supports all the advanced line reading capabilities that fish supports.
	* : Debian packages are now available. Thank you to Dave Tait for making this happen. (This was really added to 1.6.1, but I forgot to mention it in the changelog)
	* env.c: You can now access previous commands through the environment variable array named  history
	* init/fish_function.fish: Added keyboard shortcut Control-r for replacing text in the current commandline
	* input.c: Changed a few keyboard shortcuts
	* doc_src/doc.hdr: Documentation updates
	* : Fixed bug that broke several keyboard shortcuts
	* reader.c: Check for double with characters through wcwidth

2005-06-15  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.6.1

	* util.c: Fixed buffer overflow with string_buffer

	* complete.c: Fixed bug where tab-completion would not work on executable scripts

	* reader.c: Fixed crash on terminals that do not provide some capabilities

	* input.c: Alt-left and Alt-right keymappings where accidentaly reversed

	
2005-04-09  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.6

	* init/fish_complete.fish: Updated completions for set_color. Thanks to Phil Ganchev for the bug report.

	* reader.c: Added several new readline functions, suggested by Doug Dimick and Phil Ganchev.

	* : ^C breaks all loops, conditional blocks, etc when waiting for a job to finish.

	* builtin.c: Minor tweaks of completion syntax after suggestions from Tijmen Baarda.

	* parser.c: If you just write in the name of a directory to fish, fish will implicitly assume this is a cd command and change to that directory. Thanks to Phil Ganchev for the suggestion.

	* highlight.c: Highlighting of matching parentheses and quotes.

	* doc_src/doc.hdr: The usual batch of documentation updates.

	* parser.c: fish now has an upper limit on the number of recursive alias calls. This prevents trashing/crashing on bad aliases.

	* parser.c: fish makes sure that an alias does not unconditionally call itself. This prevents the most trivial types of accidental infinite recursion.

	
2005-04-02  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.5.2

	* : Fixed broken header that caused compilation issues


2005-04-02  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.5.1

	* reader.c: Fixed issue in completion display, where long completions might spill to the next line and cause uglyness

	* highlight.c, reader.c: Fixed a bug in error explanation (^X) where gibberish would be printed in some cases

	* reader.c: Fixed various minor issues with repainting the screen after status updates

	* configure.ac, Makefile.in: fish can now be compiled without xsel by using './configure --without-xsel'. This means  fish can now be compiled on systems without X headers.

	* input.c: Initial support for reading escape sequences for special keys from an inputrc file.
	* input.c: Initial support for binding a command to a key. Meta-w runs whatis on the current command. Read the  /etc/fish_inputrc file for more information.

	* reader.c: The LINES and COLUMNS variables are set to the correct terminal size


2005-03-20  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.5

	* complete.c: Tab completion of files now displays file descriptions now from the  mimetype database
	* mimedb.c: New mimedb command, can be used to look up mimetype, description and default action for a file, as well as launch the default handler of a file.

	* builtin.c: Jobs command prints CPU activity for jobs (Linux only)

	* highlight.c: Added syntax highligting for subshells

	* complete.c: Added tab completion inside of subshells

	* reader.c: ^X prints comments on possible problems

	* main.c: 'fish -h' starts the help browser

	* : Non-builtin commands shipped with  fish have much improved help

	* doc_src/doc.hdr: Various cleanups and rewrites of the documentation

	* : Fixed accidental mixing of stream and fd based output which caused some status messages to become garbled.

	* : Fixed bug hangup on commands such as 'ls --color|less', caused by process group weirdness. Thank you to Doug Dimick for reporting this issue.

	* init/fish: Fixed problems with the linux frambuffer and unicode. Drew Ferguson reported this problem and went out of his way to help me solve it. Thanks!

	* reader.c: Fixed Konsole Home and End keys not working. Thank you to Jason L. Buberel for reporting this issue.

2005-03-11  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.4

	* highlight.c: Unknown/misspelled options are now flaged red by syntax highlighting if tab completions have been specified for the 
command.

	* builtin.c: Added 'break' and 'continue' loop control builtins.
	* builtin.c: Added 'switch' and 'case' builtins for conditionally executing 
a block.

	* doc_src/doc.hdr: Lots of smaller updates to the documentation.

	* configure.ac: fish now uses autoconf to improve platform independance.

	* kill.c: Fixed a bug in X clipboard support which could hang the shell. 

	* expand.c: Fixed a bug where environment variables were escaped when they shouldn't be. This bug caused som tab-completions for the screen command to break in 1.3

	* complete.c: Fixed bug causing problems for tab-completion if PATH elements end with a slash

	* fish_tests.c: Took the first steps towards a test suite. So far only some simple syntax tests are performed.

	* init/fish: If LANG is unspecified, a default value of en_US.UTF-8 is set

	
2005-03-07  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.3

	* builtin.c: New syntax for if, while and for builtins. 
	* : Added support for X copy and paste inside of  fish. Thank you to Stéphane Chazelas for pointers on how to do this.
	* : Included the Xsel program, written by Conrad Parker, with  fish. This is the wonderful program that allows  fish to use X copy and paste.
	* complete.c: Fixed bug causing slowdown in tab completion of wildcarded strings.
	* reader.c: Avoid calling setupterm() more than once, since the NCurses version leaks memory and sometimes calls exit, possibly without an error message. 
	* set_color.c: Fixed bug in the set_color command that could cause accidental underlining of text. Oh no!
	* init/fish_complete.fish: Added tab completions for w, xsel, xprop, btdownloadcurses.py and btdownloadheadless.py commands.
	* doc_src/coplete.txt: Rewrote documentation for the  complete command to make it easier to understand how command specific completions work.
	* complete.c: Scripts with extensions are now described with language, i.e. Perl scripts are discribed as "Perl script", not "Executable"

2005-02-27  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.2.1

	* : Fixed obvious crash bug. I should REALLY try to put together a test suite for  fish.
	* env.c: Added support for changing locale while  fish is running.

2005-02-26  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.2

	* INSTALL: The INSTALL file contained a dangerAous mistake, where users were advised to use a command which could cause an invalid /etc/shells. Thanks to Klaus Alexander Seistrup for spotting this.

	* builtin.c: Fixed bug where sourcing a file when in interactive mode would reset signal handlers. 

	* builtin_help.c: Builtin help pages are now stored as narrow character strings. This avoids escape sequences being improperly displayed on some platforms. It also decreases memory usage by a few kB.

	* util.c: The comparison function used for sorting completions has been changed so it won't cause duplicate entries.

	* wildcard.c: Avoid returning excessive number of completions when tab-completing a parameter ending with a wildcard. Thanks to Klaus Alexander Seistrup for suggesting this.

	* doc_src/fish.1: Added a man-page pointing to the main  fish documentation. Thanks to Chris F.A. Johnson for suggesting this.

	* doc_src/doc.hdr: Minor changes to the documentation.

	* expand.c: Added tab completion for job id, with the job command as the description.

	* init/fish_complete.fish: Added tab completions for ps, top, test, cvs, pine, chown and chgrp commands.

	* builtin.c: Added CDPATH support for the cd builtin.

	
2005-02-16  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.1.1

	* init/fish: Fixed typo that caused spurious error messages on startup

	
2005-02-16  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.1

	* exec.c: Fixed possible segfault when using builtins in subshells (Subshells would sometimes read uninitialized data, no actual crashes encountered, but that might just be luck)

	* expand.c: Completion descriptions for environment variables and for home directories (~USER).

	* util.c: String sorting functions now sort strings that are a prefix to another string first (I.e. 'foo' comes before 'foobar') 

	* reader.c: Tab completion pager colors can be set by user

	* init/fish_complete.fish: Updated tab completion command description lookup to only use section 1 manuals

	* doc_src/doc.hdr: Added documentation chapter on environment variables
	* doc_src/doc.hdr: Added search targets for help sections 'color', 'prompt', 'title', 'variables' and 'expansion'
	* doc_src/doc.hdr: Added BSD license info to documentation (About 100 lines of  fish code comes from OpenBSD and is BSD licensed)
	* doc_src/doc.hdr: Minor additions and edits to documentation and initialization files

	* init/fish_complete.fish: Added tab completions for bc, mv, uniq, wc and who

	
2005-02-13  Axel Liljencrantz  <axel@liljencrantz.se>

	* Version 1.0

	* Initial release, everything is new