Skip to content

Commit 6cedc54

Browse files
author
Dave Moon
committed
Merge branch 'master' of git://github.com/JuliaLang/julia into moon/hygienic-macros
Pull down lots of changes to bring my local Julia up to date.
2 parents 97c11fe + c79c2ba commit 6cedc54

File tree

146 files changed

+6259
-15138
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+6259
-15138
lines changed

Make.inc

+3-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ USE_INTEL_JITEVENTS = 0
4242
USE_LIBCPP = 0
4343

4444
# Select the cpu architecture to target
45-
# Current available options are "native" and "core2"
45+
# Current available options are "native", "core2" and "i386"
4646
JULIA_CPU_TARGET = native
4747

4848
# we include twice to pickup user definitions better
@@ -266,6 +266,8 @@ ifeq ($(JULIA_CPU_TARGET),native)
266266
JCPPFLAGS += -DJULIA_TARGET_NATIVE
267267
else ifeq ($(JULIA_CPU_TARGET),core2)
268268
JCPPFLAGS += -DJULIA_TARGET_CORE2
269+
else ifeq ($(JULIA_CPU_TARGET),i386)
270+
JCPPFLAGS += -DJULIA_TARGET_I386
269271
else
270272
$(error Unknown cpu target architecture)
271273
endif

NEWS.md

+22-7
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,29 @@ New language features
4040
characters, and operator symbols are not allowed in identifiers.
4141
Number-like characters cannot begin identifiers ([#5936]).
4242

43-
* Support for a limited number of infix Unicode operators ([#552], [#6582]):
43+
* Define a limited number of infix Unicode operators ([#552], [#6582]):
4444

4545
| Precedence class | Operators (with synonyms, if any)
4646
| ---------------- | ---------------------------------
47-
| == | ≥ (>=) ≤ (<=) ≡ (===) ≠ (!=) ≢ (!==) .≥ (.>=) .≤ (.<=) .!= (.≠) ∈ (`in`) ∉ (`(x,y)->!in(x, y)`) ∋ (`(x,y)->in(y, x)`) ∌ (`(x,y)->!in(y, x)`) ⊆ (`issubset`) ⊈ (`(x,y)->!issubset(x, y)`) ⊊ (`(x,y)->x⊆y && x!=y`) ⊂ ⊄ |
48-
| + | ⊕ ⊖ ⊞ ⊟ ∪ (`union`) ∨ ⊔ |
49-
| * | ÷ (`div`) ⋅ (`dot`) ∘ × (`cross`) ∩ (`intersect`) ∧ ⊓ ⊗ ⊘ ⊙ ⊚ ⊛ ⊠ ⊡ |
50-
| unary ||
47+
| == | ≥ (>=) ≤ (<=) ≡ (===) ≠ (!=) ≢ (!==) .≥ (.>=) .≤ (.<=) .!= (.≠) ∈ (`in`) ∉ (`(x,y)->!in(x, y)`) ∋ (`(x,y)->in(y, x)`) ∌ (`(x,y)->!in(y, x)`) ⊆ (`issubset`) ⊈ (`(x,y)->!issubset(x, y)`) ⊊ (`(x,y)->x⊆y && x!=y`) |
48+
| + | ∪ (`union`) |
49+
| * | ÷ (`div`) ⋅ (`dot`) × (`cross`) ∩ (`intersect`) |
50+
| unary | √ ∛ |
51+
52+
In addition to these, many of the Unicode operator symbols are parsed
53+
as infix operators and are available for user-defined methods ([#6929]).
5154

5255
* Improved reporting of syntax errors ([#6179])
5356

57+
REPL improvements
58+
-----------------
59+
60+
* New native-Julia REPL implementation, eliminating many problems
61+
stemming from the old GNU Readline-based REPL ([#6270]).
62+
63+
* Tab-substitution of LaTeX math symbols (e.g. `\alpha` by `α`) ([#6911]).
64+
This also works in IJulia and in Emacs ([#6920]).
65+
5466
Library improvements
5567
--------------------
5668

@@ -311,7 +323,7 @@ Deprecated or removed
311323

312324
* `factorize!` is deprecated in favor of `factorize`. ([#5526])
313325

314-
* `nnz` is removed. Use `countnz` or `nfilled` instead ([#5538])
326+
* `nnz` counts the number of structural nonzeros in a sparse matrix. Use `countnz` for the actual number of nonzeros. ([#6769])
315327

316328
* `setfield` is renamed `setfield!` ([#5748])
317329

@@ -330,6 +342,8 @@ Deprecated or removed
330342

331343
* `bitmix` is replaced by a 2-argument form of `hash`.
332344

345+
* `readsfrom` and `writesto` are replaced by `open` ([#6948]).
346+
333347
[#4042]: https://github.com/JuliaLang/julia/issues/4042
334348
[#5164]: https://github.com/JuliaLang/julia/issues/5164
335349
[#4026]: https://github.com/JuliaLang/julia/issues/4026
@@ -374,7 +388,7 @@ Deprecated or removed
374388
[#4888]: https://github.com/JuliaLang/julia/pull/4888
375389
[#5475]: https://github.com/JuliaLang/julia/pull/5475
376390
[#5526]: https://github.com/JuliaLang/julia/pull/5526
377-
[#5538]: https://github.com/JuliaLang/julia/pull/5538
391+
[#6769]: https://github.com/JuliaLang/julia/pull/6769
378392
[#5726]: https://github.com/JuliaLang/julia/pull/5726
379393
[#5811]: https://github.com/JuliaLang/julia/pull/5811
380394
[#5462]: https://github.com/JuliaLang/julia/pull/5462
@@ -413,6 +427,7 @@ Deprecated or removed
413427
[#6582]: https://github.com/JuliaLang/julia/pull/6582
414428
[#6624]: https://github.com/JuliaLang/julia/pull/6624
415429
[#5936]: https://github.com/JuliaLang/julia/issues/5936
430+
[#6179]: https://github.com/JuliaLang/julia/issues/6179
416431

417432
Julia v0.2.0 Release Notes
418433
==========================

README.md

+11
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ The main homepage for Julia can be found at [julialang.org](http://julialang.org
1515
This is the GitHub repository of Julia source code, including instructions for compiling and installing Julia, below.
1616

1717
<a name="Resources"/>
18+
## Resources
1819

1920
- **Homepage:** <http://julialang.org>
2021
- **Binaries:** <http://julialang.org/downloads/>
@@ -30,6 +31,16 @@ The mailing list for developer discussion is
3031
of messages is higher, and the discussions tend to be more esoteric. New
3132
developers may find the notes in [CONTRIBUTING](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md) helpful to start contributing to the Julia codebase.
3233

34+
### External Resources
35+
<a name="External-Resources"/>
36+
37+
- [**StackOverflow**](https://stackoverflow.com/questions/tagged/julia-lang)
38+
- [**Youtube**](https://www.youtube.com/channel/UC9IuUwwE2xdjQUT_LMLONoA)
39+
- [**Twitter**](https://twitter.com/JuliaLanguage)
40+
- [**Facebook Group**](https://www.facebook.com/juliaLanguageUserGroup)
41+
- [**Google+**](https://plus.google.com/communities/111295162646766639102)
42+
- [**Meetup**](http://julia.meetup.com/)
43+
3344
<a name="Currently-Supported-Platforms"/>
3445
## Currently Supported Platforms
3546

README.windows.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Julia runs on Windows XP SP2 or later (including Windows Vista, Windows 7, and W
6363
Now `exit` the MSYS2 shell and restart it, *even if you already restarted it above*. This is necessary in case the system upgrade updated the main MSYS2 libs. Reopen the MSYS2 shell and continue with:
6464

6565
```
66-
pacman -S diffutils git m4 make patch tar
66+
pacman -S diffutils git m4 make patch tar msys/openssh
6767
```
6868

6969
5. Configure your MSYS2 shell for convenience:
@@ -114,6 +114,8 @@ Julia runs on Windows XP SP2 or later (including Windows Vista, Windows 7, and W
114114
touch deps/pcre-8.31/checked # This path will depend on the version of PCRE.
115115
make -j 4 # Adjust the number of cores (4) to match your build environment.
116116
```
117+
6. Setup Package Development Environment
118+
1. The `Pkg` module in Base provides many convenient tools for [developing and publishing packages](http://docs.julialang.org/en/latest/manual/packages/). One of the packages added through pacman above was `openssh`, which will allow secure access to GitHub APIs. Follow GitHub's [guide](https://help.github.com/articles/generating-ssh-keys) to setting up SSH keys to ensure your local machine can communicate with GitHub effectively.
117119
118120
## Building on Windows with MinGW-builds/MSYS
119121

base/LineEdit.jl

+15-10
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
module LineEdit
22

3-
using Base.Terminals
3+
using ..Terminals
44

5-
import Base.Terminals: raw!, width, height, cmove, getX,
5+
import ..Terminals: raw!, width, height, cmove, getX,
66
getY, clear_line, beep
77

88
import Base: ensureroom, peek, show
@@ -29,10 +29,13 @@ end
2929
type Prompt <: TextInterface
3030
prompt
3131
first_prompt
32-
prompt_color::ASCIIString
32+
# A string or function to be printed before the prompt. May not change the length of the prompt.
33+
# This may be used for changing the color, issuing other terminal escape codes, etc.
34+
prompt_prefix
35+
# Same as prefix except after the prompt
36+
prompt_suffix
3337
keymap_func
3438
keymap_func_data
35-
input_color
3639
complete
3740
on_enter
3841
on_done
@@ -602,10 +605,12 @@ default_enter_cb(_) = true
602605

603606
write_prompt(terminal, s::PromptState) = write_prompt(terminal, s, s.p.prompt)
604607
function write_prompt(terminal, s::PromptState, prompt)
605-
write(terminal, s.p.prompt_color)
608+
prefix = isa(s.p.prompt_prefix,Function) ? s.p.prompt_prefix() : s.p.prompt_prefix
609+
suffix = isa(s.p.prompt_suffix,Function) ? s.p.prompt_suffix() : s.p.prompt_suffix
610+
write(terminal, prefix)
606611
write(terminal, prompt)
607612
write(terminal, Base.text_colors[:normal])
608-
write(terminal, s.p.input_color)
613+
write(terminal, suffix)
609614
end
610615
write_prompt(terminal, s::ASCIIString) = write(terminal, s)
611616

@@ -1270,17 +1275,17 @@ const default_keymap_func = @LineEdit.keymap [LineEdit.default_keymap, LineEdit.
12701275

12711276
function Prompt(prompt;
12721277
first_prompt = prompt,
1273-
prompt_color = "",
1278+
prompt_prefix = "",
1279+
prompt_suffix = "",
12741280
keymap_func = default_keymap_func,
12751281
keymap_func_data = nothing,
1276-
input_color = "",
12771282
complete = EmptyCompletionProvider(),
12781283
on_enter = default_enter_cb,
12791284
on_done = ()->nothing,
12801285
hist = EmptyHistoryProvider())
12811286

1282-
Prompt(prompt, first_prompt, prompt_color, keymap_func, keymap_func_data,
1283-
input_color, complete, on_enter, on_done, hist)
1287+
Prompt(prompt, first_prompt, prompt_prefix, prompt_suffix, keymap_func, keymap_func_data,
1288+
complete, on_enter, on_done, hist)
12841289
end
12851290

12861291
run_interface(::Prompt) = nothing

0 commit comments

Comments
 (0)