X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/profile/blobdiff_plain/3fd348cbfd4fd5ebc266a1c412551d65dff09ac1..1de7dc662545c5c46f8cba0db90061a6a67ad751:/el/dot-emacs.el diff --git a/el/dot-emacs.el b/el/dot-emacs.el index f86044d..4b4be86 100644 --- a/el/dot-emacs.el +++ b/el/dot-emacs.el @@ -1337,13 +1337,20 @@ (defun mdw-fill-paragraph () (let ((fill-prefix (mdw-choose-dynamic-fill-prefix))) (fill-paragraph nil))) +(defun mdw-point-within-string-p () + "Return non-nil if point is within a string." + (let ((state (syntax-ppss))) + (elt state 3))) + (defun mdw-standard-fill-prefix (rx &optional mat) "Set the dynamic fill prefix, handling standard hanging indents and stuff. This is just a short-cut for setting the thing by hand, and by design it doesn't cope with anything approximating a complicated case." (setq mdw-fill-prefix - `((,(concat rx mdw-hanging-indents) + `(((if (mdw-point-within-string-p) + ,(concat "\\(\\s-*\\)" mdw-hanging-indents) + ,(concat rx mdw-hanging-indents)) (match . 1) (pad . ,(or mat 2))))))