summaryrefslogtreecommitdiff
path: root/lisp/progmodes/executable.el
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-08-07 09:47:06 +0000
committerGerd Moellmann <gerd@gnu.org>2001-08-07 09:47:06 +0000
commit6c233cc08319a7a6d7bea4f0e3bc31077a25b394 (patch)
treead696bfc312882f5dae837a85c8ca92e7b77d40a /lisp/progmodes/executable.el
parent1155d48351e6badb1bf27658ccbda38d5f5d6fd6 (diff)
downloademacs-6c233cc08319a7a6d7bea4f0e3bc31077a25b394.tar.gz
(executable-set-magic): If
executable-find returns a quoted file name, unquote it before inserting it.
Diffstat (limited to 'lisp/progmodes/executable.el')
-rw-r--r--lisp/progmodes/executable.el12
1 files changed, 9 insertions, 3 deletions
diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el
index ce2b0b68cbb..bfe860fb223 100644
--- a/lisp/progmodes/executable.el
+++ b/lisp/progmodes/executable.el
@@ -210,13 +210,19 @@ executable."
(let* ((name (read-string "Name or file name of interpreter: "))
(arg (read-string (format "Argument for %s: " name))))
(list name arg (eq executable-query 'function) t)))
+
(setq interpreter (if (file-name-absolute-p interpreter)
interpreter
(or (executable-find interpreter)
- (error "Interpreter %s not recognized" interpreter)))
- argument (concat interpreter
+ (error "Interpreter %s not recognized"
+ interpreter))))
+
+ (setq argument (concat (if (string-match "\\`/:" interpreter)
+ (replace-match "" nil nil interpreter)
+ interpreter)
(and argument (string< "" argument) " ")
argument))
+
(or buffer-read-only
(if buffer-file-name
(string-match executable-magicless-file-regexp
@@ -253,7 +259,7 @@ executable."
;;; (eq executable-insert t)
;;; (set-buffer-modified-p buffer-modified-p))
)))
- interpreter)
+ interpreter)