| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
restrictTo: fix for restricting a newtype with a record field.
|
|
|
|
| |
Make restrictCons take into account record field names too (removing a ToDo).
|
|
|
|
|
|
|
|
|
|
| |
mkExportItems fix & simplification: we should be looking at the actual
exported names (calculated earlier) to figure out which subordinates
of a declaration are exported.
This means that if you export a record, and name its fields separately
in the export list, the fields will still be visible in the
documentation for the constructor.
|
|
|
|
|
|
|
|
| |
getReExports was bogus: we should really look in the import_env to
find the documentation for an entity which we are re-exporting without
documentation.
Suggested by: Ross Paterson (patch modified by me).
|
|
|
|
| |
Make Haddock link with the latest relocated monad transformer package
|
|
|
|
|
| |
Fix for previous commit: I now realise why the whitespace was stripped
from the beginning of the line. Work around it.
|
|
|
|
| |
Don't throw away whitespace at the beginning of a line (experimental fix).
|
|
|
|
| |
Fix bug in index generation
|
|
|
|
|
|
| |
Fix some of the problems with Haddock generating pages that are too
wide. Now we only specify 'nowrap' when it is necessary to avoid a
code box getting squashed up by the text to the right of it.
|
|
|
|
| |
2002 -> 2003
|
|
|
|
|
|
|
|
|
| |
Go back to producing just the documentation section, rather than just
the synopsis section, for a module with no documentation annotations.
One reason is that the synopsis section tries to link each entity to
its documentation on the same page. Also, the doc section anchors
each entity, and it lists instances which the synopsis doesn't.
|
|
|
|
| |
copyright update
|
|
|
|
| |
getReExports: one error case that isn't
|
|
|
|
|
| |
Fix for getReExports: take into account names which are not visible
because they are re-exported from a different package.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Re-exporting names from a different package is problematic, because we
don't have access to the full documentation for the entity. Currently
Haddock just ignores entities with no documentation, but this results
in bogus-looking empty documentation for many of the modules in the
haskell98 package. So:
- the documentation will now just list the name, as a link
pointing to the location of the actual documentation.
- now we don't attempt to link to these re-exported entities if
they are referred to by the current module.
Additionally:
- If there is no documentation in the current module, include
just the Synopsis section (rather than just the documentation
section, as it was before). This just looks nicer and was on
the TODO list.
|
|
|
|
|
|
|
|
|
| |
- Include the OptHide setting in the interface, so we don't include
hidden modules in the combined index/contents.
- Add a -k/--package flag to set the package name for the current set
of modules. The package name for each module is now shown in the
right-hand column of the contents, in a combined contents page.
|
|
|
|
|
| |
Remove the 'Parent' button - it is of dubious use, and often points
into thin air.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add definition lists, marked up like this:
-- | This is a definition list:
--
-- [@foo@] The description of @foo@.
--
-- [@bar@] The description of @bar@.
Cunningly, the [] characters are not treated specially unless a [ is
found at the beginning of a paragraph, in which case the ] becomes
special in the following text.
- Add --use-contents and --gen-contents, along the lines of
--use-index and --gen-index added yesterday. Now we can generate a
combined index and contents for the whole of the hierarchical
libraries, and in theory the index/contents on the system could
be updated as new packages are added.
|
|
|
|
|
|
|
| |
Include iface_reexported in the .haddock file. This unfortunately
bloats the file (40% for base). If this gets to be a problem we can
always apply the dictionary trick that GHC uses for squashing .hi
files.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support for generating a single unified index for several packages.
--use-index=URL turns off normal index generation, causes Index
links to point to URL.
--gen-index generates an combined index from the specified
interfaces.
Currently doesn't work exactly right, because the interfaces don't
contain the iface_reexported info. I'll need to fix that up.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Index overhaul:
- no more separate type/class and variable/function indices
- the index now makes a distinction between different entities
with the same name. One example is a type constructor with
the same name as a data constructor, but another example is
simply a function with the same name exported by two different
modules. For example, the index entry for 'catch' now looks like
this:
catch
1 (Function) Control.Exception
2 (Function) GHC.Exception, Prelude, System.IO, System.IO.Error
making it clear that there are two different 'catch'es, but one
of them is exported by several modules.
- Each index page now has the index contents (A B C ...) at the top.
Please let me know if you really hate any of this.
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove the emboldening of index entries for defining locations.
This isn't useful, and breaks abstractions.
- If an entity is re-exported by a module but the module doesn't
include documentation for that entity (perhaps because it is
re-exported by 'module M'), then don't attempt to hyperlink to
the documentation from the index. Instead, just list that module
in the index, to indicate that the entity is exported from there.
|
|
|
|
|
|
|
|
|
| |
- Suppress warnings about unknown imported modules by default.
- Add a -v/--verbose flag to re-enable these warnings.
The general idea is to suppress the "Warning: unknown module: Prelude"
warnings which most Haddock users will see every time, and which
aren't terribly useful.
|
|
|
|
|
| |
Remove the last of the uses of 'trace' to emit warnings, and tidy up a
couple of places where duplicate warnings were being emitted.
|
|
|
|
| |
support for i-parameters + zip comprehensions
|
|
|
|
|
|
|
| |
Haddock's supplementary HTML bits now live in $(datadir), not
$(libdir).
Patch contributed by: Ian Lynagh <igloo@earth.li>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Made -D a short option for --dump-interface.
* Made -m a short option for --ms-help.
* Made -n a short option for --no-implicit-prelude.
* Made -c a short option for --css.
* Removed DocBook options from executable (they didn't do anything),
but mark them as reserved in the docs. Note that the short option
for DocBook output is now -S (from SGML) instead of -d. The latter
is now a short option for --debug.
* The order of the Options in the documentation now matches the order
printed by Haddock itself.
Note: Although changing the names of options is often a bad idea, I'd
really like to make the options for the programs in fptools more
consistent and compatible to the ones used in common GNU programs.
|
|
|
|
| |
Make it *very* clear that we terminate when given a -V/--version flag
|
|
|
|
|
|
|
|
|
| |
Made option handling a bit more consistent with other tools, in
particular: Every program in fptools should output
* version info on stdout and terminate successfully when -V or --version
* usage info on stdout and terminate successfully when -? or --help
* usage info on stderr and terminate unsuccessfully when an unknown option
is given.
|
|
|
|
| |
Further wibbles to the syntax.
|
|
|
|
| |
Fixes to the new lexer.
|
|
|
|
| |
Lex the 'mdo' keyword as 'do'.
|
|
|
|
| |
Convert the lexer to Alex, and fix a bug in the process.
|
|
|
|
|
|
| |
I'm not sure why, but it seems that the index entries for non-defining
occurrences of entities did not have an anchor - the link just pointed
to the module. This fixes it.
|
|
|
|
| |
Don't print parentheses around one-element contexts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename instances based on the import_env for the module in which they
are to be displayed. This should give, in many cases, better links
for the types and classes mentioned in the instance head.
This involves keeping around the import_env in the iface until the
end, because instances are not collected up until all the modules have
been processed. Fortunately it doesn't seem to affect performance
much.
Instance heads are now attached to ExportDecls, rather than the HTML
backend passing around a separate mapping for instances. This is a
cleanup.
|
|
|
|
|
|
| |
Pay attention to import specs when building the the import env, as
well as the orig env. This may fix some wrong links in documentation
when import specs are being used.
|
|
|
|
| |
Make it compile with GHC >= 6.01
|
|
|
|
| |
Update to avoid using hslibs with GHC >= 5.04
|
|
|
|
|
|
| |
When a module A exports another module's contents via 'module B', then
modules which import entities from B re-exported by A should link to
B.foo rather than A.foo. See examples/Bug2.hs.
|
|
|
|
|
| |
Differentiate links to types/classes from links to
variables/constructors with a prefix ("t:" and "v:" respectively).
|
|
|
|
|
|
| |
Two small fixes to make the output valid HTML 4.01 (transitional).
Thanks to Malcolm Wallace for pointing out the problems.
|
|
|
|
| |
oops, drop test defn from prev commit
|
|
|
|
| |
cygpath: for now, steer clear of --mixed
|
|
|
|
| |
Only omit the module contents when there are no section headings at all.
|
|
|
|
|
| |
Don't turn a single DocCodeBlock into a DocMonospaced, because that
tends to remove the line breaks in the code.
|
|
|
|
|
| |
Catch another case of a paragraph containing just a DocMonospaced that
should turn into a DocCodeBlock.
|
|
|
|
|
|
|
|
| |
When installing on Windows, run cygpath over $(HADDOCKLIB) so that
haddock (a mingw program, built by GHC) can understand it.
You still need to be in a cygwin environment to run Haddock, because
of the shell script wrapper.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An 80% solution to generating derived instances. A complete solution
would duplicate the instance inference logic, but if a type variable
occurs as a constructor argument, then we can just propagate the derived
class to the variable. But we know nothing of the constraints on any
type variables that occur elsewhere. For example, the declarations
data Either a b = Left a | Right b deriving (Eq, Ord)
data Ptr a = Ptr Addr# deriving (Eq, Ord)
newtype IORef a = IORef (STRef RealWorld a) deriving Eq
yield the instances
(Eq a, Eq b) => Eq (Either a b)
(Ord a, Ord b) => Ord (Either a b)
Eq (Ptr a)
Ord (Ptr a)
(??? a) => Eq (IORef a)
The last example shows the limits of this local analysis.
Note that a type variable may be in both categories: then we know a
constraint, but there may be more, or a stronger constraint, e.g.
data Tree a = Node a [Tree a] deriving Eq
yields
(Eq a, ??? a) => Eq (Tree a)
|
|
|
|
| |
Escape fragments. This fixes e.g. links to operators.
|