| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
The V2.17.0 definition of ly_module_lookup in module-scheme.cc uses two
functions, scm_sym2var and scm_module_lookup_closure, which issue
deprecation warnings in Guile V2.06. A call to the new Guile API function,
scm_module_variable, provides the functionality for both deprecated
routines, but has not been back-ported to Guile V1.8.
This patch adds a conditionally-compiled block when running with a Guile
version < V2.0, so that Guile V1 will not use the deprecated scm_ calls
in ly_module_lookup, and Guile V2 will use API call scm_module_variable.
|
|
|
|
|
|
| |
results of the following searches were checked manually:
grep -rE -e 'const( +[a-zA-Z0-9_]*)? *, *$' .
grep -rE -e 'const( +[a-zA-Z0-9_]*)?( *,[^;]+)?\) *(const|= *0)? *;' .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The file stencil-integral.cc provides a suite of functions that
traverse a stencil and do linear approximations of its components.
These are then turned into boxes that are passed to the Skyline
constructor. This approximation is used for several vertical skylines
including those of VerticalAxisGroup and System. As a result of these
more accurate approximations, vertical spacing is more snug between
grobs.
Additionally, in axis-group-interface.cc, skylines of grobs are no
longer compared to a monolithic axis-group skyline but rather all
of the component skylines of the axis-group, allowing grobs to
be fit under other ones if there is space instead of always shifted over.
Two new python scripts allow to visualize the position of skylines.
All other changes provide functions that allow for better debugging
of Skylines, better approximations of grobs via skylines, and changes
to the measurement of distance between grobs via the new Skyline API.
This results in a significant time increase in score compilation for
objects with complex skylines such as all text grobs. For orchestral
scores, the increase is not as steep.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the requirement of having a GNUmakefile
in each and every directory of the source tree; this commit
also deletes GNUmakefiles made unnecessary this way.
dist-toplevel-txt-files toplevel target is also removed,
because it is unneeded outside of dist target and it
prevents linking of toplevel generated txt docs to
distdir when these docs are already generated.
In addition, on suggestions from Han-Wen, if dist is made with a
source directory tracked by Git, then
* the source directory is required to have no uncommitted changes nor
non-ignored untracked files,
* the time stamp of all files in the tarball is set to the time stamp
of the head of the checked-out branch.
|
| |
|
| |
|
|
|
|
|
|
| |
Replaces do{ ... } while(flip (&d) != DOWN/UP/... with a macro for(DOWN_and_UP/UP_and_DOWN/....) { }
Signed-off-by: David Kastrup <dak@gnu.org>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
"According the ANSI/ISO Standard, the use of access declarations
is considered deprecated. Instead, you should use a using
declaration for that purpose"
http://www.devx.com/tips/Tip/5707
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang++ complains about this, and we never rely on the default
comparison in our code.
/home/gperciva/src/lilypond/flower/include/std-vector.hh:197:36:
error: 'T' does
not refer to a value
Compare less = less<T> (),
^
/home/gperciva/src/lilypond/flower/include/std-vector.hh:193:19:
note: declared
here
template<typename T, typename Compare>
^
/home/gperciva/src/lilypond/flower/include/std-vector.hh:197:40:
error:
expected expression
Compare less = less<T> (),
|
|
|
|
|
|
|
|
| |
/home/gperciva/src/lilypond/flower/file-cookie.cc:45:50: error: implicit
conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long')
[-Werror,-Wsign-conversion]
return Memory_out_stream::writer (file, buf, i);
~~~~~~~~~~~~~~~~~ ^
|
| |
|
| |
|
|
|
|
|
|
|
| |
Most of the remaining warnings are about vsize -> int casting,
where I'll have to find a proper solution (we don't want to cast
all appearances of vsize to int explicitly, but rather use vsize
wherever possible).
|
|
|
|
| |
This finally makes that option apply to ALL warnings, and it considerably cleans up the error/warning functions.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a file contains (ly:expect-warning ....), the corresponding warning
string will be added to a list of expected warnings. If the corresponding
warning (or erro) is triggered, it will not be printed to stderr, but the
string will be removed from the list. So, each ly:expect-warning, suppresses
exactly one occurrence of the warning. To suppress a warning multiple times,
call ly:expect-warning multiple times.
After one file is processed, the list of expected warnings is checked.
If it is not empty, it means that an expected warning was not triggered,
which might be a bug. So we print out a warning message about this fact.
This allows the regtests to check proper warning messages, without
polluting the console output with those warning messages.
All warnings that are actually printed in the regtests are a bug.
For translated error message, there are two approaches: If the warning
is created from scheme, simply use
(ly:expect-warning (_ "msg with ~a") "args")
If the message is triggered from C++, the translated string is in printf
syntax, so we need to translate that and then convert it into a format
string for Scheme. This can be done with the new function
ly:translate-cpp-warning-scheme instead of _:
(ly:expect-warning (ly:translate-cpp-warning-scheme "msg with %s") "args")
This patch does not yet adapt all regtests that are supposed to print warnings
to this new approach. This will follow in a separate patch.
|
|
|
|
|
|
|
| |
-) Add basic_progress function
-) use it for 'Processing xxx.ly...' message
-) new ly:basic-progress
-) get rid of the success function, use basic_progress instead
|
|
|
|
|
|
|
|
|
|
| |
Finds the local minimum or maximum of a Bezier curve along the X
axis in the range of an intersection and shifts intersecting
curves up over this range plus slur padding.
Adds default slur padding to all scripts, as this algorithm makes
them almost just touch with the slur whereas the previous one already
had a bit of padding built into it because it was a generous approximation.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-) Some "unused parameter" warnings
-) Some "ignoring return value" are a bit trickier. They are bad coding style:
o) the file-name.cc one returns a string with undefined contents if getcwd
fails, which might either crash guile or lead to other bugs.
o) the lily-parser-scheme.cc warning was also a programming error (if you
used --output=dir/file, and dir/ had the wrong permissions, then
lilypond would not print an error, but simply put the output file into
the current directory without telling the user!).
In this case (output dir explicitly requested, but not possible
to change there), I think it's best to exit lilypond with an
error.
-) signed/unsigned warning in glissando-engraver.cc, where we already
had a check for negative values, so explicitly casting to unsigned
shuts up the compiler.
-) Remove unneccessary #(set-paper-size "a6") in the regtests
-) fix bad texinfo code in function documentation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--loglevel=NONE/ERROR/WARN/BASIC/PROGRESS/DEBUG
Allow the user to specify which messages (s)he wants to see on stderr:
The lilypond code basically stays the same, I only added a loglevel
global variable, which is used in the warning/error*/progress*/success
functions (ly:warning, ly:error, etc. in Scheme). If the proper level
is not set for a message, it is not printed.
There are only some larger changes:
-) Global var be_verbose_global replaced by loglevel (in warn.cc, accessor
is_loglevel(...); much finer-grained)
-) New functions debug_output, which replaces code like:
if (be_verbose_global) {
progress_indication (...)
}
-) Move all scheme log functions to warn-scheme.cc
-) Add (optional) source location info to warning/error/log messages
All changes were done to warn.cc and to the member of the Input class
(apparently, we have two parallel error-reporting "frameworks" in
lilypond...).
Note for all functions in warn.cc (not for the members of Input):
The debug_output function (and progress_indication and message) have
an optional argument to specify whether the output of the message
should always start on a new line or continue the previous output.
All functions of the Input class now are just a front-end for the functions
in warn.cc
Documentation for this new feature is still missing (both in the AU
as well as in the CG).
|
|
|
|
|
|
|
|
|
|
|
| |
Apologies for the inconvenience in patch handling, but getting
this done at once will cause less long-term problems than trying
to do this piecemeal.
Note for future git historians: this patch was created by running
scripts/auxiliar/fixcc.py \
$(find flower lily -name '*cc' -o -name '*hh' | grep -v /out)
with astyle 2.02 installed. No manual changes were made.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The macro "classname" defined in flower/include/virtual-methods.hh is
never used. If it is removed then the function demangle_classname will
never be referenced, and hence file flower/rtti.cc can be removed.
I am assuming that they have not been added by someone who intends to use
them in future.
|
| |
|
|
|
|
| |
This has been tested with g++ 4.5.0 (20100722).
|
|
|
|
| |
scm_str2symbol with scm_from_locale_symbol, scm_symbol2_string with scm_to_locale_symbol, also scm_num2int, scm_int2num, scm_num2double
|
|
|
|
|
|
|
| |
The outside-staff simulation in f530eeb5bba has severe problems
when there many outside-staff objects per bar. This patch
mitigates the problems by assuming that outside-staff objects
don't intersect with each other (but only with the staff).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old code confuses various style programs, including our own
fixcc.py (it produces un-compilable code!). In particular:
-----
const Real infinity_f
= #ifdef
-----
which makes gcc unhapy.
The new format is easy for style programs to deal with, still
compiles, and is IMO just as clear anyway.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add an overloaded instance of String_convert::bin2hex optimized for
converting single bytes to hex.
* Add a new callback, ly:string-percent-encode, to be used for percent
escaping paths in textedit URIs. This does the following:
- Leave unreserved characters in textedit URIs unescaped. This
includes 0-9, A-Z, a-z, and three punctuation characters (hyphen,
underscore, and full-stop).
- Leave the forward slash (/) unescaped, since it is used as a path
delimiter.
- Escape all other characters. Don't check for a null byte, since
those likely won't sneak into a full pathname.
* Use the callback function in the PS backend.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Signed-off-by: Han-Wen Nienhuys <hanwen@xs4all.nl>
Signed-off-by: Jan Nieuwenhuizen <janneke@gnu.org>
Signed-off-by: John Mandereau <john.mandereau@gmail.com>
Signed-off-by: Graham Percival <graham@percival-music.ca>
Signed-off-by: Reinhold Kainhofer <reinhold@kainhofer.com>
Signed-off-by: Joe Neeman <joeneeman@gmail.com>
Signed-off-by: Heikki Johannes Junes <hjunes@gmail.com>
Signed-off-by: Neil Puttock <n.puttock@gmail.com>
Signed-off-by: Carl D. Sorensen <c_sorensen@byu.edu>
Signed-off-by: Mats Bengtsson <mats.bengtsson@s3.kth.se>
Signed-off-by: Werner Lemberg <wl@gnu.org>
Signed-off-by: Patrick McCarty <pnorcks@gmail.com>
Signed-off-by: Nicolas Sceaux <nicolas.sceaux@free.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes future compatibility problems, GNU packages' policy defiance
and general confusion.
Signed-off-by: Han-Wen Nienhuys <hanwen@xs4all.nl>
Signed-off-by: Jan Nieuwenhuizen <janneke@gnu.org>
Signed-off-by: John Mandereau <john.mandereau@gmail.com>
Signed-off-by: Graham Percival <graham@percival-music.ca>
Signed-off-by: Reinhold Kainhofer <reinhold@kainhofer.com>
Signed-off-by: Joe Neeman <joeneeman@gmail.com>
Signed-off-by: Heikki Johannes Junes <hjunes@gmail.com>
Signed-off-by: Neil Puttock <n.puttock@gmail.com>
Signed-off-by: Carl D. Sorensen <c_sorensen@byu.edu>
Signed-off-by: Mats Bengtsson <mats.bengtsson@s3.kth.se>
Signed-off-by: Werner Lemberg <wl@gnu.org>
Signed-off-by: Patrick McCarty <pnorcks@gmail.com>
Signed-off-by: Nicolas Sceaux <nicolas.sceaux@free.fr>
|
|
|
|
|
|
|
| |
Inside replace all, start the search for the next appearance from the
end position of the replacement, not from the end of the occurrence.
Otherwise, replace_all (&str, "\"", "\\\"") will result in an endless
loop.
|
| |
|
| |
|