Make Emacs libraries compatible with Emacs 24.
authorManuel Klimek <klimek@google.com>
Tue, 11 Oct 2016 09:15:10 +0000 (09:15 +0000)
committerManuel Klimek <klimek@google.com>
Tue, 11 Oct 2016 09:15:10 +0000 (09:15 +0000)
Emacs 24 doesn't have format-message, fall back to format in that case.

Patch by Philipp Stephani.

llvm-svn: 283861

clang-tools-extra/clang-rename/tool/clang-rename.el
clang-tools-extra/include-fixer/tool/clang-include-fixer.el

index 74c6dda..b6c3ed4 100644 (file)
@@ -52,7 +52,7 @@
             (kill-buffer output-buffer)
             (revert-buffer :ignore-auto :noconfirm :preserve-modes))
         ;; Failure; append exit code to output buffer and display it.
-        (let ((message (format-message
+        (let ((message (clang-rename--format-message
                         "clang-rename failed with %s %s"
                         (if (integerp exit-code) "exit status" "signal")
                         exit-code)))
     (lambda (position &optional _quality _coding-system)
       (1- (position-bytes position)))))
 
+;; ‘format-message’ is new in Emacs 25.1.  Provide a fallback for older
+;; versions.
+(defalias 'clang-rename--format-message
+  (if (fboundp 'format-message) 'format-message 'format))
+
 (provide 'clang-rename)
 
 ;;; clang-rename.el ends here
index f14d1ea..6a17077 100644 (file)
@@ -281,8 +281,8 @@ They are replaced by the single element selected by the user."
             (cl-flet ((header (info) (let-alist info .Header)))
               ;; The header-infos is already sorted by include-fixer.
               (let* ((header (ido-completing-read
-                              (format-message "Select include for '%s': "
-                                              symbol)
+                              (clang-include-fixer--format-message
+                               "Select include for '%s': " symbol)
                               (mapcar #'header .HeaderInfos)
                               nil :require-match nil
                               'clang-include-fixer--history))
@@ -402,5 +402,10 @@ non-nil.  Otherwise return nil."
     (lambda (byte &optional _quality _coding-system)
       (byte-to-position (1+ byte)))))
 
+;; ‘format-message’ is new in Emacs 25.1.  Provide a fallback for older
+;; versions.
+(defalias 'clang-include-fixer--format-message
+  (if (fboundp 'format-message) 'format-message 'format))
+
 (provide 'clang-include-fixer)
 ;;; clang-include-fixer.el ends here