Function: strokes-prompt-user-save-strokes
strokes-prompt-user-save-strokes is an interactive and byte-compiled
function defined in strokes.el.gz.
Signature
(strokes-prompt-user-save-strokes)
Documentation
Save user-defined strokes to file named by strokes-file.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/strokes.el.gz
(defun strokes-prompt-user-save-strokes ()
"Save user-defined strokes to file named by `strokes-file'."
(interactive)
(save-excursion
(let ((current strokes-global-map))
(unwind-protect
(progn
(setq strokes-global-map nil)
(strokes-load-user-strokes)
(if (and (not (equal current strokes-global-map))
(or (called-interactively-p 'interactive)
(yes-or-no-p "Save your strokes? ")))
(progn
(require 'pp) ; pretty-print variables
(message "Saving strokes in %s..." strokes-file)
(get-buffer-create "*saved-strokes*")
(set-buffer "*saved-strokes*")
(erase-buffer)
(emacs-lisp-mode)
(goto-char (point-min))
(insert
";; -*- emacs-lisp -*-\n")
(insert (format ";;; saved strokes for %s, as of %s\n\n"
(user-full-name)
(format-time-string "%B %e, %Y" nil)))
(message "Saving strokes in %s..." strokes-file)
(insert (format "(setq strokes-global-map\n'%s)"
(pp current)))
(message "Saving strokes in %s..." strokes-file)
(indent-region (point-min) (point-max) nil)
(write-region (point-min)
(point-max)
strokes-file))
(message "(no changes need to be saved)")))
;; protected
(if (get-buffer "*saved-strokes*")
(kill-buffer (get-buffer "*saved-strokes*")))
(setq strokes-global-map current)))))