bash-completion-Bugs item #314345 was changed at 2013-08-24 04:31 by Igor Murzov You can respond by visiting: https://alioth.debian.org/tracker/?func=detail&atid=413095&aid=314345&group_id=100114
>Status: Closed Priority: 3 Submitted By: David Rothlisberger (drothlis-guest) Assigned to: Nobody (None) Summary: `make` completion broken on BSD systems since commit b28d7108 Distribution: None Originally reported in: None Milestone: 2.0 >Status: Fix Committed Original bug number: Initial Comment: Commit b28d7108 [1] (added Aug 2012) uses the GNU-specific "sed -r" in "completions/make". This is not allowed since Jan 2010 -- see the third comment on [#311393]. "completions/make" fails "test/runLint", for this reason. The user-visible effect is that when I type "make <TAB>" I get this output: $ make <TAB>sed: illegal option -- r usage: sed script [-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...] [1] http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=commitdiff;h=b28d7108 ---------------------------------------------------------------------- >Comment By: Igor Murzov (garik-guest) Date: 2013-08-24 04:31 Message: In: http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=commit;h=3ac523f57e8d26e0943dfb2fd22f4a8879741c60 Thanks. ---------------------------------------------------------------------- Comment By: Rainer Müller (raimue-guest) Date: 2013-08-22 13:48 Message: Thanks for the review. This last change actually just slipped in during testing and was unintended. Here is a second version of the patch in which I corrected this mistake: http://raim.codingfarm.de/patches/0001-v2-make-Fix-basic-regex-for-portability-Alioth-314345.patch ---------------------------------------------------------------------- Comment By: Igor Murzov (garik-guest) Date: 2013-08-21 02:15 Message: > The important parts are that a semicolon is needed after each command Ok. > Also, \t is not recognized as a representation for a tab Ok. Is there any particular reason for the following change: - /^[^#\t:%]\{1,\}:/ { # found target block + /^[^# :%]\{0,\}:/ { # found target block ? Does it fix some bug for you? Could you provide a testcase? And if this change is needed could you replace `\{0,\}' with '*', just for clarity? Thanks for the patch. ---------------------------------------------------------------------- Comment By: Rainer Müller (raimue-guest) Date: 2013-08-19 19:12 Message: Unfortunately, this fix was not enough for me on Mac OS X with BSD sed. I had to tweak it further to get it to work. It seems like I am not allowed to attach a file to this bug report, so I uploaded my patch here: http://raim.codingfarm.de/patches/0001-make-Fix-basic-regex-for-portability-Alioth-314345.patch The important parts are that a semicolon is needed after each command or sed tries to parse the comment in the same line as additional flags. Also, \t is not recognized as a representation for a tab character but taken as a literal 't'. Without this patch any target containing a 't' is just filtered out. This patch is already being applied in the bash-completion distribution by MacPorts. ---------------------------------------------------------------------- Comment By: Igor Murzov (garik-guest) Date: 2013-08-14 02:43 Message: Fixed in commit: http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=commit;h=f230cfddbd12b8c777040e33bac1174c0e2898af ---------------------------------------------------------------------- Comment By: Igor Murzov (garik-guest) Date: 2013-08-06 02:37 Message: Accepted. ---------------------------------------------------------------------- You can respond by visiting: https://alioth.debian.org/tracker/?func=detail&atid=413095&aid=314345&group_id=100114 _______________________________________________ Bash-completion-devel mailing list Bash-completion-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/bash-completion-devel