From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Fri, 31 Mar 2006 09:22:40 -0500 From: Clint Adams To: zsh-workers@sunsite.dk Cc: 339635-forwarded@bugs.debian.org Subject: [ramk@cse.iitm.ernet.in: Bug#339635: zsh: zsh-mime-handler used even in the case of executable files] Message-ID: <20060331142240.GA18008@scowler.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Seq: zsh-workers 22394 Another patch from R.Ramkumar for which I hold no opinion. ----- Forwarded message from "R.Ramkumar" ----- Date: Thu, 17 Nov 2005 23:34:25 +0530 From: "R.Ramkumar" To: Debian Bug Tracking System Subject: Bug#339635: zsh: zsh-mime-handler used even in the case of executable files Package: zsh Version: 4.2.5-22 Severity: wishlist Tags: patch Some scripts end with a .sh (a common example being autogen.sh). For such scripts, zsh-mime-handler ends up executing the mime action for the suffix sh, which sometimes happens to be to just display the file. This, I guess is due to alias -s, which blindly maps in case the suffix matches. To counter this, it would be good if zsh-mime-handler uses a style to take a set of patterns that would be executed as-is, despite having a suffix found in the mime configuration. I am enclosing a patch for the same. I have made the set of executable files as the default for this style, I hope this deviation from the original behaviour is acceptable. Content-Description: Patch for the execute-as-is style to zsh-mime-handler --- zsh-mime-handler.orig 2005-11-17 23:21:14.000000000 +0530 +++ zsh-mime-handler 2005-11-17 23:31:37.000000000 +0530 @@ -45,6 +45,22 @@ context=":mime:.${suffix}:" local handler flags no_sh no_bg +local -a exec_asis + +# Set to a list of patterns which are ignored and executed as they are, +# despite being called for interpretation by the mime handler. +# Defaults to executable files, which ensures that they are executed as +# they are, even if they have a suffix. +zstyle -a $context execute-as-is exec_asis || exec_asis=('*(*)') + +local pattern + +for pattern in $exec_asis; do + if [[ $1 = ${~pattern} ]]; then + $@ + return 0 + fi +done zstyle -s $context handler handler || handler="${zsh_mime_handlers[$suffix]}" Hope this helps :) Regards, Ramkumar -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (101, 'testing') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/dash Kernel: Linux 2.6.14-archck1 Locale: LANG=en_IN, LC_CTYPE=en_IN (charmap=UTF-8) Versions of packages zsh depends on: ii debconf [debconf-2.0] 1.4.58 Debian configuration management sy ii libc6 2.3.5-6 GNU C Library: Shared libraries an ii libncurses5 5.4-9 Shared libraries for terminal hand Versions of packages zsh recommends: ii libcap1 1:1.10-14 support for getting/setting POSIX. ii libpcre3 6.4-1.0.1 Perl 5 Compatible Regular Expressi -- no debconf information -- WARN_(accel)("msg null; should hang here to be win compatible\n"); -- WINE source code ----- End forwarded message -----