On 10/24/07, Nils Bruin <[EMAIL PROTECTED]> wrote: > I understand that the "bg=" hack is a quick way of getting the > configurability you want, but frankly, I would find it hard to explain > the existence of that option independent of the very particular usage > scenario you describe.
To you, since you don't use it, it is a "very particular usage scenario". To me it is the normal very common (for me at least) usage scenario. > Jf we want sage to pop up "the appropriate editor", the user should > not be required to give an extra option like that. I certainly don't propose that they have to give the extra option. It is optional. There should still be the default proposal you implemented. edit(.., bg=None) does the default edit(..., bg=True) does the background = True mode, edit(..., bg = False) does the background = False mode. > In the model I > proposed (which clearly is inconvenient to you, so we need to see how > to wrap this), the solution would be to put into your init.sage > (basically following a suggestion Justin made): > > if os.environ.haskey('DISPLAY'): > sage.misc.edit_module.set_edit_template('emacs +${line} ${file} > &') > else: > sage.misc.edit_module.set_edit_template('emacs +${line} ${file}') > > So, if you're sure that this does for emacs what you want, we could I'm sure that does *not* do what I want. When I login to my laptop under Linux the DISPLAY environment variable is not even set, yet emacs pops up in a window. When I login remotely to another machine (or my laptop, from OS X), it can easily be that DISPLAY is not set. I also have a similar issue with my office desktop, which I use both remotely and when I'm actually in my office at the console. > wrap this into the set_editor command instead of the "bg=" option. > Then the appropriate magic gets executed if either 'EDITOR=emacs' or > if set_editor('emacs'), and currently even if edit(.., > editor='emacs'). > > Guessing a user's configuration and preferences will stay hackish > guesswork. I'm happy to put some guesses into set_editor. Ultimately, > however, people should just put personal configuration stuff into > init.sage. (either that or every user patches sage.misc.edit_module ^^^^^^^^^ That doesn't work for me, since in my usage the init.sage is the same in both cases, and I often switch between both usage scenarios. > Another solution would be two possible "editor templates": emacs-fg > and emacs-bg. I just want to type sage: edit(name) and have it work. If it happens to be that a window pops up, and will say to myself -- gee, I need this to be backgrounded so I can type command still, and I'll instead do sage; edit(name, bg=True). Anyway, I can't see the problem with having that option, and your only argument against it is that "it is difficult to explain in the documentation". -- William > > On Oct 23, 11:03 pm, "William Stein" <[EMAIL PROTECTED]> wrote: > > On 10/22/07, Nils Bruin <[EMAIL PROTECTED]> wrote: > > > > > See: > > > > >http://sagetrac.org/sage_trac/ticket/768 > > > > > I have updated the attached patch to be clean against 2.8.8.1. When I > > > checked the edit() command in sage 2.8.8.1, I realized it was really > > > broken -- It doesn't work if EDITOR is unset in the environment. The > > > patch attached to the trac ticket is supposed to fix that. > > > > I'm generally happy with this patch, though I don't agree with removing > > the bg option. Perhaps you're removing that functionality because > > your particular workflow is more rigid than mine. For example, I use > > emacs quite a lot, both in a console (especially when I login to other > > machines), but also as a popup separate application. When I use emacs > > in console mode, putting the editor in the background is very frusting, > > and doesn't work at all. When I use emacs as a separate popup application, > > it > > is very very frustrating if the console session freezes, since often the > > reason > > I'm popping up the editor is to create some examples in the console and > > paste them into the docstring of a function. In both cases the command > > name is exactly the same "emacs". > > > > So please change the patch back to have the bg option. > > > > This is a lot like black on white versus white on black. Most people > > exclusively > > use one or the other mode, and it's impossible to know which from the > > application's point of view. So applications have to support both and > > make > > it easy to switch between generating colors for each. I often switch > > between > > using emacs and vi, both in window and console mode, and between black > > on white and white on black, depending on my mood, eye strain, computing > > I'm logged into, etc. So it needs to be easy to support changing modes. > > The bg= option to edit is 3 lines of code and does just that; it allows one > > to > > very easily override automatic defaults on a per-use basis. > > > > -- William > > > > > -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---