From 4111decfa71ae6626703c9e29652592a06b18480 Mon Sep 17 00:00:00 2001 From: Takafumi Arakaki Date: Tue, 27 Nov 2012 02:54:45 +0100 Subject: [PATCH] Advice fill-paragraph command to avoid read-only error fixes #84 --- lisp/ein-worksheet.el | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lisp/ein-worksheet.el b/lisp/ein-worksheet.el index 8a60b04..0e2f30c 100644 --- a/lisp/ein-worksheet.el +++ b/lisp/ein-worksheet.el @@ -952,6 +952,25 @@ function." "Called via notebook mode hooks." (setq imenu-create-index-function #'ein:worksheet-imenu-create-index)) + +;;; Workarounds + +(defadvice fill-paragraph (around ein:worksheet-fill-paragraph activate) + "Prevent \"Text is read-only\" error when filling paragraph in +EIN worksheet." + (if ein:%worksheet% + (let* ((cell (ein:worksheet-get-current-cell)) + (beg (copy-marker (ein:cell-input-pos-min cell)))) + (save-excursion + (goto-char beg) + (insert "\n")) + (unwind-protect + ad-do-it + (save-excursion + (goto-char beg) + (delete-char 1)))) + ad-do-it)) + (provide 'ein-worksheet) ;;; ein-worksheet.el ends here