RFU: mercurial 1.7-1 (Python 2.6)

2010-11-02 Thread Jari Aalto

New upstream release:

wget -r --no-host-directories  --cut-dirs=3 \
http://cante.net/~jaalto/tmp/cygwin/mercurial/mercurial-1.7-1-src.tar.bz2 \
http://cante.net/~jaalto/tmp/cygwin/mercurial/mercurial-1.7-1.tar.bz2 \
http://cante.net/~jaalto/tmp/cygwin/mercurial/setup.hint

Jari


RFU: bzr 2.2.1-1

2010-11-02 Thread Jari Aalto

New upstream release:

wget -r --no-host-directories  --cut-dirs=3 \
http://cante.net/~jaalto/tmp/cygwin/bzr/bzr-2.2.1-1-src.tar.bz2 \
http://cante.net/~jaalto/tmp/cygwin/bzr/bzr-2.2.1-1.tar.bz2 \
http://cante.net/~jaalto/tmp/cygwin/bzr/setup.hint

Jari


Re: 1.7.7: Mercurial 1.5.4 and Python 2.6.5 conflicts?

2010-11-02 Thread Jari Aalto
Alex Royo aroyofla-re5jqeeqqe8avxtiumw...@public.gmane.org writes:

 Hello list,

 I updated Cygwin version 1.7.7, Python version 2.6.5 and Mercurial
 version 1.5.4 (the latest versions packaged).

 ---
 /usr/lib/python2.6/site-package/mercurial/demandimport.py:85:
 DeprecationWarning: the sha module is deprecated, us the hashlib
 module instead return _origimport(name, globals, locals, fromlist)
 abort: No module named _md5!
 ---

 I guess it is packaged for the Cygwin versions of Mercurial that
 conflicts with the packaged versions of Python.

Yes,

New mercual version will soon hit the mirrors.

Thanks,
Jari


Re: Xterm Title

2010-11-02 Thread Csaba Raduly
Hi Ajay,

On Mon, Nov 1, 2010 at 5:59 AM, Ajay Jain  wrote:
 Hi,

 I want my Xterm to display a constant title say mercury. So I use:
 Xterm -T mercury. Further, I have placed the following line in my
 .Xresources: xterm*allowTitleOps: 0. From my .vnc/xstartup, I also do:
 xrdb -merge ~/.Xresources. Even then my Xterm title changes to
 logn...@hostname:pwd. I want to avoid it and replace this with a fixed
 title. Could you suggest something? After all, what is it that is
 going wrong? I am also trying to set PROMT_COMMAND, without any
 success.

Check your prompt ($PS1) for xterm title escape sequences
(http://www.faqs.org/docs/Linux-mini/Xterm-Title.html), like \[\e]0;
... stuff ... \a\]

-- 
GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++
Life is complex, with real and imaginary parts.
Ok, it boots. Which means it must be bug-free and perfect.  -- Linus Torvalds
People disagree with me. I just ignore them. -- Linus Torvalds

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Quick Question About GDI

2010-11-02 Thread Aaron Tyler

Hello,
 
I was searching online to find more info about GDI and I came across your 
information.
 
Can you tell me, are you still involved with GDI? If
you are, how are things going for you?
 
Please let me know.
 
Sincerely,

Aaron Tyler



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Quick Question About GDI

2010-11-02 Thread Aaron Tyler

Hello,
 
I was searching online to find more info about GDI and I came across your 
information.
 
Can you tell me, are you still involved with GDI? If
you are, how are things going for you?
 
Please let me know.
 
Sincerely,

Aaron Tyler



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Quick Question About GDI

2010-11-02 Thread Aaron Tyler

Hello,
 
I was searching online to find more info about GDI and I came across your 
information.
 
Can you tell me, are you still involved with GDI? If
you are, how are things going for you?
 
Please let me know.
 
Sincerely,

Aaron Tyler



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Quick Question About GDI

2010-11-02 Thread Aaron Tyler

Hello,
 
I was searching online to find more info about GDI and I came across your 
information.
 
Can you tell me, are you still involved with GDI? If
you are, how are things going for you?
 
Please let me know.
 
Sincerely,

Aaron Tyler



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Quick Question About GDI

2010-11-02 Thread Aaron Tyler

Hello,
 
I was searching online to find more info about GDI and I came across your 
information.
 
Can you tell me, are you still involved with GDI? If
you are, how are things going for you?
 
Please let me know.
 
Sincerely,

Aaron Tyler



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



[PATCH] define _PATH_VARTMP

2010-11-02 Thread Yaakov (Cygwin/X)
Another glibc-ish paths.h define.  Patch attached.


Yaakov

2010-11-02  Yaakov Selkowitz  yselkow...@users.sourceforge.net

	* include/paths.h (_PATH_VARTMP): Define.

Index: include/paths.h
===
RCS file: /cvs/src/src/winsup/cygwin/include/paths.h,v
retrieving revision 1.5
diff -u -r1.5 paths.h
--- include/paths.h	2 Feb 2010 11:17:54 -	1.5
+++ include/paths.h	2 Nov 2010 16:16:55 -
@@ -26,6 +26,7 @@
 #define _PATH_TTY	/dev/tty
 #define _PATH_UTMP	/var/run/utmp
 #define _PATH_VARRUN	/var/run/
+#define _PATH_VARTMP	/var/tmp/
 #define _PATH_VI/bin/vi
 #define _PATH_WTMP	/var/log/wtmp
 


Re: [PATCH] define _PATH_VARTMP

2010-11-02 Thread Christopher Faylor
On Tue, Nov 02, 2010 at 12:06:22PM -0500, Yaakov (Cygwin/X) wrote:
Another glibc-ish paths.h define.  Patch attached.

Looks good.  Please apply.

I think it's getting to be time for a 1.7.8 release...

cgf


Re: Cron jobs don't run

2010-11-02 Thread Janos Dohanics
On Mon, 01 Nov 2010 21:14:38 -0400
Pierre A. Humblet pierre.humb...@ieee.org wrote:

 At 04:59 PM 11/1/2010, Janos Dohanics wrote:
 I'm trying to set up cron jobs in a new cygwin installation. The cron
 service is running, but jobs are not executed.
 
 I ran cron_diagnose.sh which says The SYSTEM user cannot access the
 mount point /usr/bin. mount shows:
 
 On cygwin 1.5:
 C:~: fgrep -1 'access' /bin/cron_diagnose.sh | fgrep cannot
  echo The SYSTEM user cannot access the mount point
 ${mnt_point}. On cygwin 1.7
 C:~: fgrep -1 'access' /bin/cron_diagnose.sh | fgrep cannot
 
 So you are using an old version of cron_diagnose.
 
 To debug, start with a crontab that executes a simple
 command  such as date  /tmp/cron.out every minute.
 You can use cronevents to view the log.
 If you need more help, run cronbug and send it as an attachment.
 
 Pierre

Pierre,

Thank you for your help.

Before I had the chance to read your e-mail though, I have reinstalled
cygwin and cron works now.

-- 
Janos Dohanics

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: sometimes ~ and $HOME contain different values

2010-11-02 Thread Lee Maschmeyer

Hi Giorgos,

My ~ and $HOME were never the same until I modified /etc/passwd to point to 
the directory I wanted to use.


(I think there's something in the User's Guide to this effect, though I got 
it from the mailing list.)


HTH,

--
Lee Maschmeyer
Wayne State University Computing Center
5925 Woodward, #281
Detroit MI 48202
USA 



--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: modification time disorder: touch-related?

2010-11-02 Thread Robert McDougall
On Mon, 1 Nov 2010 07:26:42 -0500, Kenneth Nellis wrote:

 Not answered yet: Do all the files involved--source and object--reside
 on the same computer as that performing the build? If not, you may
 still have time sync problems.

Yes, all files involved reside on the same computer as that performing
the build.

-- 
rmd

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: [patch 0/8] Bash improvements

2010-11-02 Thread David Sastre
On Tue, Nov 02, 2010 at 12:01:16PM +0100, Gary wrote:
 Dan wrote:
 
  This is a series of patches that tries to improve the user experience in
  Cygwin.
 
 Love both of these, and have wanted somethnig like them for ages :) I
 hope they get adopted!

I can't see attachments and those e-mails are empty...
It's only me?

-- 
Huella de clave primaria: 0FDA C36F F110 54F4 D42B  D0EB 617D 396C 448B 31EB


signature.asc
Description: Digital signature


Re: [patch 0/8] Bash improvements

2010-11-02 Thread David Sastre
On Tue, Nov 02, 2010 at 12:20:24PM -0700, Steven Monai wrote:
 On 2010/11/02 12:02 PM, David Sastre wrote:
  On Tue, Nov 02, 2010 at 12:01:16PM +0100, Gary wrote:
  Dan wrote:
 
  This is a series of patches that tries to improve the user experience in
  Cygwin.
 
  Love both of these, and have wanted somethnig like them for ages :) I
  hope they get adopted!
  
  I can't see attachments and those e-mails are empty...
  It's only me?
 
 It's not only you. I didn't see any attachments either.

Dan,

Could you please resend the patches?

-- 
Huella de clave primaria: 0FDA C36F F110 54F4 D42B  D0EB 617D 396C 448B 31EB


signature.asc
Description: Digital signature


Re: Is part of gcc3 missing?

2010-11-02 Thread Ken Brown

On 11/2/2010 3:57 PM, Lee Maschmeyer wrote:

I hope it's not providing too much information, but I've attached (yes,
really :-) not only cygcheck -svr but also the typescript of the make
session and config.log. Note that I'm using gcc3 because 4 has never worked.


I think there was a packaging bug that caused set-gcc-default-3.sh and 
set-gcc-default-4.sh to be not executable.  Try


  chmod 755 /usr/bin/set-gcc-default-*

Ken

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: Is part of gcc3 missing?

2010-11-02 Thread Lee Maschmeyer

  chmod 755 /usr/bin/set-gcc-default-*


Yes, I did that ages ago.

--
Lee Maschmeyer
Wayne State University Computing Center
5925 Woodward, #281
Detroit MI 48202
USA

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[patch 0/8] Bash improvements resent

2010-11-02 Thread dan . colascione
This is a series of patches that tries to improve the user experience in Cygwin.

It adds three new features:

1. EXECIGNORE

EXECIGNORE is a colon-separated list of glob patterns. If a file's
full path matches one of these, it is never considered 
executable for completion purposes. EXECIGNORE=*.dll is a good start.

2. completion_strip_exe

completion_strip_exe is a new shell option. When enabled,
bash tries to use the short name of a program instead of
its longer .-exe-suffixed one. With this on, pintab
completes to ping.

3. dg-dwim (C-x C-w)

This is a new readline command that toggles the shell word before
point between Unix and Windows path syntax, with a heuristic to
detect unquoted Windows paths.

Try typing notepad ~/.profile, then hit C-x C-w

The command line will be changed to 
notepad 'C:\Users\username\conf\dot-profile'

If you hit C-x C-w again, you'll see

notepad '/c/Users/dancol/.profile'

It also works with glob patterns; try it out. 



--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[patch 1/8] Add EXECIGNORE special variable

2010-11-02 Thread dan . colascione
Index: bash-3.2/findcmd.c
===
--- bash-3.2.orig/findcmd.c
+++ bash-3.2/findcmd.c
@@ -44,6 +44,8 @@
 #include hashcmd.h
 #include findcmd.h   /* matching prototypes and declarations */
 
+#include glob/strmatch.h
+
 extern int posixly_correct;
 
 /* Static functions defined and used in this file. */
@@ -72,6 +74,40 @@ int check_hashed_filenames;
containing the file of interest. */
 int dot_found_in_search = 0;
 
+static struct ignorevar execignore =
+{
+  EXECIGNORE,
+  (struct ign *)0,
+  0,
+  (char *)0,
+  (sh_iv_item_func_t *)0,
+};
+
+void
+setup_exec_ignore (varname)
+ char *varname;
+{
+  setup_ignore_patterns (execignore);
+}
+
+/* Return whether we should never consider file executable
+ * even if the system tells us it is. */
+static int
+is_on_exec_blacklist (name)
+char *name;
+{
+  struct ign *p;
+  int flags = FNM_EXTMATCH | FNM_CASEFOLD;
+
+  for (p = execignore.ignores; p  p-val; p++)
+{
+  if (strmatch (p-val, (char *)name, flags) != FNM_NOMATCH)
+   return (1);
+}
+
+  return (0);
+}
+
 /* Return some flags based on information about this file.
The EXISTS bit is non-zero if the file is found.
The EXECABLE bit is non-zero the file is executble.
@@ -98,7 +134,7 @@ file_status (name)
   /* We have to use access(2) to determine access because AFS does not
  support Unix file system semantics.  This may produce wrong
  answers for non-AFS files when ruid != euid.  I hate AFS. */
-  if (access (name, X_OK) == 0)
+  if (is_on_exec_blacklist (name) == 0  access (name, X_OK) == 0)
 r |= FS_EXECABLE;
   if (access (name, R_OK) == 0)
 r |= FS_READABLE;
@@ -147,6 +183,9 @@ file_status (name)
r |= FS_READABLE;
 }
 
+  if (is_on_exec_blacklist (name))
+r = ~FS_EXECABLE;
+
   return r;
 #endif /* !AFS */
 }
Index: bash-3.2/findcmd.h
===
--- bash-3.2.orig/findcmd.h
+++ bash-3.2/findcmd.h
@@ -31,5 +31,6 @@ extern char *find_user_command __P((cons
 extern char *find_path_file __P((const char *));
 extern char *search_for_command __P((const char *));
 extern char *user_command_matches __P((const char *, int, int));
+extern void setup_exec_ignore __P((char *));
 
 #endif /* _FINDCMD_H_ */
Index: bash-3.2/pathexp.h
===
--- bash-3.2.orig/pathexp.h
+++ bash-3.2/pathexp.h
@@ -68,7 +68,7 @@ extern char *quote_globbing_chars __P((c
 extern char **shell_glob_filename __P((const char *));
 
 /* Filename completion ignore.  Used to implement the fignore facility of
-   tcsh and GLOBIGNORE (like ksh-93 FIGNORE).
+   tcsh and GLOBIGNORE (like ksh-93 FIGNORE) and EXECIGNORE.
 
It is passed a NULL-terminated array of (char *)'s that must be
free()'d if they are deleted.  The first element (names[0]) is the
@@ -84,7 +84,7 @@ struct ign {
 typedef int sh_iv_item_func_t __P((struct ign *));
 
 struct ignorevar {
-  char *varname;   /* FIGNORE or GLOBIGNORE */
+  char *varname;   /* FIGNORE or GLOBIGNORE or EXECIGNORE */
   struct ign *ignores; /* Store the ignore strings here */
   int num_ignores; /* How many are there? */
   char *last_ignoreval;/* Last value of variable - cached for speed */
Index: bash-3.2/variables.c
===
--- bash-3.2.orig/variables.c
+++ bash-3.2/variables.c
@@ -3749,6 +3749,8 @@ static struct name_and_function special_
 
   { GLOBIGNORE, sv_globignore },
 
+  { EXECIGNORE, sv_execignore },
+
 #if defined (HISTORY)
   { HISTCONTROL, sv_history_control },
   { HISTFILESIZE, sv_histsize },
@@ -3914,6 +3916,14 @@ sv_globignore (name)
   setup_glob_ignore (name);
 }
 
+/* What to do when EXECIGNORE changes. */
+void
+sv_execignore (name)
+char *name;
+{
+  setup_exec_ignore (name);
+}
+
 #if defined (READLINE)
 void
 sv_comp_wordbreaks (name)
Index: bash-3.2/variables.h
===
--- bash-3.2.orig/variables.h
+++ bash-3.2/variables.h
@@ -331,6 +331,7 @@ extern void sv_ifs __P((char *));
 extern void sv_path __P((char *));
 extern void sv_mail __P((char *));
 extern void sv_globignore __P((char *));
+extern void sv_execignore __P((char *));
 extern void sv_ignoreeof __P((char *));
 extern void sv_strict_posix __P((char *));
 extern void sv_optind __P((char *));


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[patch 2/8] Document EXECIGNORE in Cygwin readme

2010-11-02 Thread dan . colascione
Index: bash-3.2/CYGWIN-PATCHES/bash.README
===
--- bash-3.2.orig/CYGWIN-PATCHES/bash.README
+++ bash-3.2/CYGWIN-PATCHES/bash.README
@@ -55,7 +55,14 @@ is on a binary mount with igncr disabled
 would be text mounts with igncr disabled and no \r in the underlying file.
 Next would be binary mounts with igncr enabled.  And the slowest that bash
 will operate is on text mounts with igncr enabled.
-8. If you don't like how bash behaves, then propose a patch, rather than
+8. This version of bash has a new special variable EXECIGNORE. It is a
+colon-separated list of extended glob patterns. If a file's full path
+matches one of these, it is no considered executable for the purposes
+of completion and PATH searching. The `test', `[', and `[[' builtins
+are not affected. Use this variable to prevent non-executables
+uselessly appearing in completion lists; EXECIGNORE=*.dll is quite
+useful.
+9. If you don't like how bash behaves, then propose a patch, rather than
 proposing idle ideas.  This turn of events has already been talked to
 death on the mailing lists by people with many ideas, but few patches.
 


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[patch 3/8] Document execignore in bash

2010-11-02 Thread dan . colascione
Index: bash-3.2/doc/bash.1
===
--- bash-3.2.orig/doc/bash.1
+++ bash-3.2/doc/bash.1
@@ -1405,6 +1405,14 @@ subsequently reset.
 Expands to the effective user ID of the current user, initialized at
 shell startup.  This variable is readonly.
 .TP
+.B EXECIGNORE
+A colon-separated list of extended glob (see \fBPattern Matching\fP)
+patterns. Files with full paths matching one of these patterns are not
+considered executable for the purposes of completion and PATH
+searching, but the \fB[\fP, \fB[[\fP, and \fBtest\fP builtins are not
+affected. Use this variable to deal with systems that set the
+executable bit on files that are not actually executable.
+.TP
 .B FUNCNAME
 An array variable containing the names of all shell functions
 currently in the execution call stack.
Index: bash-3.2/doc/bashref.texi
===
--- bash-3.2.orig/doc/bashref.texi
+++ bash-3.2/doc/bashref.texi
@@ -4464,6 +4464,14 @@ emacs shell buffer and disables line edi
 The numeric effective user id of the current user.  This variable
 is readonly.
 
+...@item EXECIGNORE
+A colon-separated list of extended glob ((@pxref{Pattern Matching})
+patterns. Files with full paths matching one of these patterns are not
+considered executable for the purposes of completion and PATH
+searching, but the @code{[}, @code{[[}, and @code{test} builtins are
+not affected. Use this variable to deal with systems that set the
+executable bit on files that are not actually executable.
+
 @item FCEDIT
 The editor used as a default by the @option{-e} option to the @code{fc}
 builtin command.


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[patch 4/8] Add option completion_strip_exe for short names

2010-11-02 Thread dan . colascione
Index: bash-3.2/bashline.c
===
--- bash-3.2.orig/bashline.c
+++ bash-3.2/bashline.c
@@ -220,6 +220,13 @@ int no_empty_command_completion;
are the only possible matches, even if FIGNORE says to. */
 int force_fignore = 1;
 
+#if __CYGWIN__
+/* When completion_strip_exe is true and completion generates a
+   foo.exe file, check whether a short foo pseudo-hardlink to this
+   file exists, and if so, use it instead. */
+int completion_strip_exe = 1;
+#endif /* __CYGWIN__ */
+
 static char *bash_completer_word_break_characters =  \t\n\'@=;|(:;
 static char *bash_nohostname_word_break_characters =  \t\n\'=;|(:;
 /* )) */
@@ -1540,6 +1547,30 @@ command_word_completion_function (hint_t
   if (match  (searching_path ? executable_file (val) : 
executable_or_directory (val)))
 #endif
{
+
+#if __CYGWIN__
+  if (completion_strip_exe)
+{
+  /* val is the full name of the file we're examining;
+ temp is its basename */
+  int val_len = strlen(val);
+
+  if (val_len  4  strcasecmp(val[val_len - 4], .exe) == 0)
+{
+  char* candidate = xmalloc(val_len - 4 + 1);
+  memcpy(candidate, val, val_len - 4);
+  candidate[val_len - 4] = '\0';
+
+  if (same_file (val, candidate, NULL, NULL))
+{
+  temp[strlen(temp) - 4] = '\0';
+}
+
+  free (candidate);
+}
+}
+#endif /* __CYGWIN__ */
+
  free (val);
  val = ; /* So it won't be NULL. */
  return (temp);
Index: bash-3.2/builtins/set.def
===
--- bash-3.2.orig/builtins/set.def
+++ bash-3.2/builtins/set.def
@@ -59,6 +59,7 @@ extern int no_line_editing;
 #endif /* READLINE */
 #if __CYGWIN__
 extern int igncr;
+extern int completion_strip_exe;
 static int set_minus_o_option_maybe (int, const char *, int);
 # define INTERACTIVE_ONLY ,1
 #else /* ! __CYGWIN__ */
@@ -96,6 +97,9 @@ $SHORT_DOC set [--abefhkmnptuvxBCHP] [-o
 #endif
 #if __CYGWIN__
 igncron cygwin, ignore \r in line endings
+completion_strip_exe
+ on cygwin, prefer short executable names
+ when available
 #endif
 ignoreeofthe shell will not exit upon reading EOF
 interactive-comments
@@ -212,6 +216,7 @@ struct {
 #endif
 #if __CYGWIN__
   { igncr, '\0', igncr, NULL, (setopt_get_func_t *)NULL },
+  { completion_strip_exe, '\0', completion_strip_exe, (setopt_get_func_t 
*)NULL },
 #endif
   { ignoreeof, '\0', ignoreeof, set_ignoreeof, (setopt_get_func_t *)NULL },
   { interactive-comments, '\0', interactive_comments, (setopt_set_func_t 
*)NULL, (setopt_get_func_t *)NULL },
Index: bash-3.2/builtins/shopt.def
===
--- bash-3.2.orig/builtins/shopt.def
+++ bash-3.2/builtins/shopt.def
@@ -71,6 +71,7 @@ extern int gnu_error_format;
 
 #if __CYGWIN__
 extern int igncr;
+extern int completion_strip_exe;
 #endif
 
 #if defined (EXTENDED_GLOB)
@@ -155,6 +156,7 @@ static struct {
   { huponexit, hup_on_exit, (shopt_set_func_t *)NULL },
 #if __CYGWIN__
   { igncr, igncr, (shopt_set_func_t *)NULL },
+  { completion_strip_exe, completion_strip_exe, (shopt_set_func_t *)NULL },
 #endif
   { interactive_comments, interactive_comments, set_shellopts_after_change 
},
 #if defined (HISTORY)


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[patch 5/8] Document completion_strip_exe in Cygwin readme

2010-11-02 Thread dan . colascione
Index: bash-3.2/CYGWIN-PATCHES/bash.README
===
--- bash-3.2.orig/CYGWIN-PATCHES/bash.README
+++ bash-3.2/CYGWIN-PATCHES/bash.README
@@ -62,7 +62,15 @@ of completion and PATH searching. The `t
 are not affected. Use this variable to prevent non-executables
 uselessly appearing in completion lists; EXECIGNORE=*.dll is quite
 useful.
-9. If you don't like how bash behaves, then propose a patch, rather than
+9. This version of bash has a Cygwin-specific shell option
+completion_strip_exe. It is enabled by default. With this option on,
+whenever bash sees a file foo.exe when trying to complete a command
+name, it checks whether Cygwin has generated a pseudo-hardlinked foo
+short name for the file and uses that instead. The end result is that
+the names of native Windows programs are completed normally, resulting
+in a more Unix-like experience overall. This substitution does not
+occur if foo.exe and foo are, in fact, different files.
+10. If you don't like how bash behaves, then propose a patch, rather than
 proposing idle ideas.  This turn of events has already been talked to
 death on the mailing lists by people with many ideas, but few patches.
 


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[patch 6/8] Document completion_strip_exe in bash

2010-11-02 Thread dan . colascione
Index: bash-3.2/doc/bash.1
===
--- bash-3.2.orig/doc/bash.1
+++ bash-3.2/doc/bash.1
@@ -7991,6 +7991,11 @@ If set,
 changes its behavior to that of version 3.1 with respect to quoted
 arguments to the conditional command's =~ operator.
 .TP 8
+.B completion_strip_exe
+If set, whenever Bash sees a `foo.exe' while trying to complete a
+command, it checks whether a file called `foo' is a hardlink to the
+former and, if so, uses the short name.
+.TP 8
 .B dotglob
 If set, 
 .B bash
Index: bash-3.2/doc/bashref.texi
===
--- bash-3.2.orig/doc/bashref.texi
+++ bash-3.2/doc/bashref.texi
@@ -3603,6 +3603,11 @@ If set, Bash
 changes its behavior to that of version 3.1 with respect to quoted
 arguments to the conditional command's =~ operator.
 
+...@item completion_strip_exe
+If set, whenever Bash sees a ``foo.exe'' while trying to complete a
+command, it checks whether a file called ``foo'' is a hardlink to the
+former and, if so, uses the short name.
+
 @item dotglob
 If set, Bash includes filenames beginning with a `.' in
 the results of filename expansion.


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[patch 7/8] Backport shellword movement functions from bash 4.1

2010-11-02 Thread dan . colascione
Index: bash-3.2/bashline.c
===
--- bash-3.2.orig/bashline.c
+++ bash-3.2/bashline.c
@@ -50,6 +50,8 @@
 #include execute_cmd.h
 #include findcmd.h
 #include pathexp.h
+#include shmbutil.h
+
 #include builtins/common.h
 #include readline/rlconf.h
 #include readline/readline.h
@@ -99,6 +101,11 @@ static int alias_expand_line __P((int, i
 static int history_and_alias_expand_line __P((int, int));
 #endif
 
+static int bash_forward_shellword __P((int, int));
+static int bash_backward_shellword __P((int, int));
+static int bash_kill_shellword __P((int, int));
+static int bash_backward_kill_shellword __P((int, int));
+
 /* Helper functions for Readline. */
 static void bash_directory_expansion __P((char **));
 static int bash_directory_completion_hook __P((char **));
@@ -360,6 +367,11 @@ initialize_readline ()
   rl_add_defun (magic-space, tcsh_magic_space, -1);
 #endif
 
+  rl_add_defun (shell-forward-word, bash_forward_shellword, -1);
+  rl_add_defun (shell-backward-word, bash_backward_shellword, -1);
+  rl_add_defun (shell-kill-word, bash_kill_shellword, -1);
+  rl_add_defun (shell-backward-kill-word, bash_backward_kill_shellword, -1);
+
 #ifdef ALIAS
   rl_add_defun (alias-expand-line, alias_expand_line, -1);
 #  ifdef BANG_HISTORY
@@ -912,6 +924,202 @@ posix_edit_macros (count, key)
 }
 #endif
 
+/* Bindable commands that move `shell-words': that is, sequences of
+   non-unquoted-metacharacters. */
+
+#define WORDDELIM(c)   (shellmeta(c) || shellblank(c))
+
+static int
+bash_forward_shellword (count, key)
+ int count, key;
+{
+  size_t slen;
+  int sindex, c, p;
+  DECLARE_MBSTATE;
+
+  if (count  0)
+return (bash_backward_shellword (-count, key));
+
+  /* The tricky part of this is deciding whether or not the first character
+ we're on is an unquoted metacharacter.  Not completely handled yet. */
+  /* XXX - need to test this stuff with backslash-escaped shell
+ metacharacters and unclosed single- and double-quoted strings. */
+
+  p = rl_point;
+  slen = rl_end;
+
+  while (count)
+{
+  if (p == rl_end)
+   {
+ rl_point = rl_end;
+ return 0;
+   }
+
+  /* Move forward until we hit a non-metacharacter. */
+  while (p  rl_end  (c = rl_line_buffer[p])  WORDDELIM (c))
+   {
+ switch (c)
+   {
+   default:
+ ADVANCE_CHAR (rl_line_buffer, slen, p);
+ continue; /* straight back to loop, don't increment p */
+   case '\\':
+ if (p  rl_end  rl_line_buffer[p])
+   ADVANCE_CHAR (rl_line_buffer, slen, p);
+ break;
+   case '\'':
+ p = skip_to_delim41 (rl_line_buffer, ++p, ', SD_NOJMP);
+ break;
+   case '':
+ p = skip_to_delim41 (rl_line_buffer, ++p, \, SD_NOJMP);
+ break;
+   }
+
+ if (p  rl_end)
+   p++;
+   }
+
+  if (rl_line_buffer[p] == 0 || p == rl_end)
+{
+ rl_point = rl_end;
+ rl_ding ();
+ return 0;
+}
+   
+  /* Now move forward until we hit a non-quoted metacharacter or EOL */
+  while (p  rl_end  (c = rl_line_buffer[p])  WORDDELIM (c) == 0)
+   {
+ switch (c)
+   {
+   default:
+ ADVANCE_CHAR (rl_line_buffer, slen, p);
+ continue; /* straight back to loop, don't increment p */
+   case '\\':
+ if (p  rl_end  rl_line_buffer[p])
+   ADVANCE_CHAR (rl_line_buffer, slen, p);
+ break;
+   case '\'':
+ p = skip_to_delim41 (rl_line_buffer, ++p, ', SD_NOJMP);
+ break;
+   case '':
+ p = skip_to_delim41 (rl_line_buffer, ++p, \, SD_NOJMP);
+ break;
+   }
+
+ if (p  rl_end)
+   p++;
+   }
+
+  if (p == rl_end || rl_line_buffer[p] == 0)
+   {
+ rl_point = rl_end;
+ return (0);
+   }
+
+  count--;  
+}
+
+  rl_point = p;
+  return (0);
+}
+
+static int
+bash_backward_shellword (count, key)
+ int count, key;
+{
+  size_t slen;
+  int sindex, c, p;
+  DECLARE_MBSTATE;
+  
+  if (count  0)
+return (bash_forward_shellword (-count, key));
+
+  p = rl_point;
+  slen = rl_end;
+  
+  while (count)
+{
+  if (p == 0)
+   {
+ rl_point = 0;
+ return 0;
+   }
+
+  /* Move backward until we hit a non-metacharacter. */
+  while (p  0)
+   {
+ c = rl_line_buffer[p];
+ if (WORDDELIM (c)  char_is_quoted (rl_line_buffer, p) == 0)
+   BACKUP_CHAR (rl_line_buffer, slen, p);
+ break;
+   }
+
+  if (p == 0)
+   {
+ rl_point = 0;
+ return 0;
+   }
+
+  /* Now move backward until we hit a metacharacter or BOL. */
+  while (p  0)
+   {
+ c = rl_line_buffer[p];
+ if (WORDDELIM (c)  char_is_quoted 

[patch 8/8] Convert between Windows and Unix paths directly on command line

2010-11-02 Thread dan . colascione
Index: bash-3.2/bashline.c
===
--- bash-3.2.orig/bashline.c
+++ bash-3.2/bashline.c
@@ -37,6 +37,10 @@
 #  include netdb.h
 #endif
 
+#if __CYGWIN__
+#  include sys/cygwin.h
+#endif
+
 #include stdio.h
 #include chartypes.h
 #include bashansi.h
@@ -342,6 +346,248 @@ enable_hostname_completion (on_or_off)
   return (old_value);
 }
 
+#if __CYGWIN__
+
+typedef enum cg_path_kind
+  {
+CG_PATH_UNKNOWN,
+CG_PATH_WINDOWS,
+CG_PATH_UNIX
+  } CG_PATH_KIND;
+
+static void
+xprintwords(WORD_LIST* wl, FILE* out)
+{
+  while (wl)
+{
+  fprintf(out, (%d)\%s\, wl-word-flags, wl-word-word);
+  wl = wl-next;
+  if (wl) {
+fprintf(out, , );
+  }
+}
+}
+
+/*
+ * Guess what kind of path the given word is
+ */
+static CG_PATH_KIND
+cg_guess_path_kind (wdesc)
+ WORD_DESC *wdesc;
+{
+  char* w = wdesc-word;
+  char prev, cur, next;
+
+  /* If a filename contains a forward slash, it's probably a unix
+ path */
+  if (strchr(w, '/'))
+return CG_PATH_UNIX;
+
+  /* Skip leading quote characters */
+  while (w[0] == '\'' || w[0] == '')
+++w;
+  
+  /* UNC absolute path */
+  if (w[0] == '\\'  w[1] == '\\')
+return CG_PATH_WINDOWS;
+
+  /* Drive-letter-relative path */
+  if (isalpha (w[0])  w[1] == ':'  w[2] == '\\')
+return CG_PATH_WINDOWS;
+
+  prev = '\0';
+  cur = w[0];
+  next = cur ? w[1] : '\0';
+
+  /* If a filename contains a Windows-like backslash,
+ it's probably Windows */
+  while (next)
+{
+  if (cur == '/'  isalnum (prev)  isalnum (next))
+return CG_PATH_WINDOWS;
+  
+  prev = cur;
+  cur = next;
+  next = *(w++);
+}
+
+  return CG_PATH_UNKNOWN;
+}
+
+static WORD_LIST*
+cg_dwim_expand_words (wl)
+ WORD_LIST *wl;
+{
+  WORD_LIST *out = NULL;
+  WORD_LIST *it;
+
+  wl = copy_word_list (wl);
+  
+  for (it = wl; it; it = it-next)
+{
+  char* w = it-word-word;
+  
+  /* If w has suspicious-looking backslahes, single-quote the
+ whole word. */
+  CG_PATH_KIND tkind = cg_guess_path_kind(it-word);
+  
+  if (tkind == CG_PATH_WINDOWS 
+  w[0] != '\''  w[0] != '')
+{
+  it-word-word = sh_single_quote(w);
+  free(w);
+}
+}
+
+  out = expand_words (wl);
+  dispose_words (wl);
+  return out;
+}
+
+static CG_PATH_KIND
+cg_guess_conv_target(wl)
+ WORD_LIST *wl;
+{
+  for (; wl; wl = wl-next)
+{
+  switch (cg_guess_path_kind(wl-word))
+{
+case CG_PATH_WINDOWS:
+  return CG_PATH_UNIX;
+  
+case CG_PATH_UNIX:
+  return CG_PATH_WINDOWS;
+
+default:
+  ;
+}
+}
+  
+  return CG_PATH_UNKNOWN;
+}
+
+/* Replace text between POS_BEG and POS_END with result of converting
+   all words in DATA to TARGET and joining them with a space.
+
+   Return the length of the replacement string. */
+static int
+cg_do_conv (data, target, pos_beg, pos_end)
+ WORD_LIST *data;
+ CG_PATH_KIND target;
+ int pos_beg;
+ int pos_end;
+{
+  cygwin_conv_path_t conv_dir =
+(target == CG_PATH_WINDOWS)
+? CCP_POSIX_TO_WIN_A
+: CCP_WIN_A_TO_POSIX;
+
+  rl_begin_undo_group();
+  rl_delete_text(pos_beg, pos_end);
+  rl_point = pos_beg;
+
+  conv_dir |= CCP_RELATIVE;
+  
+  for (; data; data = data-next)
+{
+  char *s  = cygwin_create_path(conv_dir, data-word-word);
+  char *quoted;
+  
+  if (s)
+{
+  quoted = sh_single_quote(s);
+  rl_insert_text (quoted);
+  
+  if (data-next)
+{
+  rl_insert_text ( );
+}
+}
+  
+  free(s);
+  free(quoted);
+}
+  
+  rl_end_undo_group();
+
+  return rl_point - pos_beg;
+}
+
+/* Let user toggle between unix and windows path representations */
+static int
+cg_dwim (count, ignore)
+int count, ignore;
+{
+  static CG_PATH_KIND cg_conv_target;
+  static WORD_LIST *lw_data;
+  static int pos_beg;
+  static int pos_end;
+
+  if (lw_data  rl_last_func == cg_dwim)
+{
+  /* Reuse information from last run and just toggle the
+ conversion direction */
+  if (cg_conv_target == CG_PATH_UNIX)
+cg_conv_target = CG_PATH_WINDOWS;
+  else
+cg_conv_target = CG_PATH_UNIX;
+}
+  else
+{
+  int orig_pos;
+  char *ss = NULL;
+  WORD_LIST *lw = NULL;
+  int pos2;
+  
+  /* Slurp up words */
+  while (rl_point  0  whitespace (rl_line_buffer[rl_point - 1]))
+--rl_point;
+  
+  orig_pos = rl_point;
+  
+  do {
+bash_backward_shellword (1, -1);
+pos2 = rl_point;
+
+while (pos2  orig_pos  whitespace (rl_line_buffer[pos2]))
+  ++pos2;
+
+dispose_words (lw);
+free (ss);
+
+ss = substring (rl_line_buffer, pos2, orig_pos);
+lw = list_string_with_quotes (ss);
+
+  } while(list_length 

Re: [patch 0/8] Bash improvements

2010-11-02 Thread Daniel Colascione
On 11/2/2010 12:43 PM, David Sastre wrote:
 Could you please resend the patches?

Sorry about that; resent.

The problem seems to be a bug in quilt(1) that causes empty messages to
be sent when a patch's preamble doesn't end with a blank line.

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: [patch 6/8] Document completion_strip_exe in bash

2010-11-02 Thread Eric Blake
On 11/02/2010 02:49 PM, dan.colasci...@gmail.com wrote:
 Index: bash-3.2/doc/bash.1
 ===
 --- bash-3.2.orig/doc/bash.1
 +++ bash-3.2/doc/bash.1
 @@ -7991,6 +7991,11 @@ If set,
  changes its behavior to that of version 3.1 with respect to quoted
  arguments to the conditional command's =~ operator.
  .TP 8
 +.B completion_strip_exe
 +If set, whenever Bash sees a `foo.exe' while trying to complete a
 +command, it checks whether a file called `foo' is a hardlink to the
 +former and, if so, uses the short name.
 +.TP 8

Awesome! A patch, including documentation, for something that I find useful!

I can't help but wonder how much programmable completion could be taught
to strip .exe by itself, but if you don't use bash-completion, this
still makes sense (and even if you do, it is such a fundamental
operation and certainly seems more efficient to build in below the
compgen layer than making all compgen clients have to do it themselves).
 I guess I really need to find time and start testing this, to push out
a new cygwin bash build.

-- 
Eric Blake   ebl...@redhat.com+1-801-349-2682
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature


Re: Is part of gcc3 missing?

2010-11-02 Thread Andy Koppe
On 2 November 2010 19:57, Lee Maschmeyer wrote:
 Gentlefolk,

 For the past couple years or more I've been building a program, brltty, from
 its subversion development stream. The only problems I had were in that
 stream and they were fixed quite rapidly by the developer, in large measure
 because of my reports.

 The last time I was able to build it successfully was on October 11. Since
 then I've been getting the error detailed in the attachments. I'm almost
 positive the problem is an update to gcc or one of its henchmen because I've
 downdated brltty from 5400, which no longer successfully builds, all the way
 back to 5300 with no success.

 I hope it's not providing too much information, but I've attached (yes,
 really :-) not only cygcheck -svr but also the typescript of the make
 session and config.log. Note that I'm using gcc3 because 4 has never worked.
 (That's a known problem however and we hope will be fixed in the next gcc
 update.)

The typescript shows the following error:

ocamlmklib -L./../../Programs -lbrlapi -oc brlapi_stubs brlapi_stubs.o
** Fatal error: Cannot find file libgcc_s

libgcc_s ships with gcc4 only, so it looks like ocaml depends on gcc4
now, probably since its recent update.

You may not need the OCaml bindings being built there though. I see
you can disable them with the --disable-caml-bindings configure
option.

Andy

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: [patch 7/8] Backport shellword movement functions from bash 4.1

2010-11-02 Thread Eric Blake
On 11/02/2010 02:49 PM, dan.colasci...@gmail.com wrote:
  
 +  rl_add_defun (shell-forward-word, bash_forward_shellword, -1);
 +  rl_add_defun (shell-backward-word, bash_backward_shellword, -1);
 +  rl_add_defun (shell-kill-word, bash_kill_shellword, -1);
 +  rl_add_defun (shell-backward-kill-word, bash_backward_kill_shellword, 
 -1);

Hmm, here, it probably makes more sense for me to bite the bullet and
port my cygwin-specific stuff from bash 3.2 into bash 4.1, rather than
trying to backport bash 4.1 stuff into my cygwin 3.2 build.

-- 
Eric Blake   ebl...@redhat.com+1-801-349-2682
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature


Re: [patch 8/8] Convert between Windows and Unix paths directly on command line

2010-11-02 Thread Eric Blake
On 11/02/2010 02:49 PM, dan.colasci...@gmail.com wrote:
 @@ -439,6 +689,10 @@ initialize_readline ()
rl_unbind_key_in_map (CTRL('E'), vi_movement_keymap);
  #endif
  
 +#if __CYGWIN__
 +  rl_bind_key_if_unbound_in_map (CTRL('W'), cg_dwim, emacs_ctlx_keymap);
 +#endif

I'm not so convinced about this one, particularly about the fact that it
consumes a default binding rather than requiring explicit effort to enable.

-- 
Eric Blake   ebl...@redhat.com+1-801-349-2682
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature


Re: [patch 6/8] Document completion_strip_exe in bash

2010-11-02 Thread Daniel Colascione
On 11/2/2010 1:55 PM, Eric Blake wrote:
 I can't help but wonder how much programmable completion could be taught
 to strip .exe by itself

It can't, as far as I can see. Programmable completion doesn't operate
on words in command position (like the first non-variable-assignment
word on a line).

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: [patch 8/8] Convert between Windows and Unix paths directly on command line

2010-11-02 Thread Daniel Colascione
On 11/2/2010 1:59 PM, Eric Blake wrote:
 I'm not so convinced about this one, particularly about the fact that it
 consumes a default binding rather than requiring explicit effort to enable.

It does require explicit effort: you have to type the key sequence.
There are lots of useful functions used by nobody except the half-dozen
people who know about inputrc. It's easy to tell users to type a certain
key sequence.

As for consuming a binding: rl_bind_key_if_unbound_in_map(), as the name
would suggest, defers to user-specified keybindings, and C-x C-w isn't
taken by anything by default. It's a convenient key sequence, and the
Emacs command bound to it, write-file, doesn't make any sense in a
readline context.

Doing this substitution directly on the command line is a hell of a lot
more convenient than using editing commands to wrap a word in $(cygpath
-w ...).

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: [patch 7/8] Backport shellword movement functions from bash 4.1

2010-11-02 Thread Daniel Colascione
On 11/2/2010 1:56 PM, Eric Blake wrote:
 On 11/02/2010 02:49 PM, dan.colasci...@gmail.com wrote:
  
 +  rl_add_defun (shell-forward-word, bash_forward_shellword, -1);
 +  rl_add_defun (shell-backward-word, bash_backward_shellword, -1);
 +  rl_add_defun (shell-kill-word, bash_kill_shellword, -1);
 +  rl_add_defun (shell-backward-kill-word, bash_backward_kill_shellword, 
 -1);
 
 Hmm, here, it probably makes more sense for me to bite the bullet and
 port my cygwin-specific stuff from bash 3.2 into bash 4.1, rather than
 trying to backport bash 4.1 stuff into my cygwin 3.2 build.
 

Getting 4.1 would be better, sure, but it's not available right now, and
my patch series is. The backport is minimal and non-invasive. The
backport is also a separate patch, so you can just ignore it when
applying the rest of the changes to 4.1.

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: [patch 2/8] Document EXECIGNORE in Cygwin readme

2010-11-02 Thread Jeremy Bopp
On 11/2/2010 3:48 PM, dan.colasci...@gmail.com wrote:
 Index: bash-3.2/CYGWIN-PATCHES/bash.README
 ===
 --- bash-3.2.orig/CYGWIN-PATCHES/bash.README
 +++ bash-3.2/CYGWIN-PATCHES/bash.README
 @@ -55,7 +55,14 @@ is on a binary mount with igncr disabled
  would be text mounts with igncr disabled and no \r in the underlying file.
  Next would be binary mounts with igncr enabled.  And the slowest that bash
  will operate is on text mounts with igncr enabled.
 -8. If you don't like how bash behaves, then propose a patch, rather than
 +8. This version of bash has a new special variable EXECIGNORE. It is a
 +colon-separated list of extended glob patterns. If a file's full path
 +matches one of these, it is no considered executable for the purposes
   ^^
That should be not instead of no.

 +of completion and PATH searching. The `test', `[', and `[[' builtins
 +are not affected. Use this variable to prevent non-executables
 +uselessly appearing in completion lists; EXECIGNORE=*.dll is quite
 +useful.
 +9. If you don't like how bash behaves, then propose a patch, rather than
  proposing idle ideas.  This turn of events has already been talked to
  death on the mailing lists by people with many ideas, but few patches.

-Jeremy

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: [patch 7/8] Backport shellword movement functions from bash 4.1

2010-11-02 Thread Christopher Faylor
On Tue, Nov 02, 2010 at 02:10:43PM -0700, Daniel Colascione wrote:
On 11/2/2010 1:56 PM, Eric Blake wrote:
 On 11/02/2010 02:49 PM, dan.colascione wrote:
  
 +  rl_add_defun (shell-forward-word, bash_forward_shellword, -1);
 +  rl_add_defun (shell-backward-word, bash_backward_shellword, -1);
 +  rl_add_defun (shell-kill-word, bash_kill_shellword, -1);
 +  rl_add_defun (shell-backward-kill-word, bash_backward_kill_shellword, 
 -1);
 
 Hmm, here, it probably makes more sense for me to bite the bullet and
 port my cygwin-specific stuff from bash 3.2 into bash 4.1, rather than
 trying to backport bash 4.1 stuff into my cygwin 3.2 build.
 

Getting 4.1 would be better, sure, but it's not available right now,

You know you're communicating with the bash package maintainer, right?
If he thinks that it makes sense to upgrade to a new version rather than
rolling a new, patched older version, then you can't really use the 4.1
isn't available argument since his point is that he could make it
available.  He's probably the only person who understands the tradeoffs.

cgf

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple