cycript.git
2 years agoWith -p on all platforms, we can't use asprintf(). master
Jay Freeman (saurik) [Tue, 6 Sep 2016 03:51:38 +0000 (20:51 -0700)] 
With -p on all platforms, we can't use asprintf().

2 years agoRepair build when JavaScriptCore is not available.
Jay Freeman (saurik) [Tue, 6 Sep 2016 03:37:16 +0000 (20:37 -0700)] 
Repair build when JavaScriptCore is not available.

2 years agoMove Substrate bindings from Cycript to Substrate.
Jay Freeman (saurik) [Sat, 3 Sep 2016 23:49:55 +0000 (16:49 -0700)] 
Move Substrate bindings from Cycript to Substrate.

2 years agoInstance's toPointer() should return as CFTypeRef. v0.9.594
Jay Freeman (saurik) [Sun, 28 Aug 2016 20:29:56 +0000 (13:29 -0700)] 
Instance's toPointer() should return as CFTypeRef.

2 years agoDue to cynject, there is no reason to turn off -p.
Jay Freeman (saurik) [Sat, 27 Aug 2016 00:13:31 +0000 (17:13 -0700)] 
Due to cynject, there is no reason to turn off -p.

2 years agoCYInjectRemote should also be in #ifdef CY_ATTACH.
Jay Freeman (saurik) [Thu, 25 Aug 2016 06:39:58 +0000 (23:39 -0700)] 
CYInjectRemote should also be in #ifdef CY_ATTACH.

2 years agoMIME type is now required when calling appcast.sh. v0.9.593
Jay Freeman (saurik) [Wed, 24 Aug 2016 09:51:25 +0000 (02:51 -0700)] 
MIME type is now required when calling appcast.sh.

2 years agoUnix domain sockets are often walled by sandboxes.
Jay Freeman (saurik) [Wed, 24 Aug 2016 09:51:13 +0000 (02:51 -0700)] 
Unix domain sockets are often walled by sandboxes.

2 years agoFix ./make install (cs_mtime and new libcycripts).
Jay Freeman (saurik) [Wed, 24 Aug 2016 07:06:31 +0000 (00:06 -0700)] 
Fix ./make install (cs_mtime and new libcycripts).

2 years agoUse -Wl,dead_strip to cut a little readline cruft.
Jay Freeman (saurik) [Mon, 1 Aug 2016 04:41:01 +0000 (21:41 -0700)] 
Use -Wl,dead_strip to cut a little readline cruft.

2 years agoLink readline to provide Kevin his 64-bit console.
Jay Freeman (saurik) [Mon, 1 Aug 2016 04:17:58 +0000 (21:17 -0700)] 
Link readline to provide Kevin his 64-bit console.

3 years agoSupport 7a09b83's new boolean argument on startVm.
Jay Freeman (saurik) [Sat, 19 Mar 2016 09:49:56 +0000 (02:49 -0700)] 
Support 7a09b83's new boolean argument on startVm.

3 years agoCYUTF8String cannot have a negative size, even -1.
Jay Freeman (saurik) [Sat, 19 Mar 2016 09:25:53 +0000 (02:25 -0700)] 
CYUTF8String cannot have a negative size, even -1.

3 years agoUse C int promotion rule to work around BOOL cast. v0.9.592
Jay Freeman (saurik) [Wed, 13 Jan 2016 18:00:26 +0000 (10:00 -0800)] 
Use C int promotion rule to work around BOOL cast.

3 years agoTemporary hack to support older JavaScriptCore :/.
Jay Freeman (saurik) [Wed, 13 Jan 2016 16:32:37 +0000 (08:32 -0800)] 
Temporary hack to support older JavaScriptCore :/.

3 years agolibcycript.cy needs to be set as symlink, for zip. v0.9.591
Jay Freeman (saurik) [Wed, 13 Jan 2016 08:10:18 +0000 (00:10 -0800)] 
libcycript.cy needs to be set as symlink, for zip.

3 years agoUsing new on array types returns pointer-to-array.
Jay Freeman (saurik) [Wed, 13 Jan 2016 00:54:55 +0000 (16:54 -0800)] 
Using new on array types returns pointer-to-array.

3 years agoGuarantee all the older Cydget bridge definitions. v0.9.590
Jay Freeman (saurik) [Mon, 11 Jan 2016 20:41:40 +0000 (12:41 -0800)] 
Guarantee all the older Cydget bridge definitions.

3 years agoBridge any toPointer to id as a cast (for Cydget).
Jay Freeman (saurik) [Mon, 11 Jan 2016 19:33:05 +0000 (11:33 -0800)] 
Bridge any toPointer to id as a cast (for Cydget).

3 years agoTemporarily remove Number.toCYON: way too verbose.
Jay Freeman (saurik) [Mon, 11 Jan 2016 19:15:08 +0000 (11:15 -0800)] 
Temporarily remove Number.toCYON: way too verbose.

3 years agoAllow injection as thread in running Java process.
Jay Freeman (saurik) [Mon, 11 Jan 2016 00:53:39 +0000 (16:53 -0800)] 
Allow injection as thread in running Java process.

3 years agoTry to push kJSClassAttributeNoAutomaticPrototype.
Jay Freeman (saurik) [Sun, 10 Jan 2016 23:18:01 +0000 (15:18 -0800)] 
Try to push kJSClassAttributeNoAutomaticPrototype.

3 years agoRelax (broken) restriction of void typedef/return.
Jay Freeman (saurik) [Sun, 10 Jan 2016 22:11:35 +0000 (14:11 -0800)] 
Relax (broken) restriction of void typedef/return.

3 years agoKeep lib*.a out of Cycript.lib for clean zip file.
Jay Freeman (saurik) [Sun, 10 Jan 2016 18:58:52 +0000 (10:58 -0800)] 
Keep lib*.a out of Cycript.lib for clean zip file.

3 years agoCYONify the contents of a JavaMethod override set.
Jay Freeman (saurik) [Sun, 10 Jan 2016 11:17:50 +0000 (03:17 -0800)] 
CYONify the contents of a JavaMethod override set.

3 years agoHold JavaRef<jstring> throughout CYJavaUTF8String.
Jay Freeman (saurik) [Sun, 10 Jan 2016 07:35:09 +0000 (23:35 -0800)] 
Hold JavaRef<jstring> throughout CYJavaUTF8String.

3 years agoInclude stack trace when printing Java exceptions.
Jay Freeman (saurik) [Sun, 10 Jan 2016 07:34:15 +0000 (23:34 -0800)] 
Include stack trace when printing Java exceptions.

3 years agoJava doesn't hide base class methods by name only.
Jay Freeman (saurik) [Sun, 10 Jan 2016 06:19:16 +0000 (22:19 -0800)] 
Java doesn't hide base class methods by name only.

3 years agoAdd ?. syntax, for the object query documentation.
Jay Freeman (saurik) [Sun, 10 Jan 2016 03:50:48 +0000 (19:50 -0800)] 
Add ?. syntax, for the object query documentation.

3 years agoAvoid guessing when converting Functor to Pointer.
Jay Freeman (saurik) [Sun, 10 Jan 2016 03:19:01 +0000 (19:19 -0800)] 
Avoid guessing when converting Functor to Pointer.

3 years agoSupport Void::PoolFFI when the value is undefined.
Jay Freeman (saurik) [Sun, 10 Jan 2016 02:01:36 +0000 (18:01 -0800)] 
Support Void::PoolFFI when the value is undefined.

3 years agoCorrect prototype hierearchy (simple AND elegant).
Jay Freeman (saurik) [Sun, 10 Jan 2016 01:46:30 +0000 (17:46 -0800)] 
Correct prototype hierearchy (simple AND elegant).

3 years agoFix long-broken Objective-C message ]-completions.
Jay Freeman (saurik) [Sun, 10 Jan 2016 00:00:51 +0000 (16:00 -0800)] 
Fix long-broken Objective-C message ]-completions.

3 years agoRequire strings used as characters to be one byte.
Jay Freeman (saurik) [Sat, 9 Jan 2016 17:48:43 +0000 (09:48 -0800)] 
Require strings used as characters to be one byte.

3 years agoMaintain a logical setup for const on sig::String.
Jay Freeman (saurik) [Sat, 9 Jan 2016 17:48:37 +0000 (09:48 -0800)] 
Maintain a logical setup for const on sig::String.

3 years agoPointer needs a special case to pull off functors.
Jay Freeman (saurik) [Sat, 9 Jan 2016 16:36:47 +0000 (08:36 -0800)] 
Pointer needs a special case to pull off functors.

3 years agoSupport initializing character array using string.
Jay Freeman (saurik) [Sat, 9 Jan 2016 16:15:57 +0000 (08:15 -0800)] 
Support initializing character array using string.

3 years agoMove number's typeid set to FromFFI from Type_new.
Jay Freeman (saurik) [Sat, 9 Jan 2016 15:30:44 +0000 (07:30 -0800)] 
Move number's typeid set to FromFFI from Type_new.

3 years agoMaintain type flags in Type subclass Copy() logic.
Jay Freeman (saurik) [Sat, 9 Jan 2016 15:05:42 +0000 (07:05 -0800)] 
Maintain type flags in Type subclass Copy() logic.

3 years agoJSObjectMakeArray fallback didn't handle length 1.
Jay Freeman (saurik) [Sat, 9 Jan 2016 15:04:45 +0000 (07:04 -0800)] 
JSObjectMakeArray fallback didn't handle length 1.

3 years agoAllow the size of array typedefs to be a variable.
Jay Freeman (saurik) [Sat, 9 Jan 2016 04:37:54 +0000 (20:37 -0800)] 
Allow the size of array typedefs to be a variable.

3 years agoWe no longer need to support the restrict keyword.
Jay Freeman (saurik) [Sat, 9 Jan 2016 04:37:14 +0000 (20:37 -0800)] 
We no longer need to support the restrict keyword.

3 years agoAlso use CXType walker to for function prototypes.
Jay Freeman (saurik) [Sat, 9 Jan 2016 04:32:36 +0000 (20:32 -0800)] 
Also use CXType walker to for function prototypes.

3 years agoImprove support for char values (from JS strings).
Jay Freeman (saurik) [Sat, 9 Jan 2016 03:37:26 +0000 (19:37 -0800)] 
Improve support for char values (from JS strings).

3 years agoMake Type inherit Functin and build placement new.
Jay Freeman (saurik) [Sat, 9 Jan 2016 01:20:36 +0000 (17:20 -0800)] 
Make Type inherit Functin and build placement new.

3 years agoCorrectly handle "high bytes" in "native" strings.
Jay Freeman (saurik) [Sat, 9 Jan 2016 00:58:27 +0000 (16:58 -0800)] 
Correctly handle "high bytes" in "native" strings.

3 years agoCasting an array/string pointer shouldn't copy it.
Jay Freeman (saurik) [Sat, 9 Jan 2016 00:56:55 +0000 (16:56 -0800)] 
Casting an array/string pointer shouldn't copy it.

3 years agoWork around iOS "<redacted>" for Message's toCYON.
Jay Freeman (saurik) [Fri, 8 Jan 2016 21:15:49 +0000 (13:15 -0800)] 
Work around iOS "<redacted>" for Message's toCYON.

3 years agonew operator must return JSObject even for errors.
Jay Freeman (saurik) [Fri, 8 Jan 2016 12:12:36 +0000 (04:12 -0800)] 
new operator must return JSObject even for errors.

3 years agoThrow, not print, errors in type signature parser.
Jay Freeman (saurik) [Fri, 8 Jan 2016 12:07:53 +0000 (04:07 -0800)] 
Throw, not print, errors in type signature parser.

3 years agoFix jni.h Analysis and include some extra headers.
Jay Freeman (saurik) [Fri, 8 Jan 2016 10:35:28 +0000 (02:35 -0800)] 
Fix jni.h Analysis and include some extra headers.

3 years agoUse implicit properties on older, broken runtimes.
Jay Freeman (saurik) [Fri, 8 Jan 2016 10:21:01 +0000 (02:21 -0800)] 
Use implicit properties on older, broken runtimes.

3 years agoFix multi-line template strings, removing ?expand.
Jay Freeman (saurik) [Fri, 8 Jan 2016 10:14:54 +0000 (02:14 -0800)] 
Fix multi-line template strings, removing ?expand.

3 years agoAdd () to non-properties and complete "real" ones.
Jay Freeman (saurik) [Fri, 8 Jan 2016 09:12:26 +0000 (01:12 -0800)] 
Add () to non-properties and complete "real" ones.

3 years agoFold messages into the JavaScript prototype chain.
Jay Freeman (saurik) [Fri, 8 Jan 2016 08:28:25 +0000 (00:28 -0800)] 
Fold messages into the JavaScript prototype chain.

3 years agoBetter document and assert against a pooling case.
Jay Freeman (saurik) [Fri, 8 Jan 2016 07:51:46 +0000 (23:51 -0800)] 
Better document and assert against a pooling case.

3 years agoDo not add duplicate history entries for up-enter.
Jay Freeman (saurik) [Thu, 7 Jan 2016 09:57:52 +0000 (01:57 -0800)] 
Do not add duplicate history entries for up-enter.

3 years ago"Lazy" Java initialization resets signal handlers.
Jay Freeman (saurik) [Thu, 7 Jan 2016 09:42:55 +0000 (01:42 -0800)] 
"Lazy" Java initialization resets signal handlers.

3 years agoAvoid naming functors without symbols as just "1".
Jay Freeman (saurik) [Thu, 7 Jan 2016 09:42:12 +0000 (01:42 -0800)] 
Avoid naming functors without symbols as just "1".

3 years agoProtect system, add process.argv and global print.
Jay Freeman (saurik) [Thu, 7 Jan 2016 09:13:08 +0000 (01:13 -0800)] 
Protect system, add process.argv and global print.

3 years agoDo not output an empty comment for an empty stack.
Jay Freeman (saurik) [Thu, 7 Jan 2016 07:57:12 +0000 (23:57 -0800)] 
Do not output an empty comment for an empty stack.

3 years agoRemove CYJavaValue and (almost) CYPrivate as base.
Jay Freeman (saurik) [Thu, 7 Jan 2016 03:36:12 +0000 (19:36 -0800)] 
Remove CYJavaValue and (almost) CYPrivate as base.

3 years agoRemove CYValue<> as it is no longer at all useful.
Jay Freeman (saurik) [Thu, 7 Jan 2016 03:02:40 +0000 (19:02 -0800)] 
Remove CYValue<> as it is no longer at all useful.

3 years agoUse pool.atexit to free Objective-C "list copies".
Jay Freeman (saurik) [Wed, 6 Jan 2016 20:40:38 +0000 (12:40 -0800)] 
Use pool.atexit to free Objective-C "list copies".

3 years agoLazy load JVM, as it is slow and crashes on iOS 9.
Jay Freeman (saurik) [Wed, 6 Jan 2016 20:01:06 +0000 (12:01 -0800)] 
Lazy load JVM, as it is slow and crashes on iOS 9.

3 years agoCompile Java support for armv6 where we use JamVM.
Jay Freeman (saurik) [Wed, 6 Jan 2016 10:44:43 +0000 (02:44 -0800)] 
Compile Java support for armv6 where we use JamVM.

3 years agoDo not use JavaVM, in case it isn't installed yet.
Jay Freeman (saurik) [Wed, 6 Jan 2016 09:52:43 +0000 (01:52 -0800)] 
Do not use JavaVM, in case it isn't installed yet.

3 years agoThe value from +alloc can be a permanent (NSDate).
Jay Freeman (saurik) [Wed, 6 Jan 2016 08:03:19 +0000 (00:03 -0800)] 
The value from +alloc can be a permanent (NSDate).

3 years agoDisable "implicit properties" (except for Cydget).
Jay Freeman (saurik) [Wed, 6 Jan 2016 06:15:49 +0000 (22:15 -0800)] 
Disable "implicit properties" (except for Cydget).

3 years agoFix Ruby Block arguments and make them lexicalish.
Jay Freeman (saurik) [Tue, 5 Jan 2016 09:29:50 +0000 (01:29 -0800)] 
Fix Ruby Block arguments and make them lexicalish.

3 years agoDo not allow JavaMethod calls on non-Java objects.
Jay Freeman (saurik) [Tue, 5 Jan 2016 09:07:44 +0000 (01:07 -0800)] 
Do not allow JavaMethod calls on non-Java objects.

3 years agoTry a new (safer) mechanism to get object private.
Jay Freeman (saurik) [Tue, 5 Jan 2016 09:04:22 +0000 (01:04 -0800)] 
Try a new (safer) mechanism to get object private.

3 years agoAllow a * on a CString to get the first character.
Jay Freeman (saurik) [Tue, 5 Jan 2016 08:42:16 +0000 (00:42 -0800)] 
Allow a * on a CString to get the first character.

3 years agoAllow strings to be used as extern or field names.
Jay Freeman (saurik) [Tue, 5 Jan 2016 08:39:00 +0000 (00:39 -0800)] 
Allow strings to be used as extern or field names.

3 years agoDo not use corrupt struct to store type reference.
Jay Freeman (saurik) [Tue, 5 Jan 2016 03:41:34 +0000 (19:41 -0800)] 
Do not use corrupt struct to store type reference.

3 years agoAdd a simple implementation of getcwd for node.js.
Jay Freeman (saurik) [Mon, 4 Jan 2016 23:14:47 +0000 (15:14 -0800)] 
Add a simple implementation of getcwd for node.js.

3 years agoEmbed core libraries for node.js in libcycript.db.
Jay Freeman (saurik) [Mon, 4 Jan 2016 23:13:07 +0000 (15:13 -0800)] 
Embed core libraries for node.js in libcycript.db.

3 years agolibnativehelper.so was there before JniInvocation.
Jay Freeman (saurik) [Mon, 4 Jan 2016 21:24:48 +0000 (13:24 -0800)] 
libnativehelper.so was there before JniInvocation.

3 years agoDrop to android-9 platform using -fno-PIE wrapper.
Jay Freeman (saurik) [Mon, 4 Jan 2016 21:09:19 +0000 (13:09 -0800)] 
Drop to android-9 platform using -fno-PIE wrapper.

3 years agoFind JVM with dlopen and register Android natives.
Jay Freeman (saurik) [Mon, 4 Jan 2016 19:34:59 +0000 (11:34 -0800)] 
Find JVM with dlopen and register Android natives.

3 years agoTighten alignment of FFI return values, correctly.
Jay Freeman (saurik) [Mon, 4 Jan 2016 09:28:45 +0000 (01:28 -0800)] 
Tighten alignment of FFI return values, correctly.

3 years agoUnify the build environment for Android and Apple.
Jay Freeman (saurik) [Mon, 4 Jan 2016 07:43:56 +0000 (23:43 -0800)] 
Unify the build environment for Android and Apple.

3 years agoAdd a ?reparse mode to experiment pretty printing.
Jay Freeman (saurik) [Mon, 4 Jan 2016 06:11:49 +0000 (22:11 -0800)] 
Add a ?reparse mode to experiment pretty printing.

3 years agoPort modules to typedef/extern instead of @encode.
Jay Freeman (saurik) [Mon, 4 Jan 2016 03:33:03 +0000 (19:33 -0800)] 
Port modules to typedef/extern instead of @encode.

3 years agoAllow users to tab complete struct and enum names.
Jay Freeman (saurik) [Mon, 4 Jan 2016 03:29:47 +0000 (19:29 -0800)] 
Allow users to tab complete struct and enum names.

3 years agoSpeed up tab completion and hide $cy* identifiers.
Jay Freeman (saurik) [Mon, 4 Jan 2016 03:11:49 +0000 (19:11 -0800)] 
Speed up tab completion and hide $cy* identifiers.

3 years agoAnalyze even more headers and added enum typedefs.
Jay Freeman (saurik) [Mon, 4 Jan 2016 02:56:49 +0000 (18:56 -0800)] 
Analyze even more headers and added enum typedefs.

3 years agoPackage everything for Android in simple zip file.
Jay Freeman (saurik) [Mon, 4 Jan 2016 00:19:02 +0000 (16:19 -0800)] 
Package everything for Android in simple zip file.

3 years agoAllow C++ tagless type reference, in struct field.
Jay Freeman (saurik) [Sun, 3 Jan 2016 22:07:40 +0000 (14:07 -0800)] 
Allow C++ tagless type reference, in struct field.

3 years agoDon't stack overflow on struct pointers in cycles.
Jay Freeman (saurik) [Sun, 3 Jan 2016 21:49:14 +0000 (13:49 -0800)] 
Don't stack overflow on struct pointers in cycles.

3 years agoSupport typedef and @encode with a void specifier.
Jay Freeman (saurik) [Sun, 3 Jan 2016 21:44:53 +0000 (13:44 -0800)] 
Support typedef and @encode with a void specifier.

3 years agoDo not output class extension syntax for Object{}.
Jay Freeman (saurik) [Sun, 3 Jan 2016 21:42:30 +0000 (13:42 -0800)] 
Do not output class extension syntax for Object{}.

3 years agoFind code library, even when relative in debugger.
Jay Freeman (saurik) [Sun, 3 Jan 2016 20:48:46 +0000 (12:48 -0800)] 
Find code library, even when relative in debugger.

3 years agoMacros have to support overriding old definitions.
Jay Freeman (saurik) [Sun, 3 Jan 2016 20:46:54 +0000 (12:46 -0800)] 
Macros have to support overriding old definitions.

3 years agoAdd support for __int128 (though not with libffi).
Jay Freeman (saurik) [Sun, 3 Jan 2016 20:02:12 +0000 (12:02 -0800)] 
Add support for __int128 (though not with libffi).

3 years agoUse libclang to walk CXType for anonymous structs.
Jay Freeman (saurik) [Sun, 3 Jan 2016 19:20:04 +0000 (11:20 -0800)] 
Use libclang to walk CXType for anonymous structs.

3 years agoBake more standard header files into the C bridge.
Jay Freeman (saurik) [Sun, 3 Jan 2016 14:14:32 +0000 (06:14 -0800)] 
Bake more standard header files into the C bridge.

3 years agoAccept initializers when allocating Type with new.
Jay Freeman (saurik) [Sun, 3 Jan 2016 12:51:15 +0000 (04:51 -0800)] 
Accept initializers when allocating Type with new.

3 years agoUse class extension syntax as part of Object CYON.
Jay Freeman (saurik) [Sun, 3 Jan 2016 11:56:08 +0000 (03:56 -0800)] 
Use class extension syntax as part of Object CYON.

3 years agoAdd extern "C" expression, for Functor's toCYON().
Jay Freeman (saurik) [Sun, 3 Jan 2016 11:36:31 +0000 (03:36 -0800)] 
Add extern "C" expression, for Functor's toCYON().