(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`.
This commit is contained in:
parent
e0c7b6e31e
commit
9dfd4c6bd3
1 changed files with 9 additions and 15 deletions
|
@ -290,22 +290,16 @@
|
|||
(goto-char (point-max))
|
||||
(insert "\n\n")
|
||||
(forward-char -1))
|
||||
(save-excursion
|
||||
(goto-char (point-max))
|
||||
(skip-chars-backward " \n\t")
|
||||
(when (bobp)
|
||||
(insert ";;; -*- mode: emacs-lisp; lexical-binding:t -*-\n")))
|
||||
(insert ";;; Mode settings stored by Calc on " (current-time-string) "\n")
|
||||
(let ((list calc-mode-var-list))
|
||||
(while list
|
||||
(let* ((v (car (car list)))
|
||||
(def (nth 1 (car list)))
|
||||
(val (car vals)))
|
||||
(or (equal val def)
|
||||
(progn
|
||||
(insert "(setq " (symbol-name v) " ")
|
||||
(if (and (or (listp val)
|
||||
(symbolp val))
|
||||
(not (memq val '(nil t))))
|
||||
(insert "'"))
|
||||
(insert (prin1-to-string val) ")\n"))))
|
||||
(setq list (cdr list)
|
||||
vals (cdr vals))))
|
||||
(pcase-dolist (`(,v ,def) calc-mode-var-list)
|
||||
(let* ((val (pop vals)))
|
||||
(or (equal val def)
|
||||
(pp `(setq ,v ,(macroexp-quote val)) (current-buffer)))))
|
||||
(run-hooks 'calc-mode-save-hook)
|
||||
(insert ";;; End of mode settings\n")
|
||||
(save-buffer)
|
||||
|
|
Loading…
Add table
Reference in a new issue