X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=elisp%2Flilypond-what-beat.el;h=3f11b843c1c34154bfce6fd57757471b63d57d21;hb=dba880a1cff16f6c000b9cef39e012c79a264b22;hp=dae02d53d23f6f5bb1c6cff35e643abe56fd0f8f;hpb=a9866cda4bfaa7c12a118131ed94e837f0f3a536;p=lilypond.git diff --git a/elisp/lilypond-what-beat.el b/elisp/lilypond-what-beat.el index dae02d53d2..3f11b843c1 100644 --- a/elisp/lilypond-what-beat.el +++ b/elisp/lilypond-what-beat.el @@ -92,18 +92,15 @@ )) (defun walk-note-duration () -"Returns duration of next note, moving point past note. + "Returns duration of next note, moving point past note. If point is not before a note, returns nil If next note has no duration, returns t" - (if (not (looking-at pitch-regex)) - nil - (progn + (let ((have-pitch (looking-at pitch-regex))) + (if have-pitch (goto-char (match-end 0))) + (if (not (looking-at duration-regex)) + have-pitch (goto-char (match-end 0)) - (if (not (looking-at duration-regex)) - t - (progn - (goto-char (match-end 0)) - (parse-duration (match-string 0))))))) + (parse-duration (match-string 0))))) ; returns nil if not at a comment (defun skip-comment () @@ -161,7 +158,7 @@ If next note has no duration, returns t" (skip-quotation) (skip-sexp))) ; Now skip anything that isn't alphanum or \. And skip comments or quotations - (while (or (< 0 (skip-chars-forward "^A-Za-z<%}#=\"")) + (while (or (< 0 (skip-chars-forward "^A-Za-z1-9<%}#=\"")) (skip-comment) (skip-quotation) (skip-sexp)))