]> gitweb.factorcode.org Git - factor.git/log
factor.git
12 years agovm: change "profiler" names to "counting_profiler"
Joe Groff [Fri, 28 Oct 2011 18:33:27 +0000 (11:33 -0700)]
vm: change "profiler" names to "counting_profiler"

12 years agoconstants for special object hardcoded literals
Joe Groff [Wed, 2 Nov 2011 19:54:31 +0000 (12:54 -0700)]
constants for special object hardcoded literals

12 years agoMake "foo.private" require load foo instead.
Doug Coleman [Wed, 2 Nov 2011 18:23:41 +0000 (11:23 -0700)]
Make "foo.private" require load foo instead.
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201.

12 years agoRename images.gtk|gdiplus|cocoa to images.loader.*. Fixes #176.
Doug Coleman [Wed, 2 Nov 2011 16:38:03 +0000 (09:38 -0700)]
Rename images.gtk|gdiplus|cocoa to images.loader.*. Fixes #176.

12 years agoFix the fuel "No prompt found" bug using eungju's better fix; otherwise would just...
Doug Coleman [Wed, 2 Nov 2011 16:28:29 +0000 (09:28 -0700)]
Fix the fuel "No prompt found" bug using eungju's better fix; otherwise would just pull the patch.

12 years agoFix typo in tests
Doug Coleman [Wed, 2 Nov 2011 16:15:32 +0000 (09:15 -0700)]
Fix typo in tests

12 years agoDon't test coverage of auto-generated class predicates. Get a better count of callaba...
Doug Coleman [Tue, 1 Nov 2011 23:46:02 +0000 (16:46 -0700)]
Don't test coverage of auto-generated class predicates. Get a better count of callabales in a word to fix %coverage.

12 years agoMake editors use the new path-finding vocabulary and protocol.
Doug Coleman [Mon, 31 Oct 2011 18:53:07 +0000 (11:53 -0700)]
Make editors use the new path-finding vocabulary and protocol.
Implement io.standard-paths on Windows.

12 years agoio.encodings.string: make binary decode/encode nop
Joe Groff [Mon, 31 Oct 2011 18:07:17 +0000 (11:07 -0700)]
io.encodings.string: make binary decode/encode nop
Fixes #319.

12 years agoMove definition of 't' from syntax to bootstrap/primitives to fix bootstrap, now...
Slava Pestov [Mon, 31 Oct 2011 07:24:04 +0000 (00:24 -0700)]
Move definition of 't' from syntax to bootstrap/primitives to fix bootstrap, now that 't' really has to be a class early

12 years agomath.vectors.simd: vlshift, vrshift, hlshift and hrshift were being miscompiled if...
Slava Pestov [Mon, 31 Oct 2011 04:49:23 +0000 (21:49 -0700)]
math.vectors.simd: vlshift, vrshift, hlshift and hrshift were being miscompiled if the shift count was a bignum. Fixes #264

12 years agoUse +new-group+ in all processes launched in mason.
Doug Coleman [Mon, 31 Oct 2011 03:47:16 +0000 (20:47 -0700)]
Use +new-group+ in all processes launched in mason.

12 years agoFind the macvim bundle or use mvim. Add a flag for -g option to vim.
Doug Coleman [Sun, 30 Oct 2011 23:10:27 +0000 (16:10 -0700)]
Find the macvim bundle or use mvim. Add a flag for -g option to vim.

12 years agoAdd core-foundation.launch-services for finding the path of a bundle. Add a new stand...
Doug Coleman [Sun, 30 Oct 2011 22:13:50 +0000 (15:13 -0700)]
Add core-foundation.launch-services for finding the path of a bundle. Add a new standard-paths vocabulary for finding files.

12 years agobootstrap-error.factor: vocab => lookup-vocab
Slava Pestov [Sun, 30 Oct 2011 00:25:51 +0000 (17:25 -0700)]
bootstrap-error.factor: vocab => lookup-vocab

12 years agotools.deploy: fix unit test
Slava Pestov [Sun, 30 Oct 2011 00:15:49 +0000 (17:15 -0700)]
tools.deploy: fix unit test

12 years agostack-checker.known-words: add effects for signal-handler and leaf-signal-handler...
Slava Pestov [Sun, 30 Oct 2011 00:15:35 +0000 (17:15 -0700)]
stack-checker.known-words: add effects for signal-handler and leaf-signal-handler primitives, even though they can't be called directly

12 years agocompiler.cfg.builder: add test to ensure that fast union predicates do not contain...
Slava Pestov [Sun, 30 Oct 2011 00:10:51 +0000 (17:10 -0700)]
compiler.cfg.builder: add test to ensure that fast union predicates do not contain a conditional

12 years agocompiler.tree.propagation: more accurate output type for 'tag' primitive
Slava Pestov [Sun, 30 Oct 2011 00:10:27 +0000 (17:10 -0700)]
compiler.tree.propagation: more accurate output type for 'tag' primitive

12 years agoclasses.union: unions of built-in types now have more efficient predicates. Fixes...
Slava Pestov [Sun, 30 Oct 2011 00:09:56 +0000 (17:09 -0700)]
classes.union: unions of built-in types now have more efficient predicates. Fixes #292

12 years agocompiler.tree.debugger: disable length limit when printing optimized. quotation
Slava Pestov [Sat, 29 Oct 2011 23:24:28 +0000 (16:24 -0700)]
compiler.tree.debugger: disable length limit when printing optimized. quotation

12 years agoLook for mvim on mac and use 'open -a MacVim' if it's not in the path. Since 'open...
Doug Coleman [Sat, 29 Oct 2011 22:27:08 +0000 (15:27 -0700)]
Look for mvim on mac and use 'open -a MacVim' if it's not in the path. Since 'open -a macvim' doesn't support command line options, add a generic for opening to a line or not.

12 years agohelp.html: I give up with the article name escaping. Just compute a SHA1 hash and...
Slava Pestov [Sat, 29 Oct 2011 22:26:52 +0000 (15:26 -0700)]
help.html: I give up with the article name escaping. Just compute a SHA1 hash and use that as the file name. Fixes #309

12 years agohelp.html: simpler stylesheet for navbar to give it a consistent look. Fixes #310
Slava Pestov [Sat, 29 Oct 2011 22:11:30 +0000 (15:11 -0700)]
help.html: simpler stylesheet for navbar to give it a consistent look. Fixes #310

12 years agohelp.html: use GET not POST for search form, so that the search term appears in the...
Slava Pestov [Sat, 29 Oct 2011 22:11:01 +0000 (15:11 -0700)]
help.html: use GET not POST for search form, so that the search term appears in the URL, and to make the back button work. Fixes #312

12 years agoui.gadgets.editors: fix wonky word names. Fixes #277
Slava Pestov [Sat, 29 Oct 2011 21:55:06 +0000 (14:55 -0700)]
ui.gadgets.editors: fix wonky word names. Fixes #277

12 years agoRevert "ui.gadgets.editors: implement Ctrl-A/E/K to be more compatible."
Slava Pestov [Sat, 29 Oct 2011 21:47:33 +0000 (14:47 -0700)]
Revert "ui.gadgets.editors: implement Ctrl-A/E/K to be more compatible."

This reverts commit 6a096a1e71365be166151972b6d858d36578ec04.

12 years agoRevert "ui.gadgets.editors: windows doesn't work like macosx."
Slava Pestov [Sat, 29 Oct 2011 21:47:14 +0000 (14:47 -0700)]
Revert "ui.gadgets.editors: windows doesn't work like macosx."

This reverts commit cf1d12ce783df5d4ea379b4d54eeaaff08c6feac.

12 years agoChange order or articles in io.launcher.
Doug Coleman [Sat, 29 Oct 2011 22:13:45 +0000 (15:13 -0700)]
Change order or articles in io.launcher.

12 years agoClean up editors.*vim so that it runs detached with gvim and there is less
Doug Coleman [Sat, 29 Oct 2011 22:10:42 +0000 (15:10 -0700)]
Clean up editors.*vim so that it runs detached with gvim and there is less
code duplication. Use mvim on mac. Remove gvim.unix vocabulary since it
doesn't do anything besides return "gvim" as the path.

12 years agoAdd edit-file and edit-vocab words and make edit on strings call
Doug Coleman [Sat, 29 Oct 2011 19:20:02 +0000 (12:20 -0700)]
Add edit-file and edit-vocab words and make edit on strings call
edit-vocab.

12 years agoAdd options to set the child process group id or session for Unix. This fixes part...
Doug Coleman [Sat, 29 Oct 2011 09:47:10 +0000 (02:47 -0700)]
Add options to set the child process group id or session for Unix. This fixes part of #307.

12 years agoRemove the lexer-factory because nothing uses it. Update usages.
Doug Coleman [Sat, 29 Oct 2011 08:11:19 +0000 (01:11 -0700)]
Remove the lexer-factory because nothing uses it. Update usages.

12 years agoAdd a toggle word to namespaces and update docs, tests, and usages. Document with...
Doug Coleman [Sat, 29 Oct 2011 08:01:59 +0000 (01:01 -0700)]
Add a toggle word to namespaces and update docs, tests, and usages. Document with-global too.

12 years agoChange prompt to something we can copy/paste back into the Factor repl. Add auto...
Doug Coleman [Sat, 29 Oct 2011 07:08:35 +0000 (00:08 -0700)]
Change prompt to something we can copy/paste back into the Factor repl. Add auto-use word. Fixes #301.

12 years agoCleanup vocab name validation. Vocab names and vocab prefixes are the same concept...
Doug Coleman [Sat, 29 Oct 2011 06:39:40 +0000 (23:39 -0700)]
Cleanup vocab name validation. Vocab names and vocab prefixes are the same concept, and by disallowing slashes, spaces, and colon, we automatically check for absolute paths. Unit test this.

12 years agofactor.sh: Make net-bootstrap recompile the vm, add make_clean_factor function
Doug Coleman [Sat, 29 Oct 2011 05:48:55 +0000 (22:48 -0700)]
factor.sh: Make net-bootstrap recompile the vm, add make_clean_factor function

12 years agoAdd a seq>dlist word and make a dlist literal DL{
Doug Coleman [Thu, 27 Oct 2011 22:17:49 +0000 (15:17 -0700)]
Add a seq>dlist word and make a dlist literal DL{
Implement prettyprint on dlists.

12 years agohttp.server: closing socket without sending any text would hang the http.server....
Slava Pestov [Sat, 29 Oct 2011 06:54:55 +0000 (23:54 -0700)]
http.server: closing socket without sending any text would hang the http.server. Fixes #311

12 years agomason.git: cleanup
Slava Pestov [Sat, 29 Oct 2011 04:52:55 +0000 (21:52 -0700)]
mason.git: cleanup

12 years agoio.launcher: change kill-process to also close the pipe, if there is one, so that...
Slava Pestov [Sat, 29 Oct 2011 04:52:24 +0000 (21:52 -0700)]
io.launcher: change kill-process to also close the pipe, if there is one, so that try-output-process can timeout even if the process spawns a subprocess which inherits the pipe. This fixes part of #307

12 years agovm: give factorbug a help command
Joe Groff [Fri, 28 Oct 2011 03:55:12 +0000 (20:55 -0700)]
vm: give factorbug a help command
Also change the prompt to "> _" instead of "READY\n_" since it's not 1970 anymore

12 years agocleanups from code review
Joe Groff [Fri, 28 Oct 2011 03:24:51 +0000 (20:24 -0700)]
cleanups from code review

12 years agovm: remove half-assed signal queueing scaffolding
Joe Groff [Thu, 27 Oct 2011 05:13:16 +0000 (22:13 -0700)]
vm: remove half-assed signal queueing scaffolding
Should implement it right later. See #297.

12 years agovm: remove some debugging crumbs
Joe Groff [Thu, 27 Oct 2011 05:00:19 +0000 (22:00 -0700)]
vm: remove some debugging crumbs

12 years agovm: add "gc" command to factorbug
Joe Groff [Thu, 27 Oct 2011 04:55:51 +0000 (21:55 -0700)]
vm: add "gc" command to factorbug

12 years agovm: clean up windows ctrl-handler
Joe Groff [Thu, 27 Oct 2011 04:40:14 +0000 (21:40 -0700)]
vm: clean up windows ctrl-handler

12 years agocpu.x86.64: also must save ctx-reg
Joe Groff [Thu, 27 Oct 2011 03:48:29 +0000 (20:48 -0700)]
cpu.x86.64: also must save ctx-reg

12 years agovm: some typos in debug.cpp
Joe Groff [Thu, 27 Oct 2011 03:47:04 +0000 (20:47 -0700)]
vm: some typos in debug.cpp

12 years agovm: get CtrlHandler working on windows
Joe Groff [Thu, 27 Oct 2011 03:46:39 +0000 (20:46 -0700)]
vm: get CtrlHandler working on windows

12 years agovm: update windows for resumable signals
Joe Groff [Thu, 27 Oct 2011 01:24:00 +0000 (18:24 -0700)]
vm: update windows for resumable signals

12 years agovm: win32 GetCurrentThread is a fake thread handle
Joe Groff [Thu, 27 Oct 2011 00:19:23 +0000 (17:19 -0700)]
vm: win32 GetCurrentThread is a fake thread handle
Open a real thread handle with the necessary permissions to dispatch a handler from the the Ctrl-C handler thread.

12 years agovm: change factorbug "q" to quit process
Joe Groff [Thu, 27 Oct 2011 00:04:11 +0000 (17:04 -0700)]
vm: change factorbug "q" to quit process
Also change the docs around so the useful commands are all listed under "Basic commands", and rename the more arcane "s" and "r" dumps to "ds" and "dr".

12 years agovm: move dispatch_signal_handler to cpu-x86.cpp
Joe Groff [Wed, 26 Oct 2011 23:22:42 +0000 (16:22 -0700)]
vm: move dispatch_signal_handler to cpu-x86.cpp
The new signal handler dispatch is logic is CISC-centric; defer fixing it until we find someone who cares

12 years agovm: code_block_for_address method -> code_heap
Joe Groff [Wed, 26 Oct 2011 22:45:01 +0000 (15:45 -0700)]
vm: code_block_for_address method -> code_heap

12 years agovm: remove signal_from_leaf flag
Joe Groff [Wed, 26 Oct 2011 22:08:27 +0000 (15:08 -0700)]
vm: remove signal_from_leaf flag
Now that the resuming from the signal handler works within leaf procedures, the flag is no longer necessary.

12 years agovm: sniff leaf words walking code heap, not data
Joe Groff [Wed, 26 Oct 2011 21:36:26 +0000 (14:36 -0700)]
vm: sniff leaf words walking code heap, not data

12 years agovm: include quots and profile stubs in leaf search
Joe Groff [Wed, 26 Oct 2011 18:00:13 +0000 (11:00 -0700)]
vm: include quots and profile stubs in leaf search

12 years agocpu.x86.32: update for resumable signal handlers
Joe Groff [Wed, 26 Oct 2011 06:25:19 +0000 (23:25 -0700)]
cpu.x86.32: update for resumable signal handlers

12 years agovm: suppress signal-handler stack frame generation
Joe Groff [Wed, 26 Oct 2011 02:52:47 +0000 (19:52 -0700)]
vm: suppress signal-handler stack frame generation
This is a hack; see #295

12 years agovm: turns out adding and subtracting are different
Joe Groff [Wed, 26 Oct 2011 00:50:09 +0000 (17:50 -0700)]
vm: turns out adding and subtracting are different

12 years agovm: fix foreign segfaults and callstack overflows
Joe Groff [Tue, 25 Oct 2011 22:42:08 +0000 (15:42 -0700)]
vm: fix foreign segfaults and callstack overflows

12 years agovm: resumably handle signals from leaf procedures
Joe Groff [Tue, 25 Oct 2011 06:46:34 +0000 (23:46 -0700)]
vm: resumably handle signals from leaf procedures

12 years agovm: dispatch signal handlers through subprimitive
Joe Groff [Mon, 24 Oct 2011 21:26:58 +0000 (14:26 -0700)]
vm: dispatch signal handlers through subprimitive
We also need to save C ABI volatile registers before calling the signal handler in order to be able to reliably resume. Add signal-handler and leaf-signal-handler subprimitives to preserve volatile registers before invoking the signal handler C function.

12 years agovm: Revert extra canary page before callstack
Joe Groff [Fri, 21 Oct 2011 18:49:34 +0000 (11:49 -0700)]
vm: Revert extra canary page before callstack

This reverts commit 7d5c8d6990385b94569116a23163d7e75ae21f49. We pretty much can't avoid unwinding frames without some more drastic redesign.

12 years agocpu.x86.(32,64).bootstrap: get rid of PUSH malarky
Joe Groff [Fri, 21 Oct 2011 17:53:44 +0000 (10:53 -0700)]
cpu.x86.(32,64).bootstrap: get rid of PUSH malarky
In the function prologue, move the stack pointer once after the stack frame is set up instead of PUSHing the stack frame piece by piece.

12 years agovm: comments should be in English
Joe Groff [Fri, 21 Oct 2011 06:21:52 +0000 (23:21 -0700)]
vm: comments should be in English

12 years agovm: allocate an extra canary page before callstack
Joe Groff [Fri, 21 Oct 2011 06:21:36 +0000 (23:21 -0700)]
vm: allocate an extra canary page before callstack
This will let us safely unguard the callstack overflow guard page as a grace page so the callstack overflow handler can do its business without discarding frames.

12 years agovm: add factorbug command to throw exception
Joe Groff [Fri, 21 Oct 2011 06:19:32 +0000 (23:19 -0700)]
vm: add factorbug command to throw exception
Also rename "q" to "c" because it "c"ontinues, remove the useless "im" command, and rename the less useful "t" to "trim" so we can use "t" to mean "throw"

12 years agovm: sketchy signal dispatch from leaf procs
Joe Groff [Fri, 21 Oct 2011 05:05:38 +0000 (22:05 -0700)]
vm: sketchy signal dispatch from leaf procs

12 years agovm: factor out dispatch_signal_handler logic
Joe Groff [Fri, 21 Oct 2011 04:30:40 +0000 (21:30 -0700)]
vm: factor out dispatch_signal_handler logic

12 years agovm: fep on SIGINT or SIGQUIT instead of exception
Joe Groff [Fri, 21 Oct 2011 04:00:25 +0000 (21:00 -0700)]
vm: fep on SIGINT or SIGQUIT instead of exception
It's not robust currently to raise an exception because a lot of our code that isn't already written with exceptions in mind breaks. Also, a signal is likely to be received by an FFI callback installed on the IO multiplexer, which will cause Factor to die since the callback cannot handle the exception. We need a more robust solution to dealing with SIGINT.

Also lay some groundwork for counting profile samples and reporting non-interrupting asynchronous signals.

12 years agovm: clean up signal handler dispatch
Joe Groff [Fri, 21 Oct 2011 03:55:55 +0000 (20:55 -0700)]
vm: clean up signal handler dispatch
Remove the weird and broken functions fix_callstack_top and scrub_return_address. Instead, simply decrement the SP and store the PC from the front end of the signal handler so that the back end can return back into the original context normally. Currently aborts for leaf procedure frames pending a more robust solution.

12 years agovm: don't mix iostream and stdio
Joe Groff [Thu, 20 Oct 2011 23:04:01 +0000 (16:04 -0700)]
vm: don't mix iostream and stdio

12 years agocompiler: no spurious safepoint at start of loops
Joe Groff [Thu, 20 Oct 2011 05:58:02 +0000 (22:58 -0700)]
compiler: no spurious safepoint at start of loops

12 years agovm: fatal_error if VM-less thread gets a signal
Joe Groff [Thu, 20 Oct 2011 05:47:14 +0000 (22:47 -0700)]
vm: fatal_error if VM-less thread gets a signal

12 years agocompiler.cfg.tco: clean up commented-out old code
Joe Groff [Thu, 20 Oct 2011 05:45:24 +0000 (22:45 -0700)]
compiler.cfg.tco: clean up commented-out old code

12 years agovm: fix windows compile errors
Joe Groff [Thu, 20 Oct 2011 04:05:35 +0000 (21:05 -0700)]
vm: fix windows compile errors

12 years agovm: remove unguard-safepoint primitive
Joe Groff [Thu, 20 Oct 2011 02:28:02 +0000 (19:28 -0700)]
vm: remove unguard-safepoint primitive

12 years agovm: block all signals from unix stdin_loop thread
Joe Groff [Thu, 20 Oct 2011 01:55:31 +0000 (18:55 -0700)]
vm: block all signals from unix stdin_loop thread

12 years agovm: SetConsoleCtrlHandler on windows
Joe Groff [Thu, 20 Oct 2011 01:54:49 +0000 (18:54 -0700)]
vm: SetConsoleCtrlHandler on windows

12 years agovm: handle async signals at safepoints on unix
Joe Groff [Wed, 19 Oct 2011 22:39:44 +0000 (15:39 -0700)]
vm: handle async signals at safepoints on unix
Factor now supports the new 4.0BSD feature of "signals".

12 years agocompiler.cfg.tco: teach TCO about safepoints
Joe Groff [Wed, 19 Oct 2011 20:04:43 +0000 (13:04 -0700)]
compiler.cfg.tco: teach TCO about safepoints

12 years agocompiler.cfg.builder: safepoint loops and epilogs
Joe Groff [Wed, 19 Oct 2011 17:35:33 +0000 (10:35 -0700)]
compiler.cfg.builder: safepoint loops and epilogs

12 years agocompiler: add ##safepoint IR insn
Joe Groff [Tue, 18 Oct 2011 05:43:19 +0000 (22:43 -0700)]
compiler: add ##safepoint IR insn

12 years agocpu.x86.assembler: add MOVABS instruction
Joe Groff [Tue, 18 Oct 2011 00:11:12 +0000 (17:11 -0700)]
cpu.x86.assembler: add MOVABS instruction
MOVABS generates the one-byte opcode version of MOV eAX, [absolute] or MOV [absolute], eAX, which saves a byte per safepoint on x86-32.

12 years agovm: add RT_SAFEPOINT to number_of_parameters()
Joe Groff [Mon, 17 Oct 2011 23:44:49 +0000 (16:44 -0700)]
vm: add RT_SAFEPOINT to number_of_parameters()

12 years agocpu.x86.bootstrap: add safepoint to jit-epilog
Joe Groff [Mon, 17 Oct 2011 22:26:06 +0000 (15:26 -0700)]
cpu.x86.bootstrap: add safepoint to jit-epilog

12 years agocompiler: rt-safepoint and rel-safepoint words
Joe Groff [Mon, 17 Oct 2011 22:23:05 +0000 (15:23 -0700)]
compiler: rt-safepoint and rel-safepoint words

12 years agovm: add RT_SAFEPOINT relocation type
Joe Groff [Mon, 17 Oct 2011 22:22:37 +0000 (15:22 -0700)]
vm: add RT_SAFEPOINT relocation type

12 years agovm: code_heap::(un)guard_safepoint methods
Joe Groff [Mon, 17 Oct 2011 20:46:25 +0000 (13:46 -0700)]
vm: code_heap::(un)guard_safepoint methods

12 years agovm: take a page from code_heap for safepoints
Joe Groff [Mon, 17 Oct 2011 20:24:06 +0000 (13:24 -0700)]
vm: take a page from code_heap for safepoints

12 years agosynth: adding some tests.
John Benediktsson [Thu, 27 Oct 2011 16:47:36 +0000 (09:47 -0700)]
synth: adding some tests.

12 years agosynth: fix code that depended on iterable numbers.
John Benediktsson [Wed, 26 Oct 2011 22:14:39 +0000 (15:14 -0700)]
synth: fix code that depended on iterable numbers.

12 years agoAdd a lint check for swap .. swap that can be replaced by dip. Clean up the cases...
Doug Coleman [Wed, 26 Oct 2011 20:01:04 +0000 (13:01 -0700)]
Add a lint check for swap .. swap that can be replaced by dip. Clean up the cases it finds.

12 years agoUse dip instead of swap swap for making file streams
Doug Coleman [Wed, 26 Oct 2011 18:47:41 +0000 (11:47 -0700)]
Use dip instead of swap swap for making file streams

12 years agoMerge remote-tracking branch 'upstream/master'
John Benediktsson [Wed, 26 Oct 2011 17:07:21 +0000 (10:07 -0700)]
Merge remote-tracking branch 'upstream/master'

12 years agobrainfuck: minor cleanup.
John Benediktsson [Wed, 26 Oct 2011 17:07:04 +0000 (10:07 -0700)]
brainfuck: minor cleanup.

12 years agoFix error reporting for load, reported by Recursed
Doug Coleman [Tue, 25 Oct 2011 21:53:56 +0000 (14:53 -0700)]
Fix error reporting for load, reported by Recursed

12 years agoUpdate Windows for word renames, fix lint errors
Doug Coleman [Tue, 25 Oct 2011 04:47:00 +0000 (21:47 -0700)]
Update Windows for word renames, fix lint errors