]> git.eshelyaron.com Git - emacs.git/commitdiff
(ses-unload-function): New function.
authorJuanma Barranquero <lekktu@gmail.com>
Tue, 30 Oct 2007 00:21:42 +0000 (00:21 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Tue, 30 Oct 2007 00:21:42 +0000 (00:21 +0000)
lisp/ses.el

index 3f904fde0d21150c2230193257247ccf781ee947..2b6b452500e0a18eae0b0eaac2307a5ab6838865 100644 (file)
@@ -2908,7 +2908,7 @@ TEST is evaluated."
 ;;----------------------------------------------------------------------------
 
 ;;These functions use the variables 'row' and 'col' that are
-;;dynamically bound by ses-print-cell.  We define these varables at
+;;dynamically bound by ses-print-cell.  We define these variables at
 ;;compile-time to make the compiler happy.
 (eval-when-compile
   (dolist (x '(row col))
@@ -2967,6 +2967,19 @@ current column and continues until the next nonblank column."
 (dolist (x (cons 'ses-unsafe ses-standard-printer-functions))
   (put x 'side-effect-free t))
 
+(defun ses-unload-function ()
+  "Unload the Simple Emacs Spreadsheet."
+  (dolist (fun '(copy-region-as-kill yank))
+    (ad-remove-advice fun 'around (intern (concat "ses-" (symbol-name fun))))
+    (ad-update fun))
+  (save-current-buffer
+    (dolist (buf (buffer-list))
+      (set-buffer buf)
+      (when (eq major-mode 'ses-mode)
+       (funcall (or default-major-mode 'fundamental-mode)))))
+  ;; continue standard unloading
+  nil)
+
 (provide 'ses)
 
 ;; arch-tag: 88c1ccf0-4293-4824-8c5d-0757b52217f3