summaryrefslogtreecommitdiff
path: root/elisp
diff options
context:
space:
mode:
authorDavid Kastrup <dak@gnu.org>2013-07-06 11:20:29 +0200
committerDavid Kastrup <dak@gnu.org>2013-07-12 09:42:57 +0200
commitf8b68c23c8255b757f0eb8374fe09a1f76436357 (patch)
treee179983c91ea071d71511e2f46da966304ba8510 /elisp
parente5f1f0e94c271d556bbcb77e565a6a70cbda2584 (diff)
Issue 3440: Avoid infinite recursion in Emacs' LilyPond-mode for percent in filenames
When using a file name like "Mazurek D%85browskiego.ly", using C-c C-l in LilyPond-mode resulted in let: Variable binding depth exceeds max-specpdl-size errors. This fixes the problem by not doing further percent expansion on the file name in `LilyPond-command-expand'.
Diffstat (limited to 'elisp')
-rw-r--r--elisp/lilypond-mode.el17
1 files changed, 9 insertions, 8 deletions
diff --git a/elisp/lilypond-mode.el b/elisp/lilypond-mode.el
index d9dcc7be47..be05016071 100644
--- a/elisp/lilypond-mode.el
+++ b/elisp/lilypond-mode.el
@@ -624,14 +624,15 @@ Must be the car of an entry in `LilyPond-command-alist'."
(l (split-file-name file))
(dir (car l))
(base (cadr l)))
- (LilyPond-command-expand
- (concat (substring string 0 b)
- (shell-quote-argument (concat dir base))
- (let ((entry (assoc (substring string b e)
- LilyPond-expand-alist)))
- (if entry (cdr entry) ""))
- (substring string e))
- file))
+ (concat (substring string 0 b)
+ (shell-quote-argument (concat dir base))
+ (LilyPond-command-expand
+ (concat
+ (let ((entry (assoc (substring string b e)
+ LilyPond-expand-alist)))
+ (if entry (cdr entry) ""))
+ (substring string e))
+ file)))
string)))
(defun LilyPond-shell-process (name buffer command)