i3 - improved tiling WM


Bugfix: do not require string param for `nop` cmd

Patch status: needinfo

Patch by Tony Crisci

Long description:

"nop" conventionally means "no operation". The old implementation
required a string param and threw an error when not present, which is
not intuitive.

fixes #1318

To apply this patch, use:
curl http://cr.i3wm.org/patch/643/raw.patch | git am

b/include/commands.h

21
@@ -73,10 +73,10 @@ void cmd_resize(I3_CMD, char *way, char *direction, char *resize_px, char *resiz
22
 void cmd_border(I3_CMD, char *border_style_str, char *border_width);
23
 
24
 /**
25
- * Implementation of 'nop <comment>'.
26
+ * Implementation of 'nop'.
27
  *
28
  */
29
-void cmd_nop(I3_CMD, char *comment);
30
+void cmd_nop(I3_CMD);
31
 
32
 /**
33
  * Implementation of 'append_layout <path>'.

b/parser-specs/commands.spec

38
@@ -335,8 +335,8 @@ state MODE:
39
       -> call cmd_mode($mode)
40
 
41
 state NOP:
42
-  comment = string
43
-      -> call cmd_nop($comment)
44
+    end
45
+      -> call cmd_nop()
46
 
47
 state SCRATCHPAD:
48
   'show'

b/src/commands.c

53
@@ -884,13 +884,11 @@ void cmd_border(I3_CMD, char *border_style_str, char *border_width) {
54
 }
55
 
56
 /*
57
- * Implementation of 'nop <comment>'.
58
+ * Implementation of 'nop'.
59
  *
60
  */
61
-void cmd_nop(I3_CMD, char *comment) {
62
-    LOG("-------------------------------------------------\n");
63
-    LOG("  NOP: %s\n", comment);
64
-    LOG("-------------------------------------------------\n");
65
+void cmd_nop(I3_CMD) {
66
+    // nop
67
 }
68
 
69
 /*

b/testcases/t/187-commands-parser.t

74
@@ -68,10 +68,10 @@ is(parser_calls(
75
    "cmd_move_con_to_workspace_name(3: foobar, baz)",
76
    'move ok');
77
 
78
-is(parser_calls('move workspace 3: foobar, nop foo'),
79
+is(parser_calls('move workspace 3: foobar, nop'),
80
    "cmd_move_con_to_workspace_name(3: foobar)\n" .
81
-   "cmd_nop(foo)",
82
-   'multiple ops (move workspace 3: foobar, nop foo) ok');
83
+   "cmd_nop()",
84
+   'multiple ops (move workspace 3: foobar, nop) ok');
85
 
86
 is(parser_calls(
87
    'exec i3-sensible-terminal; ' .