View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000179 | LDMud | Efuns | public | 2004-11-26 21:21 | 2004-11-26 21:21 |
Reporter | Assigned To | ||||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | new | Resolution | open | ||
Summary | 0000179: Give ed a programmatic interface | ||||
Description | Short: ed ideas From: Matthew Julius <julius.2@wright.edu> Date: Fri, 08 Jan 1999 16:29:08 -0500 Type: Feature State: Unclassified Something else from the MudOS CHANGELOG, * added a new interface for ed(), which is used if OLD_ED is not defined in options.h . Three new efuns replace ed(): string ed_start(string | void, int | void) - start a new ed session on file file. ed_start(foo, 1) means use restricted mode. Only one ed session may be started per object. string ed_cmd(string) - send the command line to ed int query_ed_mode() - returns: 0 - the current object is at a normal ed prompt (':') -1 - the current object isn't in ed -2 - the current object is at the more prompt in the middle of help >0 - the object is at a prompt for a line. The number is the line number. . The string result of ed_cmd() and ed_start() is the output that would have been sent to the user . The mudlib is responsible for setting the user's prompt (see query_ed_mode()) This is the right idea, but I really dislike the MudOS interface efuns. If compatibility is desired, however, I can't really object much. Particularly, my problem is with query_ed_mode(), which I think should return 0 if the object is not in the editor. Also, problems exist if it's desired to have the ed prompt print the current line number. This looks to be impossible using query_ed_mode(). The -2 value, being in the middle of ed help, should be put into ed_cmd(). If ed_cmd() returned the help as a string the mudlib could determine how to display it--which is nice for users that have more than 20 lines on their screen. Like I said, these additions to ed() are the right idea, but the wrong implementation. | ||||
Tags | No tags attached. | ||||
External Data (URL) | |||||