Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Lars Andersen
@expez
I'm guessing we have to provide the reader with the cljs aliases too. It seems weird though, as it's only going to skip that form
Arne Brasseur
@plexus
would it be interesting to add support for marking :require forms with metadata as being purely for side-effects, i.e. should not be cleaned up by clean-ns?
e.g.
(ns foo.bar
  (:require [clojure.set]
            ^:keep foo.with-side-effects))
I know there's support now for configuring patterns of namespace names to be left alone, but IMO having it like this in the namespace is sometimes preferrable, and it serves as documentation to other devs
Lars Andersen
@expez
@plexus Yeah, having both would be nice. Especially for namespaces like user.clj where you often require things without using them all the time
Arne Brasseur
@plexus
Alright, took some digging into how the namespace is read and written out again, but I've managed to get it working and submitted a PR
Lars Andersen
@expez
Awesome @plexus!
So sorry you had to touch the pprint code. It's an atrocious mess :(
Arne Brasseur
@plexus
that wasn't too bad :) figuring out how the ns form was getting read and transformed was a bit more tricky, but the CIDER debugger was a great help
Lars Andersen
@expez
yeah the debugger is a boon :)
Benedek Fazekas
@benedekfazekas
@expez, @magnars fyi i plan to cut a long overdue cljr release soonish (in april lets say). afaik #175 was a blocker but it is not anymore. also want to solve #169 most likely by forking alembic to be able to upgrade its dynapath dependency. that is the only thing in my list pre release. also i am off the grid more ore less until 25th april so this is an early and hopefully fair warning... ;)
Lars Andersen
@expez
Sure @benedekfazekas, we've been talking about cutting a release forever, but there always seems to pop up new stuff to fix first :p
I agree that it's long overdue, though
Julien Fantin
@julienfantin
Hi folks!
Was looking into #195 yesterday for a little bit and had a couple questions
First of all, is mranderson a requirement for dev? I gave up on it after 20min, lein cleaned and just jacked into the project and everything seemed to work but I'm wondering if I could get into weird situations doing that?
Secondly, something came up with the cljs analyzer pretty quickly: most nodes src positions only contain line and column, it seems only a few have end line and end column, so all the node-at-loc? logic kinda falls apart
Julien Fantin
@julienfantin
IIRC today is david nolen's cljs day so I'll be on slack asking him if the cljs analyzer can be configured to do attach those tags, but in case it cannot I'm not sure if we could do without them somehow, or if we should work on adding that data to the tree?
Julien Fantin
@julienfantin
^cc @benedekfazekas @expez
Lars Andersen
@expez
@julienfantin Sorry, been afk for a week due to home computer being on the fritz
@julienfantin mranderson isn't required for dev, it's only used to avoid conflicts when packaging the artifact for clojars
@julienfantin I tihnk end-line and line will always be the same. and you can probably calculate end-columnwhen it doesn't exist
It would just be start + the length of the symbol as it occurs in the file
Benedek Fazekas
@benedekfazekas
as much as i understand end-line and end-column are the coordinates where the form in question ends
most of the cases they will end in the same line where they started but not always.
Julien Fantin
@julienfantin
I think for top-level forms it's a bit more tricky since they're more likely to span multiple lines.
One thing I need to check is whether the state of the form on file can be retrieved from the ast, e.g. if a form has trailing parens on individual lines, my guess is the ast will normalize that code to pr-str version of it, hence obfuscating the actual number of lines the form takes up on file
david nolen mentionned that there's no particular reason why that data is missing from the ast and that it should be added, so that's also an option...
Benedek Fazekas
@benedekfazekas
hm.. as far as i remember this info comes from the reader more precisely clojure.tools.reader.reader-types/indexing-push-back-reader
Lars Andersen
@expez
You want to hold off on dropping s.el for 2.3.0 @benedekfazekas?
Benedek Fazekas
@benedekfazekas
don't wanna rush it or introduce regressions
as there are plenty of things in 2.3.0 already
any reasons it should rather go into 2.3.0?
i deffo want to include clojure-emacs/refactor-nrepl#169 tho
and might have a quick look on some smaller issues (no definite list yet)
Lars Andersen
@expez
Aight
Sounds good
Julien Fantin
@julienfantin
The cljs analysis story is a bit bumpy, I just managed to get end-line and end-column into the env but that requires a patch to the cljs analyzer as well as a patch to jvm.tools.analyzer to use the indexing reader, will try to submit those.
Though we could do without jvm.tools.analyzer entirely since it's only using a single function to analyze-ns which is 15 lines
Benedek Fazekas
@benedekfazekas
hm... if there is no real added value perhaps not using it is the better option
Jon Pither
@jonpither
hi all
Clean namespace declaration keeps removing stuff from here that I need: (:import [com.google.protobuf Descriptors Descriptors$Descriptor Descriptors$FileDescriptor Descriptors$FieldDescriptor$JavaType]
java.util.Base64)
in particular Descriptors$Descriptor Descriptors$FileDescriptor
Lars Andersen
@expez
Yeah, this is a known bug :/
Jon Pither
@jonpither
cool
thanks
Benedek Fazekas
@benedekfazekas
pushed a fix for this. currently waiting for travis to wake up (perhaps the github outage affecting them?!). after a succ travis build will push a new version of the snapshot build to clojars
Lars Andersen
@expez
@benedekfazekas We ready for 2.3.1?
Great work lately ! :+1: