Obviously `tabify' can change the length of the buffer. So caching its
end position is not very clever.
(defun mdw-maybe-tabify (s)
"Tabify or untabify the string S, according to `indent-tabs-mode'."
(defun mdw-maybe-tabify (s)
"Tabify or untabify the string S, according to `indent-tabs-mode'."
- (with-temp-buffer
- (save-match-data
- (let ((tabfun (if indent-tabs-mode #'tabify #'untabify)))
+ (let ((tabfun (if indent-tabs-mode #'tabify #'untabify)))
+ (with-temp-buffer
+ (save-match-data
(insert s "\n")
(let ((start (point-min)) (end (point-max)))
(insert s "\n")
(let ((start (point-min)) (end (point-max)))
- (funcall tabfun start end)
- (setq s (buffer-substring start (1- end))))))))
+ (funcall tabfun (point-min) (point-max))
+ (setq s (buffer-substring (point-min) (1- (point-max)))))))))
(defun mdw-examine-fill-prefixes (l)
"Given a list of dynamic fill prefixes, pick one which matches
(defun mdw-examine-fill-prefixes (l)
"Given a list of dynamic fill prefixes, pick one which matches