= sage-mode =
== Description ==
sage-mode provides Emacs Lisp that helps you use Sage in GNU Emacs.
== License ==
Copyright (C) 2007, 2008, 2009, 2010, 2011 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
* Bitbucket mercurial repository: [[http://bitbucket.org/ncalexan/sage-mode]]
== Dependencies ==
* sage
* GNU Emacs (with a current python.el)
== Special Update/Build Instructions ==
[[attachment:sage-mode-0.7.spkg]]
Use {{{sage -f sage-mode-0.7.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.7 (Nick Alexander, 2011-10-07) ===
* Fix a bug reported by Ivan Andrus regarding font-lock and
triple-quoted strings.
* sage-mode is now hosted on bitbucket for easy viewing and cloning:
browse to [[http://bitbucket.org/ncalexan/sage-mode]].
=== 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.6.spkg]]
[[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]]