diff options
| author | Stefan Monnier | 2025-04-13 10:33:47 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2025-04-13 10:33:47 -0400 |
| commit | 9dfd4c6bd3140585392a428201088e9f019b0071 (patch) | |
| tree | f1d0af91a0312e5eee65e4ac24be5e011b2c0834 | |
| parent | e0c7b6e31e8c03dd66a929742898f2d6e2628356 (diff) | |
| download | emacs-9dfd4c6bd3140585392a428201088e9f019b0071.tar.gz emacs-9dfd4c6bd3140585392a428201088e9f019b0071.zip | |
(calc-save-modes): Add a `lexical-binding` cookie
* lisp/calc/calc-mode.el (calc-save-modes): Add a `lexical-binding`
cookie when it is safe. Use `pcase-dolist` and `pp`.
| -rw-r--r-- | lisp/calc/calc-mode.el | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/lisp/calc/calc-mode.el b/lisp/calc/calc-mode.el index 1ca6bb7dca2..6f31d6af040 100644 --- a/lisp/calc/calc-mode.el +++ b/lisp/calc/calc-mode.el | |||
| @@ -290,22 +290,16 @@ | |||
| 290 | (goto-char (point-max)) | 290 | (goto-char (point-max)) |
| 291 | (insert "\n\n") | 291 | (insert "\n\n") |
| 292 | (forward-char -1)) | 292 | (forward-char -1)) |
| 293 | (save-excursion | ||
| 294 | (goto-char (point-max)) | ||
| 295 | (skip-chars-backward " \n\t") | ||
| 296 | (when (bobp) | ||
| 297 | (insert ";;; -*- mode: emacs-lisp; lexical-binding:t -*-\n"))) | ||
| 293 | (insert ";;; Mode settings stored by Calc on " (current-time-string) "\n") | 298 | (insert ";;; Mode settings stored by Calc on " (current-time-string) "\n") |
| 294 | (let ((list calc-mode-var-list)) | 299 | (pcase-dolist (`(,v ,def) calc-mode-var-list) |
| 295 | (while list | 300 | (let* ((val (pop vals))) |
| 296 | (let* ((v (car (car list))) | 301 | (or (equal val def) |
| 297 | (def (nth 1 (car list))) | 302 | (pp `(setq ,v ,(macroexp-quote val)) (current-buffer))))) |
| 298 | (val (car vals))) | ||
| 299 | (or (equal val def) | ||
| 300 | (progn | ||
| 301 | (insert "(setq " (symbol-name v) " ") | ||
| 302 | (if (and (or (listp val) | ||
| 303 | (symbolp val)) | ||
| 304 | (not (memq val '(nil t)))) | ||
| 305 | (insert "'")) | ||
| 306 | (insert (prin1-to-string val) ")\n")))) | ||
| 307 | (setq list (cdr list) | ||
| 308 | vals (cdr vals)))) | ||
| 309 | (run-hooks 'calc-mode-save-hook) | 303 | (run-hooks 'calc-mode-save-hook) |
| 310 | (insert ";;; End of mode settings\n") | 304 | (insert ";;; End of mode settings\n") |
| 311 | (save-buffer) | 305 | (save-buffer) |