hasktags icon indicating copy to clipboard operation
hasktags copied to clipboard

crashing on -x -f -

Open cheater opened this issue 1 year ago • 1 comments

  1. install hasktags from nix
  2. go to hasktags git root
  3. hasktags -x -f - src/Tags.hs
  4. crashes with hasktags: <stdout>: hPutStr: illegal operation (handle is closed)
  5. happens on all other haskell files I tested also

Full log:

!_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_NAME	hasktags
FTClass	src/Tags.hs	/^    | FTClass$/;"	cons	data:FoundThingType	line:74	language:Haskell
FTCons	src/Tags.hs	/^    | FTCons FoundThingType String$/;"	cons	data:FoundThingType	line:77	language:Haskell
FTConsAccessor	src/Tags.hs	/^    | FTConsAccessor FoundThingType String String$/;"	cons	data:FoundThingType	line:79	language:Haskell
FTConsGADT	src/Tags.hs	/^    | FTConsGADT String$/;"	cons	data:FoundThingType	line:80	language:Haskell
FTData	src/Tags.hs	/^    | FTData$/;"	cons	data:FoundThingType	line:71	language:Haskell
FTDataGADT	src/Tags.hs	/^    | FTDataGADT$/;"	cons	data:FoundThingType	line:72	language:Haskell
FTFuncImpl	src/Tags.hs	/^    | FTFuncImpl Scope$/;"	cons	data:FoundThingType	line:69	language:Haskell
FTFuncTypeDef	src/Tags.hs	/^  = FTFuncTypeDef String Scope$/;"	cons	data:FoundThingType	line:68	language:Haskell
FTInstance	src/Tags.hs	/^    | FTInstance$/;"	cons	data:FoundThingType	line:75	language:Haskell
FTModule	src/Tags.hs	/^    | FTModule$/;"	cons	data:FoundThingType	line:76	language:Haskell
FTNewtype	src/Tags.hs	/^    | FTNewtype$/;"	cons	data:FoundThingType	line:73	language:Haskell
FTOther	src/Tags.hs	/^    | FTOther$/;"	cons	data:FoundThingType	line:78	language:Haskell
FTPattern	src/Tags.hs	/^    | FTPattern$/;"	cons	data:FoundThingType	line:82	language:Haskell
FTPatternTypeDef	src/Tags.hs	/^    | FTPatternTypeDef String$/;"	cons	data:FoundThingType	line:81	language:Haskell
FTType	src/Tags.hs	/^    | FTType$/;"	cons	data:FoundThingType	line:70	language:Haskell
FileData	src/Tags.hs	/^data FileData = FileData FileName [FoundThing]$/;"	d	line:116	language:Haskell
FileData	src/Tags.hs	/^data FileData = FileData FileName [FoundThing]$/;"	cons	data:FileData	line:116	language:Haskell
FileName	src/Tags.hs	/^type FileName = String$/;"	t	line:50	language:Haskell
FoundThing	src/Tags.hs	/^data FoundThing = FoundThing FoundThingType ThingName Pos$/;"	d	line:112	language:Haskell
FoundThing	src/Tags.hs	/^data FoundThing = FoundThing FoundThingType ThingName Pos$/;"	cons	data:FoundThing	line:112	language:Haskell
FoundThingType	src/Tags.hs	/^data FoundThingType$/;"	d	line:67	language:Haskell
Pos	src/Tags.hs	/^data Pos = Pos { _fileName    :: FileName -- file name$/;"	d	line:57	language:Haskell
Pos	src/Tags.hs	/^data Pos = Pos { _fileName    :: FileName -- file name$/;"	cons	data:Pos	line:57	language:Haskell
Scope	src/Tags.hs	/^type Scope = Maybe (FoundThingType, String)$/;"	t	line:54	language:Haskell
Show FoundThingType	src/Tags.hs	/^instance Show FoundThingType where$/;"	i	line:85	language:Haskell
Tags	src/Tags.hs	/^module Tags where$/;"	m	line:6	language:Haskell
ThingName	src/Tags.hs	/^type ThingName = String$/;"	t	line:52	language:Haskell
_fileName	src/Tags.hs	/^data Pos = Pos { _fileName    :: FileName -- file name$/;"	c_a	cons:Pos.Pos	line:57	language:Haskell
_lineContent	src/Tags.hs	/^               , _lineContent :: String   -- string that makes up that line$/;"	c_a	cons:Pos.Pos	line:60	language:Haskell
_lineNumber	src/Tags.hs	/^               , _lineNumber  :: Int      -- line number$/;"	c_a	cons:Pos.Pos	line:58	language:Haskell
_tokenNumber	src/Tags.hs	/^               , _tokenNumber :: Int      -- token number$/;"	c_a	cons:Pos.Pos	line:59	language:Haskell
ctagEncode	src/Tags.hs	/^ctagEncode :: Char -> String$/;"	ft	signature:(Char -> String)	line:124	language:Haskell
dumpThing	src/Tags.hs	/^dumpThing :: Bool -> FoundThing -> String$/;"	ft	signature:(Bool -> FoundThing -> String)	line:144	language:Haskell
etagsDumpFileData	src/Tags.hs	/^etagsDumpFileData :: FileData -> String$/;"	ft	signature:(FileData -> String)	line:177	language:Haskell
etagsDumpThing	src/Tags.hs	/^etagsDumpThing :: FoundThing -> String$/;"	ft	signature:(FoundThing -> String)	line:183	language:Haskell
extendedDump	src/Tags.hs	/^extendedDump :: FoundThing -> String$/;"	ft	signature:(FoundThing -> String)	line:136	language:Haskell
getfoundthings	src/Tags.hs	/^getfoundthings :: FileData -> [FoundThing]$/;"	ft	signature:(FileData -> [FoundThing])	line:121	language:Haskell
mywords	src/Tags.hs	/^mywords :: Bool -> String -> [String]$/;"	ft	signature:(Bool -> String -> [String])	line:17	language:Haskell
normalDump	src/Tags.hs	/^normalDump :: FoundThing -> String$/;"	ft	signature:(FoundThing -> String)	line:133	language:Haskell
show	src/Tags.hs	/^  show (FTFuncTypeDef s (Just (FTClass, p))) =$/;"	fi	instance:Show FoundThingType	line:86	language:Haskell
showLine	src/Tags.hs	/^showLine :: Pos -> String$/;"	ft	signature:(Pos -> String)	line:130	language:Haskell
sortThings	src/Tags.hs	/^sortThings :: [FoundThing] -> [FoundThing]$/;"	ft	signature:([FoundThing] -> [FoundThing])	line:164	language:Haskell
writectagsfile	src/Tags.hs	/^writectagsfile :: Bool -> [FileData] -> Handle -> IO ()$/;"	ft	signature:(Bool -> [FileData] -> Handle -> IO ())	line:150	language:Haskell
writeetagsfile	src/Tags.hs	/^writeetagsfile :: [FileData] -> Handle -> IO ()$/;"	ft	signature:([FileData] -> Handle -> IO ())	line:174	language:Haskell
hasktags: <stdout>: hPutStr: illegal operation (handle is closed)

cheater avatar Jun 18 '24 01:06 cheater

workaround: specify -c -x -f -.

duplicate of #86

cheater avatar Jun 18 '24 01:06 cheater