editorconfig-core.el: Remove unneeded defaulting code

This code risks setting `tab-width` even when it's not
requested, and these rules are better handled in
`editorconfig--get-indentation` in any case.

* lisp/editorconfig-core.el (editorconfig-core-get-properties):
Delete function, unused.
(editorconfig-core-get-properties-hash): Comment out defaulting code.
This commit is contained in:
Stefan Monnier 2024-06-18 17:27:37 -04:00
parent 66d5bc292f
commit 55e19499a6

View file

@ -43,18 +43,6 @@
;; Functions
;; editorconfig-core-get-properties (&optional file confname confversion)
;; Get EditorConfig properties for FILE.
;; If FILE is not given, use currently visiting file.
;; Give CONFNAME for basename of config file other than .editorconfig.
;; If need to specify config format version, give CONFVERSION.
;; This functions returns alist of properties. Each element will look like
;; (KEY . VALUE) .
;; editorconfig-core-get-properties-hash (&optional file confname confversion)
;; Get EditorConfig properties for FILE.
@ -97,21 +85,6 @@ RESULT is used internally and normally should not be used."
".editorconfig")))))
(editorconfig-core-handle-path handle)))
(defun editorconfig-core-get-properties (&optional file confname confversion)
"Get EditorConfig properties for FILE.
If FILE is not given, use currently visiting file.
Give CONFNAME for basename of config file other than .editorconfig.
If need to specify config format version, give CONFVERSION.
This function returns an alist of properties. Each element will
look like (KEY . VALUE)."
(let ((hash (editorconfig-core-get-properties-hash file confname confversion))
(result nil))
(maphash (lambda (key value)
(add-to-list 'result (cons (symbol-name key) value)))
hash)
result))
(defun editorconfig-core--hash-merge (into update)
"Merge two hashes INTO and UPDATE.
@ -142,36 +115,40 @@ hash object instead."
file)))
;; Downcase known boolean values
;; FIXME: Why not do that in `editorconfig-core-handle--parse-file'?
(dolist (key '( end_of_line indent_style indent_size insert_final_newline
trim_trailing_whitespace charset))
(when-let* ((val (gethash key result)))
(puthash key (downcase val) result)))
;; Add indent_size property
(let ((v-indent-size (gethash 'indent_size result))
(v-indent-style (gethash 'indent_style result)))
(when (and (not v-indent-size)
(string= v-indent-style "tab")
;; If VERSION < 0.9.0, indent_size should have no default value
(version<= "0.9.0"
confversion))
(puthash 'indent_size
"tab"
result)))
;; FIXME: Why? Which part of the spec requires that?
;;(let ((v-indent-size (gethash 'indent_size result))
;; (v-indent-style (gethash 'indent_style result)))
;; (when (and (not v-indent-size)
;; (string= v-indent-style "tab")
;; ;; If VERSION < 0.9.0, indent_size should have no default value
;; (version<= "0.9.0"
;; confversion))
;; (puthash 'indent_size
;; "tab"
;; result)))
;; Add tab_width property
(let ((v-indent-size (gethash 'indent_size result))
(v-tab-width (gethash 'tab_width result)))
(when (and v-indent-size
(not v-tab-width)
(not (string= v-indent-size "tab")))
(puthash 'tab_width v-indent-size result)))
;; FIXME: Why? Which part of the spec requires that?
;;(let ((v-indent-size (gethash 'indent_size result))
;; (v-tab-width (gethash 'tab_width result)))
;; (when (and v-indent-size
;; (not v-tab-width)
;; (not (string= v-indent-size "tab")))
;; (puthash 'tab_width v-indent-size result)))
;; Update indent-size property
(let ((v-indent-size (gethash 'indent_size result))
(v-tab-width (gethash 'tab_width result)))
(when (and v-indent-size
v-tab-width
(string= v-indent-size "tab"))
(puthash 'indent_size v-tab-width result)))
;; FIXME: Why? Which part of the spec requires that?
;;(let ((v-indent-size (gethash 'indent_size result))
;; (v-tab-width (gethash 'tab_width result)))
;; (when (and v-indent-size
;; v-tab-width
;; (string= v-indent-size "tab"))
;; (puthash 'indent_size v-tab-width result)))
result))