Introduction
Introduction Statistics Contact Development Disclaimer Help
Added the -f (nofifo) flag. - sam - An updated version of the sam text editor.
git clone git://vernunftzentrum.de/sam.git
Log
Files
Refs
LICENSE
---
commit 7fe90573b44dd33db678d2f45ac5a2c6626d6c9d
parent 5f62ec15765ff967a22f32a79cccdb49350fcf3e
Author: Rob King <[email protected]>
Date: Fri, 27 May 2016 13:46:15 -0500
Added the -f (nofifo) flag.
Diffstat:
doc/sam.1 | 22 ++++++++++++++++++++++
sam/sam.c | 11 ++++++++---
samterm/main.c | 7 ++++++-
samterm/unix.c | 5 +++++
4 files changed, 41 insertions(+), 4 deletions(-)
---
diff --git a/doc/sam.1 b/doc/sam.1
@@ -8,6 +8,7 @@
.Nm
.Op Fl d
.Op Fl e
+.Op Fl f
.Op Fl t Ar terminal
.Ar
.Nm
@@ -43,6 +44,19 @@ Editing will be done with the command language only, as in
Expand tabs to spaces during editing.
Literal tabs may still be inserted using the character composition functionali…
.Sx "Composed Text Input" "."
+.It Fl f
+Do not create or take ownership of the external command FIFO
+.Po
+see
+.Sx "Controlling running instances of sam"
+.Pc "."
+The
+.Nm B
+command will not communicate with this instance of
+.Nm sam "."
+This flag is useful for running
+.Dq "one-off"
+instances of sam.
.It Fl r Ar machine
Run the host part remotely on the specified machine, the terminal part locally…
.Nm
@@ -861,6 +875,14 @@ to load the named files; the default is the most-recently …
.Pp
.Nm B
may also be called on a remote machine, causing the downloaded instance of sam…
+.Pp
+Note that
+.Nm B
+will only communicate with the most-recently-run instance of
+.Nm sam ","
+but see the
+.Fl f
+option above.
.Ss Composed Text Input
.Nm sam
allows the input of arbitrary Unicode characters from the Basic Multilingual P…
diff --git a/sam/sam.c b/sam/sam.c
@@ -35,7 +35,8 @@ Rune baddir[] = { '<', 'b', 'a', 'd', 'd', 'i', 'r', '…
void usage(void);
-int main(int argc, char *argv[])
+int
+main(int argc, char *argv[])
{
int i, o;
String *t;
@@ -45,12 +46,16 @@ int main(int argc, char *argv[])
ap = &arg[argc];
arg[0] = "samterm";
- while ((o = getopt(argc, argv, "edRr:t:s:")) != -1){
+ while ((o = getopt(argc, argv, "efdRr:t:s:")) != -1){
switch (o){
case 'e':
arg[targc++] = "-e";
break;
+ case 'f':
+ arg[targc++] = "-f";
+ break;
+
case 'd':
dflag = 1;
break;
@@ -119,7 +124,7 @@ int main(int argc, char *argv[])
void
usage(void)
{
- dprint("usage: sam [-r machine] [-d] [-e] [-t samterm] [-s samname] FI…
+ dprint("usage: sam [-r machine] [-d] [-f] [-e] [-t samterm] [-s samnam…
exits("usage");
}
diff --git a/samterm/main.c b/samterm/main.c
@@ -26,6 +26,7 @@ char hasunlocked = 0;
int expandtabs = 0;
int chord = 0;
char *machine = "localhost";
+int nofifo = 0;
#ifndef LINEUP
#define LINEUP 0x00
@@ -52,7 +53,7 @@ main(int argc, char *argv[])
Flayer *nwhich;
int fwdbut;
- while ((opt = getopt(argc, argv, "er:")) != -1){
+ while ((opt = getopt(argc, argv, "efr:")) != -1){
switch (opt){
case 'r':
machine = optarg;
@@ -61,6 +62,10 @@ main(int argc, char *argv[])
case 'e':
expandtabs = 1;
break;
+
+ case 'f':
+ nofifo = 1;
+ break;
}
}
diff --git a/samterm/unix.c b/samterm/unix.c
@@ -25,6 +25,8 @@ static char *fallbacks[] = {
NULL
};
+extern int nofifo;
+
void
getscreen(int argc, char **argv)
{
@@ -82,6 +84,9 @@ removeextern(void)
void
extstart(void)
{
+ if (nofifo)
+ return;
+
#ifndef NOFIFO
extern char *machine;
char *disp;
You are viewing proxied material from vernunftzentrum.de. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.