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)))))