Taylor R. Campbell [Mon, 31 Jul 2006 18:55:43 +0000 (18:55 +0000)]
Tighten XML-CHAR-DATA? and CANONICALIZE-CHAR-DATA so that they refuse
characters or entity references not included in the XML-CHAR alphabet.
This may have a small performance cost when constructing XML trees,
and it will have to change for XML 1.1, which relaxes the restriction
on XML character data. It could have been done in the XML writer,
since the parser already checks this, but this way offers guarantees
about the validity of any XML data in Scheme, and these guarantees are
probably good things.
Chris Hanson [Sat, 29 Jul 2006 01:25:58 +0000 (01:25 +0000)]
Fix bug in parsing of booleans; they were matched but treated as
noise, causing triples containing them to be elided.
Taylor R. Campbell [Fri, 28 Jul 2006 16:23:08 +0000 (16:23 +0000)]
Add the condition of whether all characters are in the XML-CHAR
alphabet to ENCODE-STRING's decision of whether to return raw
strings or base64-encoded data.
Chris Hanson [Fri, 28 Jul 2006 04:10:54 +0000 (04:10 +0000)]
Add CALL-WITH-INPUT-STRING to indentation table.
Chris Hanson [Fri, 28 Jul 2006 04:01:11 +0000 (04:01 +0000)]
In URI->RDF-QNAME, don't use blank prefix if another is available.
Chris Hanson [Fri, 28 Jul 2006 02:54:27 +0000 (02:54 +0000)]
Fix typo in previous change. Tweak interface to export a variable
with the default prefix registry, so that it can be dynamically bound.
Chris Hanson [Thu, 27 Jul 2006 20:14:09 +0000 (20:14 +0000)]
Allow RDF prefix procedures to take an optional registry, and export a
data abstraction for registries.
Chris Hanson [Thu, 27 Jul 2006 16:50:31 +0000 (16:50 +0000)]
Update copyright dates.
Taylor R. Campbell [Thu, 27 Jul 2006 00:42:48 +0000 (00:42 +0000)]
Belatedly add paredit to the list of optional packages to install.
Chris Hanson [Thu, 27 Jul 2006 00:03:57 +0000 (00:03 +0000)]
Add missing guarantors for symbols and strings.
Chris Hanson [Thu, 27 Jul 2006 00:00:13 +0000 (00:00 +0000)]
Implement FOR-ALL-CHARS-IN-STRING? and FOR-ANY-CHAR-IN-STRING?.
Chris Hanson [Wed, 26 Jul 2006 19:10:33 +0000 (19:10 +0000)]
Change LOAD so that nested loads use environment of enclosing load as
target. Previously they used the nearest REPL environment.
(Non-nested loads retain the old behavior.)
Chris Hanson [Wed, 26 Jul 2006 19:04:41 +0000 (19:04 +0000)]
Allow LOAD in expander environment to take optional target
environment.
Taylor R. Campbell [Tue, 25 Jul 2006 18:21:44 +0000 (18:21 +0000)]
Change string encoding so that base64-encoded strings are properly
wrapped in `base64' elements, and so that non-base64-encoded strings
are not wrapped in superfluous `string' elements.
Taylor R. Campbell [Thu, 20 Jul 2006 17:09:44 +0000 (17:09 +0000)]
Move STACK-TRACE from mod_lisp server to the run-time system.
Chris Hanson [Sat, 8 Jul 2006 00:24:09 +0000 (00:24 +0000)]
Make sure that base URI is absolute.
Taylor R. Campbell [Mon, 3 Jul 2006 19:41:23 +0000 (19:41 +0000)]
Change SAVE-EXCURSION and SCREEN-WINDOW-CONFIGURATION to make
right-inserting copies of the point, rather than left-inserting.
This way, insertion of text at point inside the SAVE-EXCURSION region
will have no effect on the original point.
Change SAVE-EXCURSION to select the original buffer after the
supplied thunk returns.
Remove PAREDIT-SAVE-EXCURSION, whose functionality is now subsumed by
the new SAVE-EXCURSION.
Taylor R. Campbell [Mon, 3 Jul 2006 19:28:03 +0000 (19:28 +0000)]
Update copyright years.
Taylor R. Campbell [Mon, 3 Jul 2006 19:05:02 +0000 (19:05 +0000)]
Implement PARSE-STATE-START-OF-SEXP and PARSE-STATE-END-OF-SEXP
properly in Edwin's partial S-expression parser. This fixes a long-
standing bug in paredit whereby character deletion in strings that
were the first elements of lists would cause segmentation faults.
Taylor R. Campbell [Tue, 27 Jun 2006 18:43:59 +0000 (18:43 +0000)]
Call UNDO-RECORD-POINT! before modifications in `paredit-splice-sexp'
and `paredit-split-sexp' commands, so that their undoing works as
expected.
Taylor R. Campbell [Tue, 27 Jun 2006 18:39:45 +0000 (18:39 +0000)]
Implement paredit-split-sexp (M-S) and paredit-join-sexps (M-J).
Taylor R. Campbell [Mon, 26 Jun 2006 16:16:18 +0000 (16:16 +0000)]
Add entries for diff.scm and paredit.scm to ed-ffi.scm.
Chris Hanson [Fri, 23 Jun 2006 19:35:26 +0000 (19:35 +0000)]
Export CANONICALIZE-RDF-URI.
Chris Hanson [Fri, 23 Jun 2006 18:50:03 +0000 (18:50 +0000)]
Register qname prefixes when reading file.
Chris Hanson [Fri, 23 Jun 2006 18:49:30 +0000 (18:49 +0000)]
Add support for RDF qnames.
Chris Hanson [Fri, 23 Jun 2006 18:49:17 +0000 (18:49 +0000)]
Add entry for "turtle.scm".
Chris Hanson [Fri, 23 Jun 2006 17:20:30 +0000 (17:20 +0000)]
Export qname matchers for use in rdf-struct.
Chris Hanson [Thu, 22 Jun 2006 19:17:29 +0000 (19:17 +0000)]
Export procedures to write the elements of a triple.
Chris Hanson [Thu, 22 Jun 2006 18:35:27 +0000 (18:35 +0000)]
Add unparser for RDF literals.
Chris Hanson [Thu, 22 Jun 2006 15:17:50 +0000 (15:17 +0000)]
Change INTERN and INTERN-SOFT to accept UTF-8 strings.
Chris Hanson [Thu, 22 Jun 2006 04:48:33 +0000 (04:48 +0000)]
Implement RDF-LITERAL=?.
Chris Hanson [Wed, 21 Jun 2006 13:45:52 +0000 (13:45 +0000)]
Handle atom delimiters specially when they are the first character
after "#\".
Chris Hanson [Wed, 21 Jun 2006 03:00:11 +0000 (03:00 +0000)]
Define CALL-WITH-INPUT-STRING, since I keep assuming it's there.
Chris Hanson [Wed, 21 Jun 2006 02:57:28 +0000 (02:57 +0000)]
Eliminate overly-restrictive error tests from character syntax.
Chris Hanson [Mon, 19 Jun 2006 18:03:24 +0000 (18:03 +0000)]
Fixed references to unbound variable.
Chris Hanson [Mon, 19 Jun 2006 18:02:55 +0000 (18:02 +0000)]
Fixed references to unbound variable.
Chris Hanson [Mon, 19 Jun 2006 18:02:28 +0000 (18:02 +0000)]
Eliminate compiler warning.
Taylor R. Campbell [Fri, 16 Jun 2006 19:02:27 +0000 (19:02 +0000)]
New Edwin library Paredit.
Taylor R. Campbell [Fri, 16 Jun 2006 18:35:45 +0000 (18:35 +0000)]
Move diff.scm to proper alphabetical location in syntaxed filename list.
Taylor R. Campbell [Fri, 16 Jun 2006 18:33:21 +0000 (18:33 +0000)]
Fix Edwin command DIFF-BACKUP for case wherein selected buffer has no
associated file.
Taylor R. Campbell [Fri, 16 Jun 2006 17:55:27 +0000 (17:55 +0000)]
Implement Unix diff(1) front end.
New Edwin variables:
diff-program
New Edwin commands:
diff (compare two files)
diff-backup (compare buffer's file with its most recent backup)
diff-buffer-with-file (compare buffer with its underlying file)
diff-auto-save (compare buffer with its auto-save file)
Chris Hanson [Wed, 14 Jun 2006 04:26:50 +0000 (04:26 +0000)]
Start adding SRFI-1 documentation.
Taylor R. Campbell [Mon, 12 Jun 2006 20:46:28 +0000 (20:46 +0000)]
Implement two kinds of filtering in Edwin's simple news reader:
filtering out messages that match criteria, such as spam; and
filtering headers of kept messages.
See the documentation strings for the new Edwin variables
NEWS-HEADER-FILTER and NEWS-KEPT-HEADERS. New procedures
NEWS-HEADER-SPLITTING-FILTER and NEWS-HEADER-REGEXP-FILTER are useful
for constructing the value of NEWS-HEADER-FILTER. For example,
I have this in my .edwin, so that any messages with xref headers
whose values contain `gmane.spam.detected' on any Gmane news servers
will be ignored:
(add-event-receiver! (ref-variable news-group-mode-hook)
(let ((gmane-spam-filter
(news-header-regexp-filter
'(("xref" . ".*gmane\\.spam\\.detected.*")))))
(lambda (buffer)
(if (string-prefix? "gmane." (buffer-name buffer))
(local-set-variable! news-header-filter
gmane-spam-filter
buffer)))))
Chris Hanson [Mon, 12 Jun 2006 17:53:14 +0000 (17:53 +0000)]
Finish integrating SRFI-1 support.
Chris Hanson [Mon, 12 Jun 2006 05:07:18 +0000 (05:07 +0000)]
Make some changes in preparation for integration of SRFI-1 support:
. Some of the (simpler) new procedures have been installed verbatim
from John Kraemer's edit of Olin's implementation. Some others were
rewritten, but many others have yet to be installed.
. The mapping procedures have been extended to accept arguments of
different lengths (as required).
. MEMBER and ASSOC have been extended to take an extra optional
argument (as required).
. REDUCE has been changed to have the SRFI-1 semantics. This means
that (REDUCE CONS '() '(A B C)) now returns
(c b . a)
where it used to return
((a . b) . c)
This is an incompatible change; hopefully it won't be too painful
for the users.
. FOLD-RIGHT has been extended to support multiple list arguments.
. FOLD-LEFT remains unchanged but is now considered obsolete; SRFI-1
provides FOLD instead, with different semantics.
Additionally, the definition of WEAK-LIST? was wrong and has been
fixed.
Chris Hanson [Mon, 12 Jun 2006 04:19:43 +0000 (04:19 +0000)]
Change or eliminate some calls to REDUCE and FOLD-LEFT that might
cause trouble with the SRFI-1 definitions.
Chris Hanson [Sun, 11 Jun 2006 03:06:23 +0000 (03:06 +0000)]
Fix typo in previous change.
Chris Hanson [Sun, 11 Jun 2006 03:04:17 +0000 (03:04 +0000)]
Repaginate.
Chris Hanson [Sun, 11 Jun 2006 03:03:22 +0000 (03:03 +0000)]
Generate sensible error message when GET-HOST-BY-NAME returns #F.
Chris Hanson [Sat, 10 Jun 2006 15:06:07 +0000 (15:06 +0000)]
Delete unused statements from previous change.
Chris Hanson [Sat, 10 Jun 2006 06:12:26 +0000 (06:12 +0000)]
Fix copyright date.
Chris Hanson [Sat, 10 Jun 2006 06:09:37 +0000 (06:09 +0000)]
Previous change wasn't quite right. Some more tweaking seems to help.
Chris Hanson [Sat, 10 Jun 2006 05:38:02 +0000 (05:38 +0000)]
Add missing datarootdir definition needed by newer versions of
autoconf.
Chris Hanson [Sat, 10 Jun 2006 05:24:54 +0000 (05:24 +0000)]
Fix copyright dates on changed files.
Chris Hanson [Sat, 10 Jun 2006 04:45:30 +0000 (04:45 +0000)]
Remove obsolete file.
Chris Hanson [Sat, 10 Jun 2006 04:43:09 +0000 (04:43 +0000)]
Add parsing support for RDF/Turtle.
Chris Hanson [Sat, 10 Jun 2006 04:17:51 +0000 (04:17 +0000)]
Tweak DIRECTORY-LISTING-BEFORE-FILENAME-REGEXP to add support for
VC-Dired mode.
Chris Hanson [Sat, 10 Jun 2006 04:12:32 +0000 (04:12 +0000)]
Implement ERROR macros.
Chris Hanson [Sat, 10 Jun 2006 04:06:47 +0000 (04:06 +0000)]
Implement PARSER-BUFFER-ERROR.
Chris Hanson [Sat, 10 Jun 2006 03:52:00 +0000 (03:52 +0000)]
Implement WRITE-RDF/NT-FILE.
Michael R. Blair [Mon, 5 Jun 2006 18:09:38 +0000 (18:09 +0000)]
Rationalized the order of clauses in `Display()' to better reflect
the order following `Switch_by_GC_Type()' in "gccode.h".
Michael R. Blair [Mon, 5 Jun 2006 17:57:43 +0000 (17:57 +0000)]
Just shoot me now. FIXNUMs should continue to appear as signed data.
Michael R. Blair [Mon, 5 Jun 2006 17:28:10 +0000 (17:28 +0000)]
Oops. UNSIGNED_FIXNUM_TO_LONG() should be FIXNUM_TO_ULONG().
Scheme 7.6 didn't have that so I misled myself into confusion.
Michael R. Blair [Mon, 5 Jun 2006 17:02:25 +0000 (17:02 +0000)]
I was sick of seeing negative values in high memory due to sign bit.
The only signed longs here are the `gc_death' code (so says "gccode.h")
and the `Points_To' cast of FIXNUMs (since cannot determine sign).
Michael R. Blair [Mon, 5 Jun 2006 15:04:20 +0000 (15:04 +0000)]
Debugging tools (both for debugging `ppband' and the heap image).
Michael R. Blair [Mon, 5 Jun 2006 14:29:12 +0000 (14:29 +0000)]
Generally improved output formatting. More info is better than less.
1. Split hi/lo for easier visual parsing into words.
2. Modest string tweaks (like "0x" prefix for hex).
3. Boundary separators for ease of `grep' to next section.
4. `Datum = ...' everywhere. More info is useful in general.
Michael R. Blair [Mon, 5 Jun 2006 13:08:08 +0000 (13:08 +0000)]
Display TC_LIST as ``PAIR'' as per comment in "sdata.h".
Michael R. Blair [Mon, 5 Jun 2006 13:02:51 +0000 (13:02 +0000)]
Handle recognized constants specially (like UNSPECIFIC and EMPTY_LIST).
Michael R. Blair [Mon, 5 Jun 2006 11:35:14 +0000 (11:35 +0000)]
Display `C_Code_Table' if non-zero (not unlike the Primitive_Table).
Michael R. Blair [Mon, 5 Jun 2006 11:03:43 +0000 (11:03 +0000)]
Add a usage string to `main()' so folks can see how to invoke it.
Clean up the scratch area allocation and truncation (document same).
Michael R. Blair [Mon, 5 Jun 2006 09:51:07 +0000 (09:51 +0000)]
Fixed bit-rotted `show_area's count-based MANIFEST_CLOSURE botchery,
broken `break'-embedding macrology (got whacked in ver.9.46) and such:
0. Include "storage.c" for `Type_Names' and "gctype.c" goodies.
1. Fixed dropped high-order bit on addr & datum hex print (6-bit type).
2. Explicit (not embedded) `break's after (NON_)POINTER() macro calls.
3. Made `TC_NULL' & `TC_TRUE' print less misleadingly when not #T/#F.
4. Patched MANIFEST_CLOSUREs, STACK_ENVIRONMENTs & LINKAGE_SECTIONs as:
5. Area-based display a la "uxtrap.c" using GC macros is much cleaner
(despite the odd redefinition of `MANIFEST_CLOSURE_END()' ver.1.31).
6. Fixed bogus `Next' update for `Const_Count' non-zero (fix end addr).
Michael R. Blair [Mon, 5 Jun 2006 09:49:02 +0000 (09:49 +0000)]
Added "storage.c" to list of dependencies needed for "ppband.c".
Moved "load.c" to list of dependencies since `#include'd, not linked.
Fixed ill-formed mode line in passing (sigh).
Michael R. Blair [Sat, 3 Jun 2006 08:10:10 +0000 (08:10 +0000)]
Resurrect the `ppband' fasdump/band parser and heap pretty-print tool.
This tool is very useful for perusing the heap (think GC debugging).
I'm not its original author but I am its most loyal fan!
Stay tuned for more clean up before giving it a spin. For those who
just cannot wait, try: ./ppband < runtime.com > /usr/tmp/runtime.txt
Michael R. Blair [Sat, 3 Jun 2006 08:05:20 +0000 (08:05 +0000)]
This is a minimal resurrection of a handy, though bit-rotted, old tool.
Subsequent patches make it more palatable and likely to be maintained.
Stay tuned for more clean up before giving it a spin. I've staged the
commits so successive versions can be built and tinkered with rather
than doing one massive re-write than cannot be easily factored out.
Fixed some compiler warnings:
Defer to "scheme.h" for deprecated `fast' and several other niceties.
Added missing `#include <stdlib.h>' (for `malloc()',`free()',`exit()').
Removed obsolete static `memory_base' global ("load.c" no longer uses).
Removed obsolete static `string_buffer[10]' global (no longer used).
Fixed `main()' return type to canonical `int' (and made it return so).
Initialized uninitialized `Next' ptr to `((SCHEME_OBJECT *) NULL)'.
Appeased `sscanf()' by passing constant strings, not string literals.
Michael R. Blair [Sat, 3 Jun 2006 08:00:15 +0000 (08:00 +0000)]
Fixed some compiler warnings:
1. Added missing `#include "outf.h"' directive (for `outf_error()').
2. Conditionalize `computed_checksum' decl to avoid "unused" warning.
Chris Hanson [Fri, 2 Jun 2006 14:21:32 +0000 (14:21 +0000)]
Add Ziggy's new ID.
Michael R. Blair [Fri, 2 Jun 2006 07:46:03 +0000 (07:46 +0000)]
Added (excessive) step-by-step detail on non-easy CVS bootstrapping.
Note: Please feel free to edit, clarify, and condense these added
sections to taste. The more I tried to shorten them, the
longer they became. I clearly should never touch them again.
Brief: This hopefully should alleviate some of the pain in building
MIT/GNU Scheme for the first time from CVS sources on a system
that may or may not already have a compatible MIT/GNU Scheme
installed or for which there may or may not exist a compatible
binary release one can simple download and install and run.
Excerpts:
These more detailed build instructions cover the case where no binary
release corresponding to the CVS sources runs successfully on your
system or none can be installed in the usual system-wide location(s).
...
In short, to transition a pristine checked out CVS source tree
installation from the ``maintainer-clean'' CVS build state into the
``distribution'' build state, the "./Setup.sh" uses MIT/GNU Scheme
itself to grovel over the Scheme sources to build up Scheme system
file dependencies and other distribution-specific configuration data.
...
Naturally, this results in a bit of a chicken-and-egg puzzle.
Michael R. Blair [Fri, 2 Jun 2006 07:00:07 +0000 (07:00 +0000)]
For backward compatibility, if new `call-with-output-string' is not
defined, try using the old `with-string-output-port' name instead.
In short, 7.7 defines a backward-compatible package alias but 7.6 does
not define a forward-compatible anticipatory alias (obviously).
This is needed when, say, building 7.7 CVS sources using release 7.6
installed binaries as a bootstrap Scheme: the new "makegen.scm" uses
the new name but old bootstrap "runtime"s may define only the old name.
This patch, coupled with the ${SCHEME_LARGE} and ${SCHEME_COMPILER}
generalizations of the `*.sh' build scripts, make it possible to call
"src/Setup.sh" to transition a CVS source directory to a "distribution"
state without first having the CVS Scheme installed to bootstrap. This
consequently avoids a particularly subtle chicken-and-egg puzzle.
A forthcoming update to "src/README.txt" spells out the details.
Michael R. Blair [Fri, 2 Jun 2006 06:50:11 +0000 (06:50 +0000)]
Replace non-backward-compatible `--eval' null input w/ shell echo pipe.
Specifically, double dashes are preferred in env var default values
but they should be avoided in explicit command lines since they die
when the bootstrap ${SCHEME_COMPILER} predates the double dash syntax.
This really just substitutes one hack for another but at least it now
works for release 7.6 as well as 7.7 (so you can now build the latter
from CVS using the former to bootstrap from 7.6 into 7.7).
Michael R. Blair [Fri, 2 Jun 2006 06:37:44 +0000 (06:37 +0000)]
Replace hard-wired "scheme" calls with retargetable defaulted env vars.
Use GNU standard double-dashed switch args by default in release 7.7+.
This forces you to rebind the env var if building w/ pre-7.7 bootstrap,
which is good: it makes you be explicit about mis-matched bootstraps.
A forthcoming update to "src/README.txt" spells out the details.
Michael R. Blair [Fri, 2 Jun 2006 03:06:56 +0000 (03:06 +0000)]
Suppress <mcrypt.h> & <mhash.h> includes when files are not present.
This avoids "makegen.scm" spewing syntactic crud (error/failure
messages) into "Makefile.deps" (and thus "Makefile.in" & "Makefile")
during the invocation of "./Setup.sh" by virtue of "prmcrypt" and
"prmhash" appearing in "makegen/files-optional.scm".
Note how "prmd5.c" is already nicely conditionalized on `HAVE_MD5_H'.
Chris Hanson [Wed, 31 May 2006 01:19:39 +0000 (01:19 +0000)]
Fix typo in previous change.
Chris Hanson [Wed, 31 May 2006 01:18:36 +0000 (01:18 +0000)]
Prevent error visiting svn-managed file when "svn" not installed.
Chris Hanson [Mon, 22 May 2006 05:34:55 +0000 (05:34 +0000)]
Fix parsing of dired lines to work with other locales.
Chris Hanson [Tue, 16 May 2006 16:59:35 +0000 (16:59 +0000)]
Fix examples of MAKE-CLASS and DEFINE-CLASS so that the implicit
generic-procedure definitions are made explicit.
Chris Hanson [Mon, 15 May 2006 02:43:54 +0000 (02:43 +0000)]
Bump copyright dates.
Taylor R. Campbell [Mon, 15 May 2006 01:50:40 +0000 (01:50 +0000)]
Implement OS/NEWEST-BACKUP for Unix.
This should probably be implemented for DOS some day, but I'm not a DOS
hacker, and I need this only for a diff front end, which won't run on
DOS anyway.
Taylor R. Campbell [Sun, 30 Apr 2006 04:11:38 +0000 (04:11 +0000)]
Expand the startup message on how to get help to include the tutorial
key, and clarify the meaning of `C-h'.
Chris Hanson [Sun, 30 Apr 2006 01:43:55 +0000 (01:43 +0000)]
Fix bug: wrong number of tags was being stored in cache when variadic
generic procedure had a method with more than the minimum number of
arguments and was called with that number of arguments. (Thanks to
Zev Benjamin for finding this.)
Chris Hanson [Sat, 29 Apr 2006 01:29:56 +0000 (01:29 +0000)]
Allow variable names to contain colons in "Edwin Variables:" section.
Chris Hanson [Mon, 24 Apr 2006 01:12:12 +0000 (01:12 +0000)]
Fix bug: use of RUN-SHELL-COMMAND in SVN support wasn't working when
filename had spaces in it. Instead use RUN-SYNCHRONOUS-SUBPROCESS.
Chris Hanson [Fri, 14 Apr 2006 18:33:51 +0000 (18:33 +0000)]
Require user to specify version string as sole argument.
Chris Hanson [Sat, 8 Apr 2006 03:07:48 +0000 (03:07 +0000)]
Enable large-file support.
Chris Hanson [Sat, 8 Apr 2006 03:07:26 +0000 (03:07 +0000)]
Enable large-file support.
Chris Hanson [Sat, 11 Mar 2006 04:15:45 +0000 (04:15 +0000)]
Fix compiler warning from nested declaration.
Chris Hanson [Sat, 11 Mar 2006 04:13:10 +0000 (04:13 +0000)]
Fix compiler warnings from newer version of libmhash.
Chris Hanson [Fri, 10 Mar 2006 01:46:26 +0000 (01:46 +0000)]
Don't bother making URIs work with FASDUMP/FASLOAD -- doing so breaks
interning. Fixing this is relatively hard.
Chris Hanson [Thu, 9 Mar 2006 19:30:05 +0000 (19:30 +0000)]
Change URI data structures to be usable with fasdump and fasload.
Chris Hanson [Thu, 9 Mar 2006 19:20:58 +0000 (19:20 +0000)]
Use SIMPLE-UNPARSER-METHOD.
Chris Hanson [Thu, 9 Mar 2006 19:18:34 +0000 (19:18 +0000)]
Implement support for parsing #[...] syntax. Currently this works for
pathnames and URIs.