emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: shell-command - missing shell-quote-argument for program?


From: Kim F. Storm
Subject: Re: shell-command - missing shell-quote-argument for program?
Date: Sun, 15 Oct 2006 01:02:49 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Lennart Borgman <address@hidden> writes:

> Index: flymake.el
> ===================================================================
> RCS file: /cvsroot/emacs/emacs/lisp/progmodes/flymake.el,v
> retrieving revision 1.41
> diff -c -r1.41 flymake.el
> *** flymake.el    16 Feb 2006 11:40:51 -0000    1.41
> --- flymake.el    11 Oct 2006 22:57:10 -0000
> ***************
> *** 1021,1027 ****
>         (progn
>       (flymake-get-project-include-dirs-from-cache basedir))
>       ;;else
> !     (let* ((command-line  (concat "make -C\"" basedir "\" 
> DUMPVARS=INCLUDE_DIRS dumpvars"))
>          (output        (shell-command-to-string command-line))
>          (lines         (flymake-split-string output "\n"))
>          (count         (length lines))
> --- 1021,1029 ----
>         (progn
>       (flymake-get-project-include-dirs-from-cache basedir))
>       ;;else
> !     (let* ((command-line  (concat "make -C\""
> !                                   (shell-quote-argument basedir)
> !                                   "\" DUMPVARS=INCLUDE_DIRS dumpvars"))
>          (output        (shell-command-to-string command-line))
>          (lines         (flymake-split-string output "\n"))
>          (count         (length lines))


Shouldn't you remove the old quotes here?

    (let* ((command-line  (concat "make -C "
                                  (shell-quote-argument basedir)
                                  " DUMPVARS=INCLUDE_DIRS dumpvars"))

>
> Index: ada-xref.el
> ===================================================================
> RCS file: /cvsroot/emacs/emacs/lisp/progmodes/ada-xref.el,v
> retrieving revision 1.26
> diff -c -r1.26 ada-xref.el
> *** ada-xref.el    10 Feb 2006 09:00:31 -0000    1.26
> --- ada-xref.el    11 Oct 2006 22:55:48 -0000
> ***************
> *** 1916,1923 ****
>         (set-buffer (get-buffer-create "*grep*"))
>         (while dirs
>       (insert (shell-command-to-string
> !          (concat "egrep -i -h '^X|" regexp "( |$)' "
> !              (file-name-as-directory (car dirs)) "*.ali")))
>       (set 'dirs (cdr dirs)))
>  
>         ;;  Now parse the output
> --- 1916,1926 ----
>         (set-buffer (get-buffer-create "*grep*"))
>         (while dirs
>       (insert (shell-command-to-string
> !          (concat "egrep -i -h '^X|"
> !                          (shell-quote-argument regexp)
> !                          "( |$)' "
> !              (shell-quote-argument (file-name-as-directory (car dirs)))
> !                          "*.ali")))
>       (set 'dirs (cdr dirs)))
>  
>         ;;  Now parse the output


This looks more correct to me:

          (concat "egrep -i -h "
                  (shell-quote-argument (concat "^X|" regexp "( |$)")) " "
                  (shell-quote-argument (file-name-as-directory (car dirs))) 
"*.ali")))


-- 
Kim F. Storm <address@hidden> http://www.cua.dk





reply via email to

[Prev in Thread] Current Thread [Next in Thread]