since it's sometimes used to test to see which pages in a set of pages a
user can edit.
-### cansave
-
- hook(type => "cansave", id => "foo", call => \&cansave);
-
-This hook can be used to implement arbitrary access methods to control
-when a page being edited can be saved using the web interface (commits
-from revision control bypass it).
-
-When a page is about to be saved, each registered cansave hook is
-called in turn, and passed the page name, the edited content, a CGI
-object and a session object.
-
-The return value of a cansave hook is interpreted the same as for the
-canedit hook.
-
### canremove
hook(type => "canremove", id => "foo", call => \&canremove);
additional parameters: `author`, `url`, and `subject`. The `subject`
parameter may also be filled with the user's comment about the change.
-Note: When the user edits an existing wiki page, the passed `content` will
-include only the lines that they added to the page, or modified.
+Note: When the user edits an existing wiki page, this hook is also
+passed a `diff` named parameter, which will include only the lines
+that they added to the page, or modified.
The hook should return `undef` on success. If the content is disallowed, it
should return a message stating what the problem is, or a function
Logs a debugging message. These are supressed unless verbose mode is turned
on.
-#### `warning($)`
-
-Logs a warning message.
-
#### `error($;$)`
Aborts with an error message. If the second parameter is passed, it is a