lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Simplify define-markup-[list-]command-internal, (issue 545590045 by addr


From: hanwenn
Subject: Simplify define-markup-[list-]command-internal, (issue 545590045 by address@hidden)
Date: Sun, 16 Feb 2020 12:37:34 -0800

Reviewers: dak,

Message:
David, this goes on top of https://codereview.appspot.com/555300043/

maybe I am missing something, but the regtest completes successfully.
Why did you add this stuff?

Description:
Simplify define-markup-[list-]command-internal,

This reverts additions made in commit
d2199b0163c33bcb7504c87e57eefbea93e08c88 "Issue 5167/3: Split off
`markup-lambda' from `define-markup-command'"

In this commit, extra support for the case where command-and-args is
empty was added, ie.

  -  (let* ((command (car command-and-args))
  -         (args (cdr command-and-args))
  +  (let* ((command (if (pair? command-and-args)
  +                      (car command-and-args)
  +                      command-and-args))
  +         (args (and (pair? command-and-args) (cdr command-and-args)))

However, markup commands are functions that are always called with
arguments 'layout' and 'props', so there can never be a case that
'args' would be empty.

Please review this at https://codereview.appspot.com/545590045/

Affected files (+9, -18 lines):
  M scm/markup-macros.scm


Index: scm/markup-macros.scm
diff --git a/scm/markup-macros.scm b/scm/markup-macros.scm
index 
f71bc52747281fb0387f2f64b36f47cf583559aa..70882f05ea86d37224f5b467cd7fab096b7ce822
 100644
--- a/scm/markup-macros.scm
+++ b/scm/markup-macros.scm
@@ -96,15 +96,10 @@ that this markup command is called by the newly defined 
command,
 adding its properties to the documented properties of the new
 command.  There is no protection against circular definitions.
 "
-  (let* ((command (if (pair? command-and-args)
-                      (car command-and-args)
-                      command-and-args))
-         (args (and (pair? command-and-args) (cdr command-and-args))))
-    (if args
-        `(,define-markup-command-internal
-           ',command (markup-lambda ,args ,@definition) #f)
-        `(,define-markup-command-internal
-           ',command ,@definition #f))))
+  (let* ((command (car command-and-args))
+         (args (cdr command-and-args)))
+    `(,define-markup-command-internal
+       ',command (markup-lambda ,args ,@definition) #f)))
 
 (defmacro*-public markup-lambda
   (args signature
@@ -157,15 +152,11 @@ not registering the markup command, this is identical to
   (command-and-args . definition)
   "Same as `define-markup-command', but defines a command that, when
 interpreted, returns a list of stencils instead of a single one"
-  (let* ((command (if (pair? command-and-args)
-                      (car command-and-args)
-                      command-and-args))
-         (args (and (pair? command-and-args) (cdr command-and-args))))
-    (if args
-        `(,define-markup-command-internal
-           ',command (markup-list-lambda ,args ,@definition) #t)
-        `(,define-markup-command-internal
-           ',command ,@definition #t))))
+  (let* ((command (car command-and-args))
+         (args (cdr command-and-args)))
+    `(,define-markup-command-internal
+       ',command (markup-list-lambda ,args ,@definition) #t)))
+
 
 (define (define-markup-command-internal command definition is-list)
   (let* ((suffix (if is-list "-list" ""))





reply via email to

[Prev in Thread] Current Thread [Next in Thread]