Custom Query (1630 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (76 - 78 of 1630)

Ticket Resolution Summary Owner Reporter
#1711 fixed ##sys#read with -keyword-style prefix transforms bare colon into empty symbol alicemaz
Description

##sys#read recognizes prefix keywords by ignoring the leading colon and suffix keywords by consuming the trailing colon and then dropping it upon confirming it's the last token in an identifier. I added another case that adds the colon back in the prefix case if no tokens follow

the main purpose of this is to allow : from chicken.type to be used in prefix mode. presently it is a syntax error

also I fix a silly case where multiple colons would be dropped for prefix keywords, matching the suffix behavior where one is semantically meaningful and the rest go on the identifier

tested on PLATFORM=linux. code block below shows 5.2.0 behavior with prefix, patched behavior with prefix, and suffix behavior for comparison (which is unchanged between versions)

alice@bellona:~/work/misc/typetest % cat src/typetest.scm
(define prefix :pre)
(define suffix suf:)
(define canonical #:can)
(define blank :)

(define qpre :|qpre|)
(define qsuf |qsuf|:)
(define qpreblank :||)
(define qsufblank ||:)

(define triplepre :::tp)
(define triplesuf ts:::)

(: typesig fixnum)
(define typesig 1)
alice@bellona:~/work/misc/typetest % ( chicken src/typetest.scm -keyword-style prefix -check-syntax -debug 1 | grep -v '^$' > /dev/tty ) > & /dev/null
[source]
(define prefix #:pre)
(define suffix |suf:|)
(define canonical #:can)
(define blank ||)
(define qpre #:qpre)
(define qsuf |qsuf:|)
(define qpreblank #:||)
(define qsufblank :)
(define triplepre #:tp)
(define triplesuf |ts:::|)
(|| typesig fixnum)
(define typesig 1)
alice@bellona:~/work/misc/typetest % ( dev-chicken src/typetest.scm -keyword-style prefix -check-syntax -debug 1 | grep -v '^$' > /dev/tty ) > & /dev/null
[source]
(define prefix #:pre)
(define suffix |suf:|)
(define canonical #:can)
(define blank :)
(define qpre #:qpre)
(define qsuf |qsuf:|)
(define qpreblank #:||)
(define qsufblank :)
(define triplepre #:|::tp|)
(define triplesuf |ts:::|)
(: typesig fixnum)
(define typesig 1)
alice@bellona:~/work/misc/typetest % ( dev-chicken src/typetest.scm -keyword-style suffix -check-syntax -debug 1 | grep -v '^$' > /dev/tty ) > & /dev/null
[source]
(define prefix |:pre|)
(define suffix #:suf)
(define canonical #:can)
(define blank :)
(define qpre |:qpre|)
(define qsuf #:qsuf)
(define qpreblank :)
(define qsufblank #:||)
(define triplepre |:::tp|)
(define triplesuf #:|ts::|)
(: typesig fixnum)
(define typesig 1)
#1713 fixed chicken-install cache doesn't respect isolation alicemaz
Description

the directory name "chicken-install" is hardcoded in egg-environment.scm. this patch uses the name of the chicken-install binary instead, so that different versions of chicken built with PROGRAM_PREFIX or PROGRAM_SUFFIX have separate caches

different versions with different install locations but the same program names still overlap, but they would overlap in PATH anyway, so this doesn't strike me as a big deal. program prefix/suffix is intended to allow complete isolation of multiple builds tho so separating caches feels obviously correct. (in my own case, I use my distro's packaged chicken for most day-to-day work alongside a prefixed install built from git for messing with chicken itself)

the CHICKEN_EGG_CACHE env var still overrides the default cache location unconditionally, which also seems correct even if it allows multiple versions' caches to merge, since the point of env vars is to enforce something system-wide in all cases invariably

tested on platform=LINUX

#1715 fixed make -emit-inline-file always write a file alicemaz
Description

presently, -emit-inline-file will not emit a file, and will delete one if it exists, if there are no exported procedures that can be inlined. this means in a pattern where you always emit for every -unit, and always consult for every -uses, compilation will halt if a file isn't found

it's a matter of opinion what the right thing to do here is, but I'm inclined to think a file should always be emitted if the flag is passed, even it's empty, because:

  • it's consistent with how -emit-types-file behaves
  • usage of the flag indicates user intent to create the file
  • "absence of evidence isn't evidence of absence"--the existence of an empty file is an affirmative statement there is nothing to inline

note the deletion/omission behavor was added on purpose in 2010, so this isn't accidental, but I'm not sure the reasoning

tested on platform=LINUX

Note: See TracQuery for help on using queries.