= sage-mode = == Description == sage-mode provides Emacs Lisp that helps you use Sage in GNU Emacs. '''Warning!''' This is alpha code. This might fail horribly and is not (yet) easily customizable! == License == Copyright (C) 2007, 2008, 2009 Nick Alexander Author: Nick Alexander sage-mode is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. sage-mode is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with sage-mode; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. == SPKG Maintainers == * Nick Alexander == Upstream Contact == * Author: Nick Alexander == Dependencies == * sage * GNU Emacs (with a current python.el) == Special Update/Build Instructions == [[attachment:sage-mode-0.6.spkg]] Use {{{sage -f sage-mode-0.6.spkg}}}. The following installation instructions are suggested: A basic install might include the following Emacs Lisp in your .emacs: {{{ (add-to-list 'load-path (expand-file-name "$SAGE_DATA/emacs")) (require 'sage "sage") (setq sage-command "$SAGE_ROOT/sage") ;; If you want sage-view to typeset all your output and have plot() ;; commands inline, uncomment the following line and configure sage-view: ;; (require 'sage-view "sage-view") ;; (add-hook 'sage-startup-hook 'sage-view) ;; You can use commands like ;; (add-hook 'sage-startup-hook 'sage-view ;; 'sage-view-disable-inline-output 'sage-view-disable-inline-plots) ;; to have some combination of features. In future, the customize interface ;; will make this simpler... hint, hint! }}} == Changelog == === sage-mode-0.6 (Nick Alexander, 2009-05-11) === * `sage-run' no longer waits for a sage: prompt by default. This can cause problems if `sage-startup-after-prompt-hook' is non-trivial, but doesn't lock up emacs busy waiting for the prompt. * `sage-send-doctest' now works with multiline tests and one line function definitions. * `sage-rerun' now exits from the debugger if it sees the debugger prompt, and `sage-build' with a prefix argument (build and run sage) should no longer hang. * `pyrex-mode' is now autoload-ed and the default for pyx, pxi, and pxd files. * `next-error' now jumps between top-level errors, avoiding lower level source files. Lower level source files are still hyperlinked. * `sage-test' with a prefix argument now offers to test without rebuilding. * Now `sage-send-doctest' and `sage-send-region' are bound in *Help* buffer. * `sage-send-{buffer, region doctest}' now either automatically (`sage-quit-debugger-automatically') or after a prompt quit the debugger before sending input to the sage slave. * In the debugger, very short history items are not remembered. (No more looping through u/d in the history.) * *sage-test* buffers now search for test status rather than relying on the exit codes that incorrectly say tests failed all the time. * SPKG.txt and spkg-install now print paths in the install instructions. * C-u RET no longer sends input to the sage slave with output to *sage-output*. Use `sage-move-output-to-buffer' instead, or `comint-write-output' to save to a file. === sage-mode-0.5.4 (Nick Alexander, 2009-03-13) === * Fixed errors in `sage-build' and `sage-test' autoloads; made sage-mode.el provide 'sage-mode. === sage-mode-0.5.3 (Nick Alexander, 2009-03-12) === * Updated `sage-view' to new version. * Completely reworked keymaps and added preliminary menus. * Completely reworked customize interface and added autoload interface through `sage.el' and autogenerated `sage-load.el'. * Added some documentation and additional customization options. === sage-mode-0.5.2 (Nick Alexander, 2009-02-19) === * Made individual parts of `sage-view' toggleable, fixed bugs with plots and multiple outputs. === sage-mode-0.5.1 (Nick Alexander, 2009-02-11) === * Added `sage-startup-hook' and made `sage-view' actually usable. === sage-mode-0.5 (Nick Alexander, 2009-01-31) === * Incorporated Matthias Meulien's sage-view.el. To enable, try sage-view or (add-hook 'inferior-sage-mode-hook 'sage-view). * Added sage-rerun to restart sage and made C-u C-c C-b (sage-build with a prefix argument) build and restart sage. === sage-mode-0.4 (Nick Alexander, 2008-06-16) === I honestly can't remember. === sage-mode-0.3 (Nick Alexander, 2008-06-15) === Add sage-build command. Make sage-default-test-* more robust, and add `sage-send-all-doctest-lines-in-file'. * sage-build.el: new module for building (sage-build) and running (sage-build with prefix argument) sage. * sage-test.el (sage-send-all-doctest-lines): new function. Runs all sage: doctest lines in a file in sequence. Use with pdb to reproduce errors found only after sage -t. * sage-test.el (sage-default-test-command, sage-default-test-new-command): cleaned up to use sage-build. === sage-mode-0.2 (Nick Alexander, 2008-06-14) === First alpha version, for Mike Hansen to use and test. === sage-mode-0.1 (Nick Alexander) === First internal version. == Old versions == [[attachment:sage-mode-0.5.4.spkg]] [[attachment:sage-mode-0.5.2.spkg]] [[attachment:sage-mode-0.5.1.spkg]] [[attachment:sage-mode-0.5.spkg]] [[attachment:sage-mode-0.4.spkg]] [[attachment:sage-mode-0.3.1.spkg]] [[attachment:sage-mode-0.3.spkg]] [[attachment:sage-mode-0.2.spkg]] == Original version == This version was from Sage Days 4. [[attachment:sage-mode.el]] [[attachment:pyrex-mode.el]] The following files need to go into sage/misc. [[attachment:sage_emacs.py]] [[attachment:xreload.py]] [[attachment:sagetest.py]]