[PATCH] D37903: Fix assume-filename handling in clang-format.el
Micah Werbitt via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 19 11:47:51 PDT 2017
werbitt updated this revision to Diff 115875.
werbitt edited the summary of this revision.
werbitt added a comment.
Rename assume-file to assume-file-name and update documentation
https://reviews.llvm.org/D37903
Files:
tools/clang-format/clang-format.el
Index: tools/clang-format/clang-format.el
===================================================================
--- tools/clang-format/clang-format.el
+++ tools/clang-format/clang-format.el
@@ -119,20 +119,22 @@
(byte-to-position (1+ byte)))))
;;;###autoload
-(defun clang-format-region (start end &optional style assume-file)
- "Use clang-format to format the code between START and END according to STYLE.
-If called interactively uses the region or the current statement if there
-is no active region. If no style is given uses `clang-format-style'."
+(defun clang-format-region (start end &optional style assume-file-name)
+ "Use clang-format to format the code between START and END according to STYLE
+using ASSUME-FILE-NAME to locate a style config file. If called interactively
+uses the region or the current statement if there is no active region. If no
+style is given uses `clang-format-style'. If no assume-file-name is given uses
+`buffer-file-name'."
(interactive
(if (use-region-p)
(list (region-beginning) (region-end))
(list (point) (point))))
(unless style
(setq style clang-format-style))
- (unless assume-file
- (setq assume-file buffer-file-name))
+ (unless assume-file-name
+ (setq assume-file-name buffer-file-name))
(let ((file-start (clang-format--bufferpos-to-filepos start 'approximate
'utf-8-unix))
@@ -151,7 +153,12 @@
nil nil clang-format-executable
nil `(,temp-buffer ,temp-file) nil
`("-output-replacements-xml"
- ,@(and assume-file (list "-assume-filename" assume-file))
+ ;; Gaurd against a nil assume-file-name.
+ ;; If -assume-filename is given a blank string
+ ;; it will crash as per the following bug report
+ ;; https://bugs.llvm.org/show_bug.cgi?id=34667
+ ,@(and assume-file-name
+ (list "-assume-filename" assume-file-name))
"-style" ,style
"-offset" ,(number-to-string file-start)
"-length" ,(number-to-string (- file-end file-start))
@@ -183,10 +190,12 @@
(when (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
;;;###autoload
-(defun clang-format-buffer (&optional style assume-file)
- "Use clang-format to format the current buffer according to STYLE."
+(defun clang-format-buffer (&optional style assume-file-name)
+ "Use clang-format to format the current buffer according to STYLE using
+ASSUME-FILE-NAME to locate a style config file. If no style is given uses
+`clang-format-style'. If no assume-file-name is given uses `buffer-file-name'."
(interactive)
- (clang-format-region (point-min) (point-max) style assume-file))
+ (clang-format-region (point-min) (point-max) style assume-file-name))
;;;###autoload
(defalias 'clang-format 'clang-format-region)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37903.115875.patch
Type: text/x-patch
Size: 3152 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170919/5a6ee57e/attachment.bin>
More information about the cfe-commits
mailing list