⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 一个开放源代码的 AT&T 的 Korn Shell 的复制品, 支持大多数 ksh89 的特性。
💻
📖 第 1 页 / 共 4 页
字号:
	  changed SS_RESTORE_CURR to SS_RESTORE_ORIG.	* edit.c(x_sigwinch): new function.	* edit.c(x_init): set up signal handler for SIGWINCH; moved	  code to get window size into x_sigwinch(); call x_sigwinch().	* emacs.c(xx_cols): new variable.	* emacs.c(x_init): set xx_cols_to x_cols; change all uses of x_cols	  to xx_cols.	* vi.c(display): when displaying morec, changed x_cols-2 to	  pwidth+winwidth+1.Fri Aug  9 12:49:00 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* table.h(FKSH): new define.	* tree.h(struct op): put evalflags into new union u, added ksh_func	  to union; changed all uses of evalflags.	* syn.c(function_body): set u.ksh_func.	* exec.c(execute): changed define() arg to t (was t->left).	* exec.c(define): copy t->left (was t); set FKSH in flag if is	  a ksh function.	* exec.c(comexec): don't keep assignments for x() style functions.	* exec.c(comexec: case CFUNC: set kshname ($0) for ksh style functions	  only (was FPOSIX).	* exec.c(execute): case TAND/TOR: pass XERROK on when executing right	  hand side.	* jobs.c(exchild): deleted redundant code to set j->flags	  (near new_job() call).	* sh.h(ksh_tmout),main.c(alarm_init),trap.c(alarm_init,alarm_catcher):	  ifdef'd KSH.	* sh.h(SS_SHTRAP,Trap.shtrap): added.	* trap.c(trapsig): if shtrap is non-zero, call it.	* trap.c(setsig): set shtrap if SS_SHTRAP set.	* jobs.c(j_init),trap.c(alarm_init): pass SS_SHTRAP.	* jobs.c(j_sigchld),trap.c(alarm_catcher): don't call trapsig().	* trap.c(Sigact_alarm): removed.Thu Aug  8 15:57:14 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* exec.c(comexec): case CEXEC: print cannot execute error only	  if / in pathname; also, set exit code to 126.	* exec.c(do_selectargs): added print_menu arg; only print	  menu if this is set, or if REPLY is null; removed "while isspace"	  loop.	* exec.c(execute): case TSELECT: call do_selectargs with print_menu	  of TRUE on first call only.	* exec.c(define): added was_set variable and logic.	* c_sh.c(c_unset): return 1 if variable/function to be unset wasn't	  set to begin with.Wed Jul 31 10:33:00 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* sh.h(Tflag): new type.	* sh.h(builtin_flag): changed type to Tflag.	* table.h(struct tbl): changed type of flag field to Tflag.	* c_ksh.c(typeset): changed type of flag, fset, fclr to Tflag.	* c_ksh.c(c_alias): changed type of xflag to Tflag.	* exec.c(comexec): changed type of old_inuse to Tflag.	* exec.c(builtin): changed type of flag to Tflag.	* var.c(typeset): changed set, clr args to Tflag; convert second	  arg of call to local() to boolean.Wed Jul 31 10:26:25 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* sh.h(C_QUOTE): new define.	* sh.h(ctypes[]),misc.c(ctypes[]): changed from char to short.	* misc.c(initctypes): set C_QUOTE bits in ctypes[].	* misc.c(print_value_quoted): use C_QUOTE.Mon Jul 29 11:38:36 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* lex.c(set_prompt): don't print warning message if setjmp returns	  non-zero.Fri Jul 26 10:16:27 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* lex.c(set_prompt): don't do ! and parameter expansion if !KSH.	* table.h(V_MAIL,V_MAILPATH,V_MAILCHECK): ifdef KSH.	* var.c(initvar,setspec,unsetspec): ifdef KSH use of MAIL stuff.	* mail.c: ifdef KSH whole file.	* main.c(shell): ifdef KSH call to mcheck().	* main.c(initcoms[]): ifdef KSH the MAILCHECK=600.	  (based on patches from Marc Olzheim).	* exec.c(PS4_SUBSTITUTE): new macro.	* exec.c(execute, comexec, iosetup): use PS4_SUBSTITUTE.Thu Jul 25 17:19:17 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* sh.h(F_VIESCCOMPLETE): new define.	* misc.c(options[]): added vi-esccomplete.	* vi.c(classify[]): make ^[ a repeatable command.	* vi.c(vi_cmd): check F_VIESCCOMPLETE for ^[.Mon Jul 22 16:54:38 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* c_ksh.c(c_getopts): return if variable is readonly; don't change	  OPTIND if option is bad (fragile).	* c_sh.c(c_brkcont): use ksh_getopt(); changed error message if	  n <= 0.	* c_sh.c(c_dot,c_eval,c_exitreturn): use ksh_getopt().	* misc.c(ksh_getopt): print `unknown option' instead of `bad option'.Mon Jul 22 16:08:40 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* edit.c(x_init): do NOT export COLUMNS/LINES - causes more problems	  than it fixes.Mon Jul 22 15:49:35 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* syn.c(get_command): fixed test for '< foo (command)' so it	  works.Fri Jun 21 09:57:47 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* aclocal.m4(KSH_OPENDIR_CHECK): include dirent.h if HAVE_DIRENT_H	  defined (was DIRENT || _POSIX_VERSION).	* aclocal.m4(KSH_UNISTD_H): don't test HAVE_DIRENT_H when including	  dirent.h.Wed Jun 12 11:02:32 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* c_test.c(b_ops[]): added "==" entry (ksh93ism).Mon Jun 10 14:00:21  1996 Michael Rendell (michael@lyman.cs.mun.ca)	* ksh_stat.h: undef S_ISSOCK if STAT_MACROS_BROKEN defined.	* aclocal.m4(AC_HEADER_STAT): redefine autoconf's version to handle	  FreeBSD's S_ISSOCK.Tue Jun  4 08:41:19 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* made pdksh-5.2.7 distribution	* vi.c(CMDLEN): changed from 16 back to 1024.Sun Jun  2 11:54:46 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* made pdksh-5.2.6 distributionSun Jun  2 11:46:56 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* exec.c(search_access): changed ordering of xsuffixes[], rsuffixes[];	  removed code that used xsuffixes[] when suffix is present.	* lex.c(getsc_line): set O_TEXT/O_BINARY if os/2.	* main.c(remove_temps): added os2 ifdefs.	  [Changes from Dale DePriest.]Tue May 21 14:18:22 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* vi.c(vi_cmd): case '#': call do_comment() to do work.	* vi.c(do_comment): new function.	* vi.c(putbuf,grabhist,grabsearch): fixed pesimestic off-by-1 error	  (cbufsize - 1 -> cbufsize).	* vi.c(vi_hook): case VCMD: case -1: added refresh(0).	* vi.c(vi_cmd): case 'P': don't move cursor back if nothing added.Tue May 21 12:03:34 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* emacs.c(do_complete): don't add space if single match and	  it doesn't end with a /.Tue May 21 11:51:36 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* edit.c(x_init): use typeset to set EXPORT attribute for	  COLUMNS/LINES.Tue May 21 11:40:12 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* misc.c(parseargs): option setting: ignore context if option	  isn't being changed.	* misc.c(printoptions): for non-verbose mode: print a set command	  (eg, set -o vi -o ...) instead of just the option names.Tue May 21 11:14:27 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* c_sh.c(c_brkcont): if n is too big, use last enclosing loop.Fri May 10 09:27:47 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* sh.h(Getopt): changed field p from int to unsigned.Tue May  7 12:10:47 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* made pdksh-5.2.5 distributionTue May  7 11:45:37 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* syn.c(compile): set multiline if source is SSTRING.	* syn.c(yyparse): don't peek before calling c_list() - build	  TEOF if c_list() fails and c is 0.	* syn.c(c_list): remove SSTRING test.	* syn.c(get_command): if EOF is reached, free iops,args,vars.	* syn.c(syntaxerr): set multiline.on to false when it is used;	  don't use multiline.on if start token is 0.Tue May  7 10:11:41 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* history.c(c_fc,hist_execute): moved calls to histbackup() from	  c_fc() to hist_execute().	* history.c(hist_get): number: took out +1 correction as histbackup	  hasn't been done yet; string: added -1 correction to ensure	  current fc command isn't searched.	* history.c(hist_get_newest,hist_get_oldest): don't find the	  current (fc) command; removed print_err argument (was always	  true).	* history.c(hist_get,hist_get_newest): added allow_cur argument;	  changed all calls.Mon May  6 09:55:29 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* emacs.c(x_nextcmdp): renamed to x_nextcmd, changed from	  char ** to int.	* emacs.c(x_nl_next_com): save absolute command number, not	  relative position in history array (which changes).	* emacs.c(x_emacs): convert x_nextcmd back to relative position.	* emacs.c(x_init_emacs): initialize x_nextcmd to -1.Sun May  5 13:10:48 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* expr.c(evalexpr): when assigning a non-integer, call setint()	 (not setstr(..., strval(...))).Sun May  5 12:16:11 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* mail.c(maddmsg): changed name to mprintit(); now prints message	  directly instead of saving in a linked list; changed all calls.	* mail.c(mprint): deleted; deleted all calls.	* mail.c(mmsgs,struct mailmsg): deleted.Sun May  5 11:52:05 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* lex.h(SF_TTY): new flag.	* lex.h(STTY): deleted.	* main.c(main): if tty, use SSTDIN, set SF_TTY.	* main.c(shell): check SF_TTY instead of STTY.	* lex.c(getsc_): call getsc_line for SSTDIN/SFILE.	* lex.c(getsc_line): new function (merged old STTY/SSTDIN/SFILE code).Fri May  3 11:24:17 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* main.c(shell): changed exit_atend to toplevel.  Changed interactive	  to be falking&toplevel (was talking&s->type==STTY).Fri May  3 10:59:22 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* var.c(getint): only allow one base (ie, disallow 2#4#5).Thu May  2 21:31:23 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* var.c(array_index_calc): new function	* var.c(global): call array_index_calc(); moved $2 code into	  if (!letter(c))...	* var.c(local): call array_index_calc(); added copy argument & code;	  changed all calls.	* table.h(LOCAL_COPY): new define.	* exec.c(comexec): maybe pass LOCAL_COPY to typeset().Thu May  2 16:34:29 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* emacs.c: command completion changes.	* emacs.c(Comp_type,CT_LIST,CT_COMPLETE,CT_COMPLIST): new type.	* emacs.c(x_ins): return type changed to int; return -1 if	  string can't be inserted.	* emacs.c(x_do_ins): new function.	* emacs.c(add_stash,list_stash,compl_dec,compl_file,compl_command,	  str_match): deleted; changed callers to use do_complete().	* emacs.c(do_complete,x_expand): new functions.	* emacs.c(x_ftab[],x_defbindings[]): added entry for file-expand;	  bound to <ESC>*.Thu May  2 15:31:32 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* lex.c(set_prompt): pass strlen() + 1 to shf_sopen.	  (fix from Arnon Kanfi).Wed Apr 24 11:50:52 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* history.c(c_fc): -e -: don't increment wp past null; allow	  pat=replace arg with "-1" type argument.	  (based on fix from Jason Tyler).Mon Apr 15 11:58:34 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* table.c(tenter),alloc.c(alloc): changed use of offsetof() so field	  parameter is a constant expression.	* sh.h: took out undef of offsetof on CRAYs.Fri Apr 12 16:01:40 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* jobs.c(JF_USETTYMODE): renamed JR_ORIGFG to JF_USETTYMODE.	* jobs.c(j_waitj): clear JF_USETTYMODE if fg job is stopped.Sun Apr  7 12:35:30 NDT 1996 Michael Rendell (michael@panda.cs.mun.ca)	* c_ksh(c_print): echo: don't treat a lone minus as an option.Sat Apr  6 00:09:37 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* c_ulimit.c(c_ulimit.c): always pass 2 args to ulimit().	* ksh_sigsetjmp(): changed all uses to be simple expressions - seems	  to be required by the cray C compiler.	* sh.h(offsetof): undef if on a cray.	  (based on fixes from Dave Kinchlea)Sat Mar 23 13:58:12 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* siglist.in: added WAITING,LWP,FREEZE,THAW,CANCELThu Mar  7 23:26:37 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* edit.c(x_init): set LINES if possible.Thu Mar  7 23:01:55 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* main.c(main): call x_init() after j_init()	  (based on fix from Stefan Dalibor).Thu Mar  7 16:13:10 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* aclocal.m4(KSH_OS_TYPE): check for TitanOS (use cc -43).	* aclocal.m4(KSH_SIGNAL_TYPE): for bsd41 signals, check if signal	  interrupt read().Thu Mar  7 13:59:29 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* sh.h(strstr),missing.c(strstr): changed args to const.Wed Mar  6 17:21:36 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* io.c(errorf,bi_errorf): changed null pointer string check to	  empty string; changed all calls (due to new error gcc warnings).Wed Mar  6 17:15:58 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* exec.c(search_access): files aren't executable if they don't	  have any execute bits.	* ksh_stat.h: added S_IXUSR,S_IXGRP,S_IXOTH.	* exec.c(search_access,search_access1): OS2: changed the meaning	  of these two functions (search_access1 now called from search_access).Wed Mar  6 16:23:23 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* tree.c(ptree): add case for TSELECT.Wed Mar  6 12:40:34 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* vi.c(Z_,is_zeroarg): new defines.	* vi.c(classify): use Z_ for G, g, _, |, v, ^I, ^F.	* vi.c(vi_cmd): use is_zerocount().	* vi.c(complete_word): if command prefixed by a count, complete	  to count'th expansion (as reported by print_expansions()).Tue Mar  5 14:43:48 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* eval.c(GF_NONE,GF_EXCHECK,GF_GLOBBED,GF_MARKDIR): new defines.	* eval.c(glob_str): added markdirs argument; changed all calls;	  made function non-static.	* eval.c(glob): added markdirs argument; changed all calls.	* tree.h(DOMARKDIRS): new define.	* eval.c(expand): set DOMARKDIRS if FMARKDIRS.	* edit.c(x_complete_word,x_print_expansions,x_file_glob,x_command_glob,	  x_locate_word,x_cf_glob,x_add_glob,x_longest_prefix,x_free_words):	  new functions.	* proto,edit.h: moved functions defined in edit.c to edit.h.	* vi.c(struct edstate): moved to top of file.	* vi.c(print_expansions): added struct edstate argument; changed all	  calls.	* vi.c(struct glob,Glob,globstr,glob_word,): deleted	* vi.c(vi_pprompt): new function; changed all calls of pprompt() in	  vi.c to use vi_pprompt().	* vi.c(x_vi): moved to top of file.	* vi.c(expand_word,complete_word): free buf if it is not null.	* vi.c(expand_word,complete_word,print_expansions): changed	  to use new edit.c functions.Tue Feb 20 11:02:05 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* table.c(twalk,tnext,struct tstate),table.h(struct tstate): moved	  struct tstate from table.c to table.h; changed twalk,tnext to take	  struct tstate* argument; changed all calls; deleted static tstate	  variable.Sat Feb 17 12:28:11 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* vi.c(vi_hook): case VSEARCH: if new pattern is empty, repeat last	  search.Sat Feb 10 15:59:28 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)	* table.h(struct arg_info): new struct.	* table.h(struct block): changed argv, argc fields to argi.Sat Feb 10 15:12:47 NST 1996 Michael Rendell (michael@panda.cs.mun.ca)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -