Repository: goplus/gop
Pull request #2365 (2025-05-23 12:15:04)

rename Go+ => XGo


Patch:
diff --git a/.gitattributes b/.gitattributes
index 04f25b95..34149ce1 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,6 +1,7 @@
 *.expect text eol=lf
 *.golden text eol=lf
 
+*.xgo text eol=lf
 *.gop text eol=lf
 *.go text eol=lf
 *.gox text eol=lf
diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml
index 6652c885..5bbfc5a9 100644
--- a/.github/ISSUE_TEMPLATE/bug-report.yml
+++ b/.github/ISSUE_TEMPLATE/bug-report.yml
@@ -34,7 +34,7 @@ body:
         $ gop run ./sample.gop
         // output
         ```
-      placeholder: $ gop run ./sample.gop
+      placeholder: $ xgo run ./sample.gop
       render: console
     validations:
       required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 391adf78..0db00fb5 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,4 +1,4 @@
 contact_links:
-  - name: Visit the Go+ website
-    url: https://goplus.org
+  - name: Visit the XGo website
+    url: https://xgo.dev
     about: Much help can be found there
diff --git a/.github/ISSUE_TEMPLATE/enhancement.yml b/.github/ISSUE_TEMPLATE/enhancement.yml
index c9409fb7..2888f2a4 100644
--- a/.github/ISSUE_TEMPLATE/enhancement.yml
+++ b/.github/ISSUE_TEMPLATE/enhancement.yml
@@ -1,5 +1,5 @@
 name: Feature request
-description: Propose a change to Go+
+description: Propose a change to XGo
 
 body:
   - type: markdown
diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
index 032acfe5..5c538d9c 100644
--- a/.github/workflows/go.yml
+++ b/.github/workflows/go.yml
@@ -1,4 +1,4 @@
-name: Go+ CI
+name: XGo CI
 
 on:
   push:
@@ -39,9 +39,9 @@ jobs:
       with:
         go-version: ${{ matrix.go }}
 
-    - name: Test Go+ installer
+    - name: Test XGo installer
       run: |
-        git config --global user.email "build-robot@goplus.org"
+        git config --global user.email "build-robot@xgo.dev"
         git config --global user.name "build robot"
         go test -v cmd/make_test.go
 
@@ -75,9 +75,9 @@ jobs:
     - name: Set types alias env
       run: echo "GODEBUG=gotypesalias=1" >> $GITHUB_ENV
 
-    - name: Test Go+ installer
+    - name: Test XGo installer
       run: |
-        git config --global user.email "build-robot@goplus.org"
+        git config --global user.email "build-robot@xgo.dev"
         git config --global user.name "build robot"
         go test -v cmd/make_test.go
 
diff --git a/.gitignore b/.gitignore
index 06d35e99..f0209212 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,9 +32,12 @@ _cgo_export.*
 _testmain.go
 coverage.txt
 
+.xgo/
 .gop/
 gop_autogen*.go
+xgo_autogen*.go
 !cmd/xgo/gop_autogen*.go
+!cmd/xgo/xgo_autogen*.go
 go.json
 go.work*
 format.result
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 91964024..25316d2d 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -60,7 +60,7 @@ representative at an online or offline event.
 
 Instances of abusive, harassing, or otherwise unacceptable behavior may be
 reported to the community leaders responsible for enforcement at
-conduct@goplus.org.
+conduct@xgo.dev.
 All complaints will be reviewed and investigated promptly and fairly.
 
 All community leaders are obligated to respect the privacy and security of the
diff --git a/LICENSE b/LICENSE
index c6915742..55d10a65 100644
--- a/LICENSE
+++ b/LICENSE
@@ -186,7 +186,7 @@ Apache License
       same "printed page" as the copyright notice for easier
       identification within third-party archives.
 
-   Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+   Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
diff --git a/README.md b/README.md
index e1de500c..c8a8a314 100644
--- a/README.md
+++ b/README.md
@@ -3,15 +3,15 @@
 <p>
     <img width="80" src="https://goplus.org/favicon.svg">
 </p>
-<h1>The Go+ Programming Language</h1>
+<h1>The XGo Programming Language</h1>
 
-[goplus.org](https://goplus.org) | [Docs](doc/docs.md) | [Go+ vs. Go](doc/goplus-vs-go.md) | [Tutorials](https://tutorial.goplus.org/) | [Playground](https://play.goplus.org) | [Go+ REPL (iGo+)](https://repl.goplus.org/) | [Contributing & compiler design](doc/contributing.md)
 
+[xgo.dev](https://xgo.dev) | [Docs](doc/docs.md) | [XGo vs. Go](doc/goplus-vs-go.md) | [Tutorials](https://tutorial.goplus.org/) | [Playground](https://play.goplus.org) | [XGo REPL (iXGo)](https://repl.goplus.org/) | [Contributing & compiler design](doc/contributing.md)
 </div>
 
 <div align="center">
 <!--
-[![VSCode](https://img.shields.io/badge/vscode-Go+-teal.svg)](https://github.com/gopcode/vscode-goplus)
+[![VSCode](https://img.shields.io/badge/vscode-XGo-teal.svg)](https://github.com/gopcode/vscode-goplus)
 [![Discord](https://img.shields.io/discord/983646982100897802?label=Discord&logo=discord&logoColor=white)](https://discord.gg/mYjWCJDcAr)
 [![Interpreter](https://img.shields.io/badge/interpreter-iGo+-seagreen.svg)](https://github.com/goplus/igop)
 -->
@@ -35,7 +35,7 @@ Our vision is to **enable everyone to become a builder of the world**.
 
 * Derived from Go and easy to build large projects from its good engineering foundation
 
-The Go+ programming language is designed for engineering, STEM education, and data science.
+The XGo programming language is designed for engineering, STEM education, and data science.
 
 * **For engineering**: working in the simplest language that can be mastered by children.
 * **For STEM education**: studying an engineering language that can be used for work in the future.
@@ -44,18 +44,18 @@ The Go+ programming language is designed for engineering, STEM education, and da
 For more details, see [Quick Start](doc/docs.md).
 
 
-## Key Features of Go+
+## Key Features of XGo
 
-* Approaching natural language expression and intuitive (see [How Go+ simplifies Go's expressions](#how-go-simplifies-gos-expressions)).
-* Smallest but Turing-complete syntax set in best practices (see [The Go+ Mini Specification](doc/spec-mini.md)).
-* Fully compatible with [Go](https://github.com/golang/go) and can mix Go/Go+ code in the same package (see [The Go+ Full Specification](doc/spec.md) and [Go/Go+ Hybrid Programming](doc/docs.md#gogo-hybrid-programming)).
+* Approaching natural language expression and intuitive (see [How XGo simplifies Go's expressions](#how-xgo-simplifies-gos-expressions)).
+* Smallest but Turing-complete syntax set in best practices (see [The XGo Mini Specification](doc/spec-mini.md)).
+* Fully compatible with [Go](https://github.com/golang/go) and can mix Go/XGo code in the same package (see [The XGo Full Specification](doc/spec.md) and [Go/XGo Hybrid Programming](doc/docs.md#gogo-hybrid-programming)).
 * Integrating with the C ecosystem including Python and providing limitless possibilities based on [LLGo](https://github.com/goplus/llgo) (see [Importing C/C++ and Python libraries](#importing-cc-and-python-libraries)).
-* Does not support DSL (Domain-Specific Languages), but supports SDF (Specific Domain Friendliness) (see [Go+ Classfiles](#go-classfiles) and [Domain Text Literal](doc/domian-text-lit.md)).
+* Does not support DSL (Domain-Specific Languages), but supports SDF (Specific Domain Friendliness) (see [XGo Classfiles](#xgo-classfiles) and [Domain Text Literal](doc/domian-text-lit.md)).
 
 
-## How Go+ simplifies Go's expressions
+## How XGo simplifies Go's expressions
 
-Different from the function call style of most languages, Go+ recommends command style code:
+Different from the function call style of most languages, XGo recommends command style code:
 
 ```coffee
 println "Hello world"
@@ -71,9 +71,9 @@ For more discussion on coding style, see https://tutorial.goplus.org/hello-world
 
 Code style is just the first step. We have made many efforts to make the code more intuitive and closer to natural language expression. These include:
 
-| Go code | Go+ code | Note |
+| Go code | XGo code | Note |
 | ---- | ---- | ---- |
-| package main<br><br>import "fmt"<br><br>func main() {<br>&nbsp;&nbsp;&nbsp;&nbsp;fmt.Println("Hi")<br>} | import "fmt"<br><br>fmt.Println("Hi")<br> | Program structure: Go+ allows omitting `package main` and `func main` |
+| package main<br><br>import "fmt"<br><br>func main() {<br>&nbsp;&nbsp;&nbsp;&nbsp;fmt.Println("Hi")<br>} | import "fmt"<br><br>fmt.Println("Hi")<br> | Program structure: XGo allows omitting `package main` and `func main` |
 | fmt.Println("Hi") | echo("Hi") | More builtin functions: It simplifies the expression of the most common tasks |
 | fmt.Println("Hi") | echo "Hi" | Command-line style code: It reduces the number of parentheses in the code as much as possible, making it closer to natural language |
 | name := "Ken"<br>fmt.Printf(<br>&nbsp;&nbsp;"Hi %s\n", name) | name := "Ken"<br>echo "Hi ${name}" | [Goodbye printf](doc/goodbye-printf.md), use `${expr}` in string literals |
@@ -81,22 +81,22 @@ Code style is just the first step. We have made many efforts to make the code mo
 | a = append(a, 4)<br>a = append(a, 5, 6, 7) | a <- 4<br>a <- 5, 6, 7 | Append values to a list |
 | a := map[string]int{<br>&nbsp;&nbsp;&nbsp;&nbsp;"Monday": 1,<br>&nbsp;&nbsp;&nbsp;&nbsp;"Tuesday": 2,<br>} | a := {<br>&nbsp;&nbsp;&nbsp;&nbsp;"Monday": 1,<br>&nbsp;&nbsp;&nbsp;&nbsp;"Tuesday": 2,<br>} | Mapping literals |
 | OnStart(func() {<br>&nbsp;&nbsp;&nbsp;&nbsp;...<br>}) | onStart => {<br>&nbsp;&nbsp;&nbsp;&nbsp;...<br>} | Lambda expressions |
-| type Rect struct {<br>&nbsp;&nbsp;&nbsp;&nbsp;Width&nbsp; float64<br>&nbsp;&nbsp;&nbsp;&nbsp;Height float64<br>}<br><br>func (this *Rect) Area() float64 { <br>&nbsp;&nbsp;&nbsp;&nbsp;return this.Width * this.Height<br>} | var (<br>&nbsp;&nbsp;&nbsp;&nbsp;Width&nbsp; float64<br>&nbsp;&nbsp;&nbsp;&nbsp;Height float64<br>)<br><br>func Area() float64 { <br>&nbsp;&nbsp;&nbsp;&nbsp;return Width * Height<br>} | [Go+ Classfiles](doc/classfile.md): We can express OOP with global variables and functions. |
+| type Rect struct {<br>&nbsp;&nbsp;&nbsp;&nbsp;Width&nbsp; float64<br>&nbsp;&nbsp;&nbsp;&nbsp;Height float64<br>}<br><br>func (this *Rect) Area() float64 { <br>&nbsp;&nbsp;&nbsp;&nbsp;return this.Width * this.Height<br>} | var (<br>&nbsp;&nbsp;&nbsp;&nbsp;Width&nbsp; float64<br>&nbsp;&nbsp;&nbsp;&nbsp;Height float64<br>)<br><br>func Area() float64 { <br>&nbsp;&nbsp;&nbsp;&nbsp;return Width * Height<br>} | [XGo Classfiles](doc/classfile.md): We can express OOP with global variables and functions. |
 
-For more details, see [The Go+ Mini Specification](doc/spec-mini.md).
+For more details, see [The XGo Mini Specification](doc/spec-mini.md).
 
 
 ## Importing C/C++ and Python libraries
 
-Go+ can choose different Go compilers as its underlying support. Currently known supported Go compilers include:
+XGo can choose different Go compilers as its underlying support. Currently known supported Go compilers include:
 
 * [go](https://go.dev/) (The official Go compiler supported by Google)
-* [llgo](https://github.com/goplus/llgo) (The Go compiler supported by the Go+ team)
+* [llgo](https://github.com/goplus/llgo) (The Go compiler supported by the XGo team)
 * [tinygo](https://tinygo.org/) (A Go compiler for small places)
 
-Currently, Go+ defaults to using [go](https://go.dev/) as its underlying support, but in the future, it will be [llgo](https://github.com/goplus/llgo).
+Currently, XGo defaults to using [go](https://go.dev/) as its underlying support, but in the future, it will be [llgo](https://github.com/goplus/llgo).
 
-LLGo is a Go compiler based on [LLVM](https://llvm.org/) in order to better integrate Go with the C ecosystem including Python. It aims to expand the boundaries of Go/Go+, providing limitless possibilities such as:
+LLGo is a Go compiler based on [LLVM](https://llvm.org/) in order to better integrate Go with the C ecosystem including Python. It aims to expand the boundaries of Go/XGo, providing limitless possibilities such as:
 
 * Game development
 * AI and data science
@@ -104,13 +104,13 @@ LLGo is a Go compiler based on [LLVM](https://llvm.org/) in order to better inte
 * Embedded development
 * ...
 
-If you wish to use [llgo](https://github.com/goplus/llgo), specify the `-llgo` flag when initializing a Go+ module:
+If you wish to use [llgo](https://github.com/goplus/llgo), specify the `-llgo` flag when initializing a XGo module:
 
 ```sh
-gop mod init -llgo YourModulePath
+xgo mod init -llgo YourModulePath
 ```
 
-This will generate a `go.mod` file with the following contents (It may vary slightly depending on the versions of local Go+ and LLGo):
+This will generate a `go.mod` file with the following contents (It may vary slightly depending on the versions of local XGo and LLGo):
 
 ```go
 module YourModulePath
@@ -120,7 +120,7 @@ go 1.21 // llgo 1.0
 require github.com/goplus/lib v0.2.0
 ```
 
-Based on LLGo, Go+ can import libraries written in C/C++ and Python.
+Based on LLGo, XGo can import libraries written in C/C++ and Python.
 
 Here is an example (see [chello](demo/_llgo/chello/hello.gop)) of printing `Hello world` using C's `printf`:
 
@@ -130,14 +130,14 @@ import "c"
 c.printf c"Hello world\n"
 ```
 
-Here, `c"Hello world\n"` is a syntax supported by Go+, representing a null-terminated C-style string.
+Here, `c"Hello world\n"` is a syntax supported by XGo, representing a null-terminated C-style string.
 
 To run this example, you can:
 
 ```sh
 cd YourModulePath  # set work directory to your module
-gop mod tidy       # for generating go.sum file
-gop run .
+xgo mod tidy       # for generating go.sum file
+xgo run .
 ```
 
 And here is an example (see [pyhello](demo/_llgo/pyhello/hello.gop)) of printing `Hello world` using Python's `print`:
@@ -148,47 +148,47 @@ import "py/std"
 std.print py"Hello world"
 ```
 
-Here, `py"Hello world"` is a syntax supported by Go+, representing a Python string.
+Here, `py"Hello world"` is a syntax supported by XGo, representing a Python string.
 
-Here are more examples of Go+ calling C/C++ and Python libraries:
+Here are more examples of XGo calling C/C++ and Python libraries:
 
 * [pytensor](demo/_llgo/pytensor/tensor.gop): a simple demo using [py/torch](https://pkg.go.dev/github.com/goplus/lib/py/torch)
 * [tetris](demo/_llgo/tetris/tetris.gop): a tetris game based on [c/raylib](https://pkg.go.dev/github.com/goplus/lib/c/raylib)
 * [sqlitedemo](demo/_llgo/sqlitedemo/sqlitedemo.gop): a demo using [c/sqlite](https://pkg.go.dev/github.com/goplus/lib/c/sqlite)
 
-To find out more about LLGo/Go+'s support for C/C++ and Python in detail, please refer to homepage of [llgo](https://github.com/goplus/llgo).
+To find out more about LLGo/XGo's support for C/C++ and Python in detail, please refer to homepage of [llgo](https://github.com/goplus/llgo).
 
 
-## Go+ Classfiles
+## XGo Classfiles
 
 ```
 One language can change the whole world.
-Go+ is a "DSL" for all domains.
+XGo is a "DSL" for all domains.
 ```
 
-Rob Pike once said that if he could only introduce one feature to Go, he would choose `interface` instead of `goroutine`. `classfile` (and `class framework`) is as important to Go+ as `interface` is to Go.
+Rob Pike once said that if he could only introduce one feature to Go, he would choose `interface` instead of `goroutine`. `classfile` (and `class framework`) is as important to XGo as `interface` is to Go.
 
-In the design philosophy of Go+, we do not recommend `DSL` (Domain Specific Language). But `SDF` (Specific Domain Friendliness) is very important. The Go+ philosophy about `SDF` is:
+In the design philosophy of XGo, we do not recommend `DSL` (Domain Specific Language). But `SDF` (Specific Domain Friendliness) is very important. The XGo philosophy about `SDF` is:
 
 ```
 Don't define a language for specific domain.
 Abstract domain knowledge for it.
 ```
 
-Go+ introduces `classfile` and `class framework` to abstract domain knowledge.
+XGo introduces `classfile` and `class framework` to abstract domain knowledge.
 
 * [What's Classfile?](doc/classfile.md#whats-classfile)
-* [Dive into Go+ Classfiles](doc/classfile.md)
+* [Dive into XGo Classfiles](doc/classfile.md)
 
-Sound a bit abstract? Let's see some Go+ class frameworks.
+Sound a bit abstract? Let's see some XGo class frameworks.
 
-* STEM Education: [spx: A Go+ 2D Game Engine](https://github.com/goplus/spx)
-* AI Programming: [mcp: A Go+ implementation of the Model Context Protocol (MCP)](https://github.com/goplus/mcp)
-* AI Programming: [mcptest: A Go+ MCP Test Framework](https://github.com/goplus/mcp/tree/main/mtest)
+* STEM Education: [spx: A XGo 2D Game Engine](https://github.com/goplus/spx)
+* AI Programming: [mcp: A XGo implementation of the Model Context Protocol (MCP)](https://github.com/goplus/mcp)
+* AI Programming: [mcptest: A XGo MCP Test Framework](https://github.com/goplus/mcp/tree/main/mtest)
 * Web Programming: [yap: Yet Another HTTP Web Framework](https://github.com/goplus/yap)
-* Web Programming: [yaptest: A Go+ HTTP Test Framework](https://github.com/goplus/yap/tree/main/ytest)
-* Web Programming: [ydb: A Go+ Database Framework](https://github.com/goplus/yap/tree/main/ydb)
-* CLI Programming: [cobra: A Commander for modern Go+ CLI interactions](https://github.com/goplus/cobra)
+* Web Programming: [yaptest: A XGo HTTP Test Framework](https://github.com/goplus/yap/tree/main/ytest)
+* Web Programming: [ydb: A XGo Database Framework](https://github.com/goplus/yap/tree/main/ydb)
+* CLI Programming: [cobra: A Commander for modern XGo CLI interactions](https://github.com/goplus/cobra)
 * CLI Programming: [gsh: An alternative to write shell scripts](https://github.com/qiniu/x/tree/main/gsh)
 * Unit Test: [test: Unit Test](doc/classfile.md#class-framework-unit-test)
 
@@ -206,10 +206,10 @@ html `<html><body>Hello, YAP!</body></html>`
 Execute the following commands:
 
 ```sh
-gop mod init hello
-gop get github.com/goplus/yap@latest
-gop mod tidy
-gop run .
+xgo mod init hello
+xgo get github.com/goplus/yap@latest
+xgo mod tidy
+xgo run .
 ```
 
 A simplest web program is running now. At this time, if you visit http://localhost:8080, you will get:
@@ -228,7 +228,7 @@ json {
 }
 ```
 
-Execute `gop run .` and visit http://localhost:8080/p/123, you will get:
+Execute `xgo run .` and visit http://localhost:8080/p/123, you will get:
 
 ```
 {"id": "123"}
@@ -237,7 +237,7 @@ Execute `gop run .` and visit http://localhost:8080/p/123, you will get:
 See [yap: Yet Another HTTP Web Framework](https://github.com/goplus/yap) for more details.
 
 
-### spx: A Go+ 2D Game Engine
+### spx: A XGo 2D Game Engine
 
 ![Screen Shot1](https://github.com/goplus/spx/blob/main/tutorial/01-Weather/1.jpg) ![Screen Shot2](https://github.com/goplus/spx/blob/main/tutorial/01-Weather/2.jpg)
 
@@ -272,12 +272,12 @@ Yes, Jaime recieves the message `1` and says `I come from England.`. Then he bro
 
 The following procedures are very similar. In this way you can implement dialogues between multiple actors.
 
-See [spx: A Go+ 2D Game Engine](https://github.com/goplus/spx) for more details.
+See [spx: A XGo 2D Game Engine](https://github.com/goplus/spx) for more details.
 
 
-### gsh: Go+ DevOps Tools
+### gsh: XGo DevOps Tools
 
-Yes, now you can write `shell script` in Go+. It supports all shell commands.
+Yes, now you can write `shell script` in XGo. It supports all shell commands.
 
 Let's create a file named [example.gsh](https://github.com/qiniu/x/blob/main/gsh/demo/hello/example.gsh) and write the following code:
 
@@ -285,9 +285,9 @@ Let's create a file named [example.gsh](https://github.com/qiniu/x/blob/main/gsh
 mkdir "testgsh"
 ```
 
-Don't need a `go.mod` file, just enter `gop run ./example.gsh` directly to run.
+Don't need a `go.mod` file, just enter `xgo run ./example.gsh` directly to run.
 
-See [gsh: Go+ DevOps Tools](https://github.com/qiniu/x/tree/main/gsh) for more details.
+See [gsh: XGo DevOps Tools](https://github.com/qiniu/x/tree/main/gsh) for more details.
 
 
 ## How to install
@@ -335,11 +335,11 @@ cd gop
 all.bat
 ```
 
-## Go+ Applications
+## XGo Applications
 
-### 2D Games powered by Go+
+### 2D Games powered by XGo
 
-* [A Go+ 2D Game Engine for STEM education](https://github.com/goplus/spx)
+* [A XGo 2D Game Engine for STEM education](https://github.com/goplus/spx)
 * [Aircraft War](https://github.com/goplus/AircraftWar)
 * [Flappy Bird](https://github.com/goplus/FlappyCalf)
 * [Maze Play](https://github.com/goplus/MazePlay)
@@ -355,25 +355,25 @@ all.bat
 
 ### DevOps Tools
 
-* [gsh: Go+ DevOps Tools](https://github.com/qiniu/x/tree/main/gsh)
+* [gsh: XGo DevOps Tools](https://github.com/qiniu/x/tree/main/gsh)
 
 ### Data Processing
 
-* [hdq: HTML DOM Query Language for Go+](https://github.com/goplus/hdq)
+* [hdq: HTML DOM Query Language for XGo](https://github.com/goplus/hdq)
 
 
 ## IDE Plugins
 
-* vscode: [Go/Go+ for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=goplus.gop)
+* vscode: [Go/XGo for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=goplus.gop)
 
 
 ## Contributing
 
-The Go+ project welcomes all contributors. We appreciate your help!
+The XGo project welcomes all contributors. We appreciate your help!
 
 For more details, see [Contributing & compiler design](doc/contributing.md).
 
 
 ## Give a Star! ⭐
 
-If you like or are using Go+ to learn or start your projects, please give it a star. Thanks!
+If you like or are using XGo to learn or start your projects, please give it a star. Thanks!
diff --git a/all.bash b/all.bash
index fad561e8..f38ec76e 100755
--- a/all.bash
+++ b/all.bash
@@ -1,7 +1,7 @@
 #! /usr/bin/env bash
 
 #
-# Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+# Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/ast/ast.go b/ast/ast.go
index 5c6f58e8..58099209 100644
--- a/ast/ast.go
+++ b/ast/ast.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Package ast declares the types used to represent syntax trees for Go+
+// Package ast declares the types used to represent syntax trees for XGo
 // packages.
 package ast
 
@@ -550,7 +550,7 @@ func (*ChanType) exprNode()      {}
 // Convenience functions for Idents
 
 // NewIdent creates a new Ident without position.
-// Useful for ASTs generated by code other than the Go+ parser.
+// Useful for ASTs generated by code other than the XGo parser.
 func NewIdent(name string) *Ident { return &Ident{token.NoPos, name, nil} }
 
 // NewIdentEx creates a new Ident with position and with the given kind.
@@ -1097,11 +1097,11 @@ func (*FuncDecl) declNode() {}
 // ----------------------------------------------------------------------------
 
 // A Package node represents a set of source files
-// collectively building a Go+ package.
+// collectively building a XGo package.
 type Package struct {
 	Name    string               // package name
 	Imports map[string]*Object   // map of package id -> package object
-	Files   map[string]*File     // Go+ source files by filename
+	Files   map[string]*File     // XGo source files by filename
 	GoFiles map[string]*ast.File // Go source files by filename
 }
 
diff --git a/ast/ast_gop.go b/ast/ast_gop.go
index 400ed927..1f3afd96 100644
--- a/ast/ast_gop.go
+++ b/ast/ast_gop.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -447,7 +447,7 @@ func (s *SendStmt) End() token.Pos {
 
 // -----------------------------------------------------------------------------
 
-// A File node represents a Go+ source file.
+// A File node represents a XGo source file.
 //
 // The Comments list contains all comments in the source file in order of
 // appearance, including the comments that are pointed to from other nodes
diff --git a/ast/commentmap.go b/ast/commentmap.go
index 83e0fca3..825e7db9 100644
--- a/ast/commentmap.go
+++ b/ast/commentmap.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/filter.go b/ast/filter.go
index 714100a7..c624ff7a 100644
--- a/ast/filter.go
+++ b/ast/filter.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/fromgo/gopast.go b/ast/fromgo/gopast.go
index 9ec50a0d..8cde3acb 100644
--- a/ast/fromgo/gopast.go
+++ b/ast/fromgo/gopast.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -215,7 +215,7 @@ func gopIdent(v *ast.Ident) *gopast.Ident {
 	}
 }
 
-// CheckIdent checks if a Go+ ast.Ident is converted from a Go ast.Ident or not.
+// CheckIdent checks if a XGo ast.Ident is converted from a Go ast.Ident or not.
 // If it is, CheckIdent returns the original Go ast.Ident object.
 func CheckIdent(v *gopast.Ident) (id *ast.Ident, ok bool) {
 	if o := v.Obj; o != nil && o.Kind == 0 && o.Data != nil {
@@ -342,7 +342,7 @@ const (
 	KeepCgo
 )
 
-// ASTFile converts a Go ast.File into a Go+ ast.File object.
+// ASTFile converts a Go ast.File into a XGo ast.File object.
 func ASTFile(f *ast.File, mode int) *gopast.File {
 	if (mode & KeepFuncBody) != 0 {
 		log.Panicln("ASTFile: doesn't support keeping func body now")
diff --git a/ast/gopq/dom.go b/ast/gopq/dom.go
index 9f063e30..bf10f99f 100644
--- a/ast/gopq/dom.go
+++ b/ast/gopq/dom.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/gopq/gopq.go b/ast/gopq/gopq.go
index 49c22a65..e499bfce 100644
--- a/ast/gopq/gopq.go
+++ b/ast/gopq/gopq.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/gopq/helper.go b/ast/gopq/helper.go
index de81bf57..8d2d7a71 100644
--- a/ast/gopq/helper.go
+++ b/ast/gopq/helper.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/import.go b/ast/import.go
index a6ce862f..d7a122c8 100644
--- a/ast/import.go
+++ b/ast/import.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/mod/deps.go b/ast/mod/deps.go
index 3be48c81..fd9264fa 100644
--- a/ast/mod/deps.go
+++ b/ast/mod/deps.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/print.go b/ast/print.go
index 4544e176..b506ad19 100644
--- a/ast/print.go
+++ b/ast/print.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/resolve.go b/ast/resolve.go
index d94c08e4..1298bc58 100644
--- a/ast/resolve.go
+++ b/ast/resolve.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/scope.go b/ast/scope.go
index 15f25a86..50e535d4 100644
--- a/ast/scope.go
+++ b/ast/scope.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/togo/goast.go b/ast/togo/goast.go
index 4dbac88a..ab7ed3b8 100644
--- a/ast/togo/goast.go
+++ b/ast/togo/goast.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/walk.go b/ast/walk.go
index 5d543291..6d00331e 100644
--- a/ast/walk.go
+++ b/ast/walk.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -80,7 +80,7 @@ func Walk(v Visitor, node Node) {
 		// nothing to do
 
 	case *BasicLit:
-		if n.Extra != nil { // Go+ extended
+		if n.Extra != nil { // XGo extended
 			for _, part := range n.Extra.Parts {
 				if e, ok := part.(Expr); ok {
 					Walk(v, e)
@@ -385,7 +385,7 @@ func Walk(v Visitor, node Node) {
 			Walk(v, f)
 		}
 
-	// Go+ extended expr and stmt
+	// XGo extended expr and stmt
 	case *SliceLit:
 		walkList(v, n.Elts)
 
diff --git a/cl/builtin.go b/cl/builtin.go
index 4e97b9d1..f483cf53 100644
--- a/cl/builtin.go
+++ b/cl/builtin.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/c.go b/cl/c.go
index 27cdaa51..0fc2cdd9 100644
--- a/cl/c.go
+++ b/cl/c.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/classfile.go b/cl/classfile.go
index bd210a65..0d7ea3ff 100644
--- a/cl/classfile.go
+++ b/cl/classfile.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -385,7 +385,7 @@ func getStringConst(spx gogen.PkgRef, name string) string {
 }
 
 func setBodyHandler(ctx *blockCtx) {
-	if proj := ctx.proj; proj != nil { // in a Go+ class file
+	if proj := ctx.proj; proj != nil { // in a XGo class file
 		if scheds := proj.getScheds(ctx.cb); scheds != nil {
 			ctx.cb.SetBodyHandler(func(body *goast.BlockStmt, kind int) {
 				idx := 0
diff --git a/cl/compile.go b/cl/compile.go
index a3eab709..36eded00 100644
--- a/cl/compile.go
+++ b/cl/compile.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Package cl compiles Go+ syntax trees (ast).
+// Package cl compiles XGo syntax trees (ast).
 package cl
 
 import (
@@ -171,7 +171,7 @@ type Recorder interface {
 type Project = modfile.Project
 type Class = modfile.Class
 
-// Config of loading Go+ packages.
+// Config of loading XGo packages.
 type Config struct {
 	// Types provides type information for the package (optional).
 	Types *types.Package
@@ -381,7 +381,7 @@ type blockCtx struct {
 
 	fileLine   bool
 	isClass    bool
-	isGopFile  bool // is Go+ file or not
+	isXgoFile  bool // is XGo file or not
 	typesAlias bool // support types alias
 }
 
@@ -400,7 +400,7 @@ func (p *blockCtx) pystr() gogen.Ref {
 }
 
 func (p *blockCtx) recorder() *goxRecorder {
-	if p.isGopFile {
+	if p.isXgoFile {
 		return p.rec
 	}
 	return nil
@@ -503,7 +503,7 @@ const (
 	testingGoFile  = "_test"
 )
 
-// NewPackage creates a Go+ package instance.
+// NewPackage creates a XGo package instance.
 func NewPackage(pkgPath string, pkg *ast.Package, conf *Config) (p *gogen.Package, err error) {
 	relBaseDir := conf.RelativeBase
 	fset := conf.Fset
@@ -584,7 +584,7 @@ func NewPackage(pkgPath string, pkg *ast.Package, conf *Config) (p *gogen.Packag
 		ctx := &blockCtx{
 			pkg: p, pkgCtx: ctx, cb: p.CB(), relBaseDir: relBaseDir, fileScope: fileScope,
 			fileLine: fileLine, isClass: f.IsClass, rec: rec, imports: make(map[string]pkgImp),
-			isGopFile: true, typesAlias: ctx.featTypesAlias,
+			isXgoFile: true, typesAlias: ctx.featTypesAlias,
 		}
 		if rec := ctx.rec; rec != nil {
 			rec.Scope(f.File, fileScope)
@@ -1040,7 +1040,7 @@ func preloadFile(p *gogen.Package, ctx *blockCtx, f *ast.File, goFile string, ge
 					pos := tName.Pos()
 					ld := getTypeLoader(parent, syms, pos, name)
 					defs := ctx.pkg.NewTypeDefs()
-					if goFile != skippingGoFile { // is Go+ file
+					if goFile != skippingGoFile { // is XGo file
 						ld.typ = func() {
 							old, _ := p.SetCurFile(goFile, true)
 							defer p.RestoreCurFile(old)
diff --git a/cl/expr.go b/cl/expr.go
index 74eb31e6..6b0c3d8d 100644
--- a/cl/expr.go
+++ b/cl/expr.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -101,7 +101,7 @@ func compileIdent(ctx *blockCtx, ident *ast.Ident, flags int) (pkg gogen.PkgRef,
 		}
 	}
 
-	if ctx.isClass { // in a Go+ class file
+	if ctx.isClass { // in a XGo class file
 		if recv = classRecv(cb); recv != nil {
 			cb.Val(recv)
 			chkFlag := flags
@@ -214,7 +214,7 @@ func compileMatrixLit(ctx *blockCtx, v *ast.MatrixLit) {
 
 func compileEnvExpr(ctx *blockCtx, v *ast.EnvExpr) {
 	cb := ctx.cb
-	if ctx.isClass { // in a Go+ class file
+	if ctx.isClass { // in a XGo class file
 		if recv := classRecv(cb); recv != nil {
 			if gopMember(cb, recv, "Gop_Env", v) == nil {
 				name := v.Name
diff --git a/cl/func_type_and_var.go b/cl/func_type_and_var.go
index 637359b6..08f5b8ad 100644
--- a/cl/func_type_and_var.go
+++ b/cl/func_type_and_var.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/spx/game.go b/cl/internal/spx/game.go
index d645abaa..147b8d2a 100644
--- a/cl/internal/spx/game.go
+++ b/cl/internal/spx/game.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/spx/sprite.go b/cl/internal/spx/sprite.go
index a7d1eed9..92804843 100644
--- a/cl/internal/spx/sprite.go
+++ b/cl/internal/spx/sprite.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/spx2/spx2.go b/cl/internal/spx2/spx2.go
index 8b83f551..141ae276 100644
--- a/cl/internal/spx2/spx2.go
+++ b/cl/internal/spx2/spx2.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/spx3/jwt/jwt.go b/cl/internal/spx3/jwt/jwt.go
index 4e56fe6c..efd643e2 100644
--- a/cl/internal/spx3/jwt/jwt.go
+++ b/cl/internal/spx3/jwt/jwt.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/spx3/spx3.go b/cl/internal/spx3/spx3.go
index 06aa8f44..87af08c6 100644
--- a/cl/internal/spx3/spx3.go
+++ b/cl/internal/spx3/spx3.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/spx4/game.go b/cl/internal/spx4/game.go
index 07de0663..6891ae00 100644
--- a/cl/internal/spx4/game.go
+++ b/cl/internal/spx4/game.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/spx4/sprite.go b/cl/internal/spx4/sprite.go
index 97ca23da..0ef81ea7 100644
--- a/cl/internal/spx4/sprite.go
+++ b/cl/internal/spx4/sprite.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/typesutil/api.go b/cl/internal/typesutil/api.go
index 24d7a590..342aa16b 100644
--- a/cl/internal/typesutil/api.go
+++ b/cl/internal/typesutil/api.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/typesutil/mode.go b/cl/internal/typesutil/mode.go
index f183e3ae..501377db 100644
--- a/cl/internal/typesutil/mode.go
+++ b/cl/internal/typesutil/mode.go
@@ -2,7 +2,7 @@
 // +build !go1.23
 
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/typesutil/mode_go123.go b/cl/internal/typesutil/mode_go123.go
index ed68b436..e04b8f65 100644
--- a/cl/internal/typesutil/mode_go123.go
+++ b/cl/internal/typesutil/mode_go123.go
@@ -2,7 +2,7 @@
 // +build go1.23
 
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/outline/outline.go b/cl/outline/outline.go
index 1bd331e9..8c2614ba 100644
--- a/cl/outline/outline.go
+++ b/cl/outline/outline.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -49,7 +49,7 @@ type Package struct {
 	docs gogen.ObjectDocs
 }
 
-// NewPackage creates a Go/Go+ outline package.
+// NewPackage creates a Go/XGo outline package.
 func NewPackage(pkgPath string, pkg *ast.Package, conf *Config) (_ Package, err error) {
 	ret, err := cl.NewPackage(pkgPath, pkg, &cl.Config{
 		Fset:           conf.Fset,
diff --git a/cl/recorder.go b/cl/recorder.go
index a69f21bf..0d7af736 100644
--- a/cl/recorder.go
+++ b/cl/recorder.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/stmt.go b/cl/stmt.go
index 042e3068..369790f3 100644
--- a/cl/stmt.go
+++ b/cl/stmt.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/typeparams.go b/cl/typeparams.go
index 54c3bfbd..61a524c6 100644
--- a/cl/typeparams.go
+++ b/cl/typeparams.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/chore/gopfmt/gopfmt.go b/cmd/chore/gopfmt/gopfmt.go
index cb1ad300..56a2ceb3 100644
--- a/cmd/chore/gopfmt/gopfmt.go
+++ b/cmd/chore/gopfmt/gopfmt.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -194,7 +194,7 @@ func main() {
 		rootDir = path
 		filepath.WalkDir(path, walker.walk)
 		if procCnt == 0 {
-			fmt.Println("no Go+ files in", path)
+			fmt.Println("no XGo files in", path)
 		}
 	}
 }
diff --git a/cmd/chore/gopfullspec/fullspec.gop b/cmd/chore/gopfullspec/fullspec.gop
index b05300ab..8e8ec22f 100644
--- a/cmd/chore/gopfullspec/fullspec.gop
+++ b/cmd/chore/gopfullspec/fullspec.gop
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/chore/gopminispec/minispec.gop b/cmd/chore/gopminispec/minispec.gop
index 71209ccf..c66ee610 100644
--- a/cmd/chore/gopminispec/minispec.gop
+++ b/cmd/chore/gopminispec/minispec.gop
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/gop/main.go b/cmd/gop/main.go
index af8b98fb..6f5f8066 100644
--- a/cmd/gop/main.go
+++ b/cmd/gop/main.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -85,7 +85,7 @@ func main() {
 		help.Help(os.Stderr, args[1:])
 		return
 	}
-	gogen.GeneratedHeader = "// Code generated by gop (Go+); DO NOT EDIT.\n\n"
+	gogen.GeneratedHeader = "// Code generated by xgo (XGo); DO NOT EDIT.\n\n"
 
 BigCmdLoop:
 	for bigCmd := base.Gop; ; {
diff --git a/cmd/internal/base/base.go b/cmd/internal/base/base.go
index 5d529625..7876201d 100644
--- a/cmd/internal/base/base.go
+++ b/cmd/internal/base/base.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -52,7 +52,7 @@ type Command struct {
 // Gop command
 var Gop = &Command{
 	UsageLine: "gop",
-	Short:     `Gop is a tool for managing Go+ source code.`,
+	Short:     `Gop is a tool for managing XGo source code.`,
 	// Commands initialized in package main
 }
 
diff --git a/cmd/internal/bug/bug.go b/cmd/internal/bug/bug.go
index 96a682db..55cf0aaa 100644
--- a/cmd/internal/bug/bug.go
+++ b/cmd/internal/bug/bug.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021-2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021-2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/internal/build/build.go b/cmd/internal/build/build.go
index b73eea99..a9bee18d 100644
--- a/cmd/internal/build/build.go
+++ b/cmd/internal/build/build.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ import (
 // gop build
 var Cmd = &base.Command{
 	UsageLine: "gop build [-debug -o output] [packages]",
-	Short:     "Build Go+ files",
+	Short:     "Build XGo files",
 }
 
 var (
diff --git a/cmd/internal/clean/clean.go b/cmd/internal/clean/clean.go
index a06c5fce..21c46e43 100644
--- a/cmd/internal/clean/clean.go
+++ b/cmd/internal/clean/clean.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021-2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021-2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -98,7 +98,7 @@ func removeGopDir(dir string, execAct bool) {
 // Cmd - gop clean
 var Cmd = &base.Command{
 	UsageLine: "gop clean [flags] <gopSrcDir>",
-	Short:     "Clean all Go+ auto generated files",
+	Short:     "Clean all XGo auto generated files",
 }
 
 var (
diff --git a/cmd/internal/deps/deps.go b/cmd/internal/deps/deps.go
index 1d5f6a04..2e838398 100644
--- a/cmd/internal/deps/deps.go
+++ b/cmd/internal/deps/deps.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/internal/doc/doc.go b/cmd/internal/doc/doc.go
index e3f7d306..22d27265 100644
--- a/cmd/internal/doc/doc.go
+++ b/cmd/internal/doc/doc.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -95,7 +95,7 @@ func outlinePkg(proj gopprojs.Proj, conf *tool.Config) {
 		log.Panicln("`gop doc` doesn't support", reflect.TypeOf(v))
 	}
 	if tool.NotFound(err) {
-		fmt.Fprintf(os.Stderr, "gop doc %v: not Go/Go+ files found\n", obj)
+		fmt.Fprintf(os.Stderr, "gop doc %v: not Go/XGo files found\n", obj)
 	} else if err != nil {
 		fmt.Fprintln(os.Stderr, err)
 	} else {
diff --git a/cmd/internal/env/env.go b/cmd/internal/env/env.go
index b634b954..5f5d04f2 100644
--- a/cmd/internal/env/env.go
+++ b/cmd/internal/env/env.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ import (
 // Cmd - gop env
 var Cmd = &base.Command{
 	UsageLine: "gop env [-json] [var ...]",
-	Short:     "Prints Go+ environment information",
+	Short:     "Prints XGo environment information",
 }
 
 var (
diff --git a/cmd/internal/gengo/go.go b/cmd/internal/gengo/go.go
index 31c64145..684f0567 100644
--- a/cmd/internal/gengo/go.go
+++ b/cmd/internal/gengo/go.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021-2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021-2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,7 +34,7 @@ import (
 // gop go
 var Cmd = &base.Command{
 	UsageLine: "gop go [-v] [packages|files]",
-	Short:     "Convert Go+ code into Go code",
+	Short:     "Convert XGo code into Go code",
 }
 
 var (
diff --git a/cmd/internal/gopfmt/fmt.go b/cmd/internal/gopfmt/fmt.go
index 1cf792da..60206386 100644
--- a/cmd/internal/gopfmt/fmt.go
+++ b/cmd/internal/gopfmt/fmt.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -40,15 +40,15 @@ import (
 // Cmd - gop fmt
 var Cmd = &base.Command{
 	UsageLine: "gop fmt [flags] path ...",
-	Short:     "Format Go+ packages",
+	Short:     "Format XGo packages",
 }
 
 var (
 	flag        = &Cmd.Flag
-	flagTest    = flag.Bool("t", false, "test if Go+ files are formatted or not.")
+	flagTest    = flag.Bool("t", false, "test if XGo files are formatted or not.")
 	flagNotExec = flag.Bool("n", false, "prints commands that would be executed.")
 	flagMoveGo  = flag.Bool("mvgo", false, "move .go files to .gop files (only available in `--smart` mode).")
-	flagSmart   = flag.Bool("smart", false, "convert Go code style into Go+ style.")
+	flagSmart   = flag.Bool("smart", false, "convert Go code style into XGo style.")
 )
 
 func init() {
@@ -223,7 +223,7 @@ func runCmd(cmd *base.Command, args []string) {
 		rootDir = path
 		filepath.WalkDir(path, walker.walk)
 		if procCnt == 0 {
-			fmt.Println("no Go+ files in", path)
+			fmt.Println("no XGo files in", path)
 		}
 	}
 }
diff --git a/cmd/internal/gopget/get.go b/cmd/internal/gopget/get.go
index 0cff04a7..40d83645 100644
--- a/cmd/internal/gopget/get.go
+++ b/cmd/internal/gopget/get.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/internal/help/help.go b/cmd/internal/help/help.go
index 16ab23aa..effd114c 100644
--- a/cmd/internal/help/help.go
+++ b/cmd/internal/help/help.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/internal/install/install.go b/cmd/internal/install/install.go
index 9639faa6..24b02c13 100644
--- a/cmd/internal/install/install.go
+++ b/cmd/internal/install/install.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ import (
 // gop install
 var Cmd = &base.Command{
 	UsageLine: "gop install [-debug] [packages]",
-	Short:     "Build Go+ files and install target to GOBIN",
+	Short:     "Build XGo files and install target to GOBIN",
 }
 
 var (
diff --git a/cmd/internal/list/list.go b/cmd/internal/list/list.go
index a53a0cdc..d02e72fc 100644
--- a/cmd/internal/list/list.go
+++ b/cmd/internal/list/list.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/internal/mod/download.go b/cmd/internal/mod/download.go
index 6448cc9b..cb18e24c 100644
--- a/cmd/internal/mod/download.go
+++ b/cmd/internal/mod/download.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/internal/mod/init.go b/cmd/internal/mod/init.go
index cb142966..cf3a683d 100644
--- a/cmd/internal/mod/init.go
+++ b/cmd/internal/mod/init.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/internal/mod/mod.go b/cmd/internal/mod/mod.go
index c4732848..0c009fc8 100644
--- a/cmd/internal/mod/mod.go
+++ b/cmd/internal/mod/mod.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/internal/mod/tidy.go b/cmd/internal/mod/tidy.go
index cbe8f3ee..9dc855d8 100644
--- a/cmd/internal/mod/tidy.go
+++ b/cmd/internal/mod/tidy.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/internal/run/run.go b/cmd/internal/run/run.go
index 8b01293e..b9e4e815 100644
--- a/cmd/internal/run/run.go
+++ b/cmd/internal/run/run.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,12 +34,12 @@ import (
 // gop run
 var Cmd = &base.Command{
 	UsageLine: "gop run [-nc -asm -quiet -debug -prof] package [arguments...]",
-	Short:     "Run a Go+ program",
+	Short:     "Run a XGo program",
 }
 
 var (
 	flag        = &Cmd.Flag
-	flagAsm     = flag.Bool("asm", false, "generates `asm` code of Go+ bytecode backend")
+	flagAsm     = flag.Bool("asm", false, "generates `asm` code of XGo bytecode backend")
 	flagDebug   = flag.Bool("debug", false, "print debug information")
 	flagQuiet   = flag.Bool("quiet", false, "don't generate any compiling stage log")
 	flagNoChdir = flag.Bool("nc", false, "don't change dir (only for `gop run pkgPath`)")
diff --git a/cmd/internal/serve/serve.go b/cmd/internal/serve/serve.go
index 42f5f94f..773bc896 100644
--- a/cmd/internal/serve/serve.go
+++ b/cmd/internal/serve/serve.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,7 +30,7 @@ import (
 // gop serve
 var Cmd = &base.Command{
 	UsageLine: "gop serve [flags]",
-	Short:     "Serve as a Go+ LangServer",
+	Short:     "Serve as a XGo LangServer",
 }
 
 var (
diff --git a/cmd/internal/version/ver.go b/cmd/internal/version/ver.go
index 57ac1468..ca632f97 100644
--- a/cmd/internal/version/ver.go
+++ b/cmd/internal/version/ver.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,7 +29,7 @@ import (
 // Cmd - gop version
 var Cmd = &base.Command{
 	UsageLine: "gop version [-v]",
-	Short:     "Print Go+ version",
+	Short:     "Print XGo version",
 }
 
 var (
diff --git a/cmd/internal/watch/watch.go b/cmd/internal/watch/watch.go
index b753052f..aced9e41 100644
--- a/cmd/internal/watch/watch.go
+++ b/cmd/internal/watch/watch.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,7 +31,7 @@ import (
 // gop watch
 var Cmd = &base.Command{
 	UsageLine: "gop watch [-v -gentest] [dir]",
-	Short:     "Monitor code changes in a Go+ workspace to generate Go files",
+	Short:     "Monitor code changes in a XGo workspace to generate Go files",
 }
 
 var (
diff --git a/cmd/make.go b/cmd/make.go
index 866d4d4a..cf106c86 100644
--- a/cmd/make.go
+++ b/cmd/make.go
@@ -2,7 +2,7 @@
 // +build ignore
 
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -302,7 +302,7 @@ func linkGoplusToLocalBin() string {
 	gopBinPath := detectGopBinPath()
 	goBinPath := detectGoBinPath()
 	if !checkPathExist(gopBinPath, true) {
-		log.Fatalf("Error: %s is not existed, you should build Go+ before linking.\n", gopBinPath)
+		log.Fatalf("Error: %s is not existed, you should build XGo before linking.\n", gopBinPath)
 	}
 	if !checkPathExist(goBinPath, true) {
 		if err := os.MkdirAll(goBinPath, 0755); err != nil {
@@ -314,7 +314,7 @@ func linkGoplusToLocalBin() string {
 	for _, file := range gopBinFiles {
 		sourceFile := filepath.Join(gopBinPath, file)
 		if !checkPathExist(sourceFile, false) {
-			log.Fatalf("Error: %s is not existed, you should build Go+ before linking.\n", sourceFile)
+			log.Fatalf("Error: %s is not existed, you should build XGo before linking.\n", sourceFile)
 		}
 		targetLink := filepath.Join(goBinPath, file)
 		if checkPathExist(targetLink, false) {
@@ -344,14 +344,14 @@ func buildGoplusTools(useGoProxy bool) {
 		)
 	}
 
-	// Install Go+ binary files under current ./bin directory.
+	// Install XGo binary files under current ./bin directory.
 	gopBinPath := detectGopBinPath()
 	if err := os.Mkdir(gopBinPath, 0755); err != nil && !os.IsExist(err) {
-		println("Error: Go+ can't create ./bin directory to put build assets.")
+		println("Error: XGo can't create ./bin directory to put build assets.")
 		log.Fatalln(err)
 	}
 
-	println("Building Go+ tools...\n")
+	println("Building XGo tools...\n")
 	os.Chdir(commandsDir)
 	buildOutput, err := execCommand("go", "build", "-o", gopBinPath, "-v", "-ldflags", buildFlags, "./...")
 	if err != nil {
@@ -367,15 +367,15 @@ func buildGoplusTools(useGoProxy bool) {
 
 func showHelpPostInstall(installPath string) {
 	println("\nNEXT STEP:")
-	println("\nWe just installed Go+ into the directory: ", installPath)
+	println("\nWe just installed XGo into the directory: ", installPath)
 	message := `
-To setup a better Go+ development environment,
+To setup a better XGo development environment,
 we recommend you add the above install directory into your PATH environment variable.
 	`
 	println(message)
 }
 
-// Install Go+ tools
+// Install XGo tools
 func install() {
 	installPath := linkGoplusToLocalBin()
 
@@ -393,7 +393,7 @@ func runTestcases() {
 	coverage := "-coverprofile=coverage.txt"
 	gopCommand := filepath.Join(detectGopBinPath(), gopBinFiles[0])
 	if !checkPathExist(gopCommand, false) {
-		println("Error: Go+ must be installed before running testcases.")
+		println("Error: XGo must be installed before running testcases.")
 		os.Exit(1)
 	}
 
@@ -445,9 +445,9 @@ func cleanGopRunCache() {
 }
 
 func uninstall() {
-	println("Uninstalling Go+ and related tools.")
+	println("Uninstalling XGo and related tools.")
 	clean()
-	println("Go+ and related tools uninstalled successfully.")
+	println("XGo and related tools uninstalled successfully.")
 }
 
 func isInChinaWindows() bool {
@@ -566,11 +566,11 @@ func runRegtests() {
 }
 
 func main() {
-	isInstall := flag.Bool("install", false, "Install Go+")
-	isBuild := flag.Bool("build", false, "Build Go+ tools")
+	isInstall := flag.Bool("install", false, "Install XGo")
+	isBuild := flag.Bool("build", false, "Build XGo tools")
 	isTest := flag.Bool("test", false, "Run testcases")
 	isRegtest := flag.Bool("regtest", false, "Run regtests")
-	isUninstall := flag.Bool("uninstall", false, "Uninstall Go+")
+	isUninstall := flag.Bool("uninstall", false, "Uninstall XGo")
 	isGoProxy := flag.Bool("proxy", false, "Set GOPROXY for people in China")
 	isAutoProxy := flag.Bool("autoproxy", false, "Check to set GOPROXY automatically")
 	noPush := flag.Bool("nopush", false, "Don't push to remote repo")
diff --git a/cmd/xgo/bug_cmd.gox b/cmd/xgo/bug_cmd.gox
index 5beb7c7a..ad16ab76 100644
--- a/cmd/xgo/bug_cmd.gox
+++ b/cmd/xgo/bug_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/xgo/build_cmd.gox b/cmd/xgo/build_cmd.gox
index 83e615bd..9aa218a8 100644
--- a/cmd/xgo/build_cmd.gox
+++ b/cmd/xgo/build_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ import (
 
 use "build [flags] [packages]"
 
-short "Build Go+ files"
+short "Build XGo files"
 
 flagOff
 
diff --git a/cmd/xgo/clean_cmd.gox b/cmd/xgo/clean_cmd.gox
index cf9a9189..c22a2b60 100644
--- a/cmd/xgo/clean_cmd.gox
+++ b/cmd/xgo/clean_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ import (
 
 use "clean [flags] <gopSrcDir>"
 
-short "Clean all Go+ auto generated files"
+short "Clean all XGo auto generated files"
 
 flagOff
 
diff --git a/cmd/xgo/doc_cmd.gox b/cmd/xgo/doc_cmd.gox
index fd28b87d..07281038 100644
--- a/cmd/xgo/doc_cmd.gox
+++ b/cmd/xgo/doc_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/xgo/env_cmd.gox b/cmd/xgo/env_cmd.gox
index 3b41200b..3ac18a4a 100644
--- a/cmd/xgo/env_cmd.gox
+++ b/cmd/xgo/env_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ import (
 
 use "env [flags] [var ...]"
 
-short "Prints Go+ environment information"
+short "Prints XGo environment information"
 
 flagOff
 
diff --git a/cmd/xgo/fmt_cmd.gox b/cmd/xgo/fmt_cmd.gox
index e4475c0b..7a871c14 100644
--- a/cmd/xgo/fmt_cmd.gox
+++ b/cmd/xgo/fmt_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ import (
 
 use "fmt [flags] path ..."
 
-short "Format Go+ packages"
+short "Format XGo packages"
 
 flagOff
 
diff --git a/cmd/xgo/get_cmd.gox b/cmd/xgo/get_cmd.gox
index 37a74482..57d746fc 100644
--- a/cmd/xgo/get_cmd.gox
+++ b/cmd/xgo/get_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/xgo/go_cmd.gox b/cmd/xgo/go_cmd.gox
index 124dff96..3400ccec 100644
--- a/cmd/xgo/go_cmd.gox
+++ b/cmd/xgo/go_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ import (
 
 use "go [flags] [packages|files]"
 
-short "Convert Go+ code into Go code"
+short "Convert XGo code into Go code"
 
 flagOff
 
diff --git a/cmd/xgo/gop_autogen.go b/cmd/xgo/gop_autogen.go
index 02de7325..9c9a09f8 100644
--- a/cmd/xgo/gop_autogen.go
+++ b/cmd/xgo/gop_autogen.go
@@ -1,4 +1,4 @@
-// Code generated by gop (Go+); DO NOT EDIT.
+// Code generated by xgo (XGo); DO NOT EDIT.
 
 package main
 
@@ -106,11 +106,11 @@ type Cmd_watch struct {
 //line cmd/xgo/main_app.gox:6
 func (this *App) MainEntry() {
 //line cmd/xgo/main_app.gox:6:1
-	this.Short("xgo is a tool for managing xGo source code.")
+	this.Short("xgo is a tool for managing XGo source code.")
 //line cmd/xgo/main_app.gox:7:1
 	log.SetFlags(log.Ldefault &^ log.LstdFlags)
 //line cmd/xgo/main_app.gox:9:1
-	gogen.GeneratedHeader = "// Code generated by xgo (xGo); DO NOT EDIT.\n\n"
+	gogen.GeneratedHeader = "// Code generated by xgo (XGo); DO NOT EDIT.\n\n"
 }
 func (this *App) Main() {
 	_gop_obj0 := &Cmd_bug{App: this}
@@ -157,7 +157,7 @@ func (this *Cmd_build) Main(_gop_arg0 string) {
 //line cmd/xgo/build_cmd.gox:20:1
 	this.Use("build [flags] [packages]")
 //line cmd/xgo/build_cmd.gox:22:1
-	this.Short("Build Go+ files")
+	this.Short("Build XGo files")
 //line cmd/xgo/build_cmd.gox:24:1
 	this.FlagOff()
 //line cmd/xgo/build_cmd.gox:26:1
@@ -175,7 +175,7 @@ func (this *Cmd_clean) Main(_gop_arg0 string) {
 //line cmd/xgo/clean_cmd.gox:20:1
 	this.Use("clean [flags] <gopSrcDir>")
 //line cmd/xgo/clean_cmd.gox:22:1
-	this.Short("Clean all Go+ auto generated files")
+	this.Short("Clean all XGo auto generated files")
 //line cmd/xgo/clean_cmd.gox:24:1
 	this.FlagOff()
 //line cmd/xgo/clean_cmd.gox:26:1
@@ -211,7 +211,7 @@ func (this *Cmd_env) Main(_gop_arg0 string) {
 //line cmd/xgo/env_cmd.gox:20:1
 	this.Use("env [flags] [var ...]")
 //line cmd/xgo/env_cmd.gox:22:1
-	this.Short("Prints Go+ environment information")
+	this.Short("Prints XGo environment information")
 //line cmd/xgo/env_cmd.gox:24:1
 	this.FlagOff()
 //line cmd/xgo/env_cmd.gox:26:1
@@ -229,7 +229,7 @@ func (this *Cmd_fmt) Main(_gop_arg0 string) {
 //line cmd/xgo/fmt_cmd.gox:20:1
 	this.Use("fmt [flags] path ...")
 //line cmd/xgo/fmt_cmd.gox:22:1
-	this.Short("Format Go+ packages")
+	this.Short("Format XGo packages")
 //line cmd/xgo/fmt_cmd.gox:24:1
 	this.FlagOff()
 //line cmd/xgo/fmt_cmd.gox:26:1
@@ -265,7 +265,7 @@ func (this *Cmd_go) Main(_gop_arg0 string) {
 //line cmd/xgo/go_cmd.gox:20:1
 	this.Use("go [flags] [packages|files]")
 //line cmd/xgo/go_cmd.gox:22:1
-	this.Short("Convert Go+ code into Go code")
+	this.Short("Convert XGo code into Go code")
 //line cmd/xgo/go_cmd.gox:24:1
 	this.FlagOff()
 //line cmd/xgo/go_cmd.gox:26:1
@@ -283,7 +283,7 @@ func (this *Cmd_install) Main(_gop_arg0 string) {
 //line cmd/xgo/install_cmd.gox:20:1
 	this.Use("install [flags] [packages]")
 //line cmd/xgo/install_cmd.gox:22:1
-	this.Short("Build Go+ files and install target to GOBIN")
+	this.Short("Build XGo files and install target to GOBIN")
 //line cmd/xgo/install_cmd.gox:24:1
 	this.FlagOff()
 //line cmd/xgo/install_cmd.gox:26:1
@@ -385,7 +385,7 @@ func (this *Cmd_run) Main(_gop_arg0 string) {
 //line cmd/xgo/run_cmd.gox:20:1
 	this.Use("run [flags] package [arguments...]")
 //line cmd/xgo/run_cmd.gox:22:1
-	this.Short("Compile and run a Go+ program")
+	this.Short("Compile and run a XGo program")
 //line cmd/xgo/run_cmd.gox:24:1
 	this.FlagOff()
 //line cmd/xgo/run_cmd.gox:26:1
@@ -403,7 +403,7 @@ func (this *Cmd_serve) Main(_gop_arg0 string) {
 //line cmd/xgo/serve_cmd.gox:20:1
 	this.Use("serve [flags]")
 //line cmd/xgo/serve_cmd.gox:22:1
-	this.Short("Serve as a Go+ LangServer")
+	this.Short("Serve as a XGo LangServer")
 //line cmd/xgo/serve_cmd.gox:24:1
 	this.FlagOff()
 //line cmd/xgo/serve_cmd.gox:26:1
@@ -421,7 +421,7 @@ func (this *Cmd_test) Main(_gop_arg0 string) {
 //line cmd/xgo/test_cmd.gox:20:1
 	this.Use("test [flags] [packages]")
 //line cmd/xgo/test_cmd.gox:22:1
-	this.Short("Test Go+ packages")
+	this.Short("Test XGo packages")
 //line cmd/xgo/test_cmd.gox:24:1
 	this.FlagOff()
 //line cmd/xgo/test_cmd.gox:26:1
@@ -439,7 +439,7 @@ func (this *Cmd_version) Main(_gop_arg0 string) {
 //line cmd/xgo/version_cmd.gox:21:1
 	this.Use("version [flags]")
 //line cmd/xgo/version_cmd.gox:23:1
-	this.Short("Print Go+ version")
+	this.Short("Print XGo version")
 //line cmd/xgo/version_cmd.gox:25:1
 	this.Run__0(func() {
 //line cmd/xgo/version_cmd.gox:26:1
@@ -455,7 +455,7 @@ func (this *Cmd_watch) Main(_gop_arg0 string) {
 //line cmd/xgo/watch_cmd.gox:20:1
 	this.Use("watch [flags] [dir]")
 //line cmd/xgo/watch_cmd.gox:22:1
-	this.Short("Monitor code changes in a Go+ workspace to generate Go files")
+	this.Short("Monitor code changes in a XGo workspace to generate Go files")
 //line cmd/xgo/watch_cmd.gox:24:1
 	this.FlagOff()
 //line cmd/xgo/watch_cmd.gox:26:1
diff --git a/cmd/xgo/install_cmd.gox b/cmd/xgo/install_cmd.gox
index e86e03a7..9a102a09 100644
--- a/cmd/xgo/install_cmd.gox
+++ b/cmd/xgo/install_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ import (
 
 use "install [flags] [packages]"
 
-short "Build Go+ files and install target to GOBIN"
+short "Build XGo files and install target to GOBIN"
 
 flagOff
 
diff --git a/cmd/xgo/main_app.gox b/cmd/xgo/main_app.gox
index 78af825a..1081d338 100644
--- a/cmd/xgo/main_app.gox
+++ b/cmd/xgo/main_app.gox
@@ -3,7 +3,7 @@ import (
 	"github.com/qiniu/x/log"
 )
 
-short "xgo is a tool for managing xGo source code."
+short "xgo is a tool for managing XGo source code."
 log.setFlags log.Ldefault&^log.LstdFlags
 
-gogen.GeneratedHeader = "// Code generated by xgo (xGo); DO NOT EDIT.\n\n"
+gogen.GeneratedHeader = "// Code generated by xgo (XGo); DO NOT EDIT.\n\n"
diff --git a/cmd/xgo/mod_cmd.gox b/cmd/xgo/mod_cmd.gox
index fde9ae57..fa47e6c0 100644
--- a/cmd/xgo/mod_cmd.gox
+++ b/cmd/xgo/mod_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/xgo/mod_download_cmd.gox b/cmd/xgo/mod_download_cmd.gox
index b0cedd99..630b06b3 100644
--- a/cmd/xgo/mod_download_cmd.gox
+++ b/cmd/xgo/mod_download_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/xgo/mod_init_cmd.gox b/cmd/xgo/mod_init_cmd.gox
index ce8aff76..02a33c5a 100644
--- a/cmd/xgo/mod_init_cmd.gox
+++ b/cmd/xgo/mod_init_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/xgo/mod_tidy_cmd.gox b/cmd/xgo/mod_tidy_cmd.gox
index 5e845fb5..ac6de631 100644
--- a/cmd/xgo/mod_tidy_cmd.gox
+++ b/cmd/xgo/mod_tidy_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/xgo/run_cmd.gox b/cmd/xgo/run_cmd.gox
index b816126c..075e796b 100644
--- a/cmd/xgo/run_cmd.gox
+++ b/cmd/xgo/run_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ import (
 
 use "run [flags] package [arguments...]"
 
-short "Compile and run a Go+ program"
+short "Compile and run a XGo program"
 
 flagOff
 
diff --git a/cmd/xgo/serve_cmd.gox b/cmd/xgo/serve_cmd.gox
index 2bb6815a..9b2d251a 100644
--- a/cmd/xgo/serve_cmd.gox
+++ b/cmd/xgo/serve_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ import (
 
 use "serve [flags]"
 
-short "Serve as a Go+ LangServer"
+short "Serve as a XGo LangServer"
 
 flagOff
 
diff --git a/cmd/xgo/version_cmd.gox b/cmd/xgo/version_cmd.gox
index e63db27d..cd2de7f6 100644
--- a/cmd/xgo/version_cmd.gox
+++ b/cmd/xgo/version_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@ import (
 
 use "version [flags]"
 
-short "Print Go+ version"
+short "Print XGo version"
 
 run => {
 	echo "xgo ${self.version} ${runtime.GOOS}/${runtime.GOARCH}"
diff --git a/cmd/xgo/watch_cmd.gox b/cmd/xgo/watch_cmd.gox
index 5eb84692..1b2fe3ab 100644
--- a/cmd/xgo/watch_cmd.gox
+++ b/cmd/xgo/watch_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ import (
 
 use "watch [flags] [dir]"
 
-short "Monitor code changes in a Go+ workspace to generate Go files"
+short "Monitor code changes in a XGo workspace to generate Go files"
 
 flagOff
 
diff --git a/demo/_llgo/hellollgo/README.md b/demo/_llgo/hellollgo/README.md
index 9b5f7956..ec1bac98 100644
--- a/demo/_llgo/hellollgo/README.md
+++ b/demo/_llgo/hellollgo/README.md
@@ -1,4 +1,4 @@
-This is an example to show how Go+ interacts with C.
+This is an example to show how XGo interacts with C.
 
 ```go
 import "c"
@@ -24,7 +24,7 @@ To run this demo, you need to set the `GOP_GOCMD` environment variable first.
 export GOP_GOCMD=llgo  # default is `go`
 ```
 
-Then execute `gop run .` to see the output of this example:
+Then execute `xgo run .` to see the output of this example:
 
 ```
 Hello, llgo!
@@ -33,4 +33,4 @@ Hi,    3.1
 
 ### Give a Star! ⭐
 
-If you like or are using Go+ to learn or start your projects, please give it a star. Thanks!
+If you like or are using XGo to learn or start your projects, please give it a star. Thanks!
diff --git a/demo/_llgo/tetris/tetris.gop b/demo/_llgo/tetris/tetris.gop
index 5d54faeb..d4ce741d 100644
--- a/demo/_llgo/tetris/tetris.gop
+++ b/demo/_llgo/tetris/tetris.gop
@@ -111,7 +111,7 @@ func keyPressed(key c.Int) bool {
 	return raylib.isKeyPressed(key) || raylib.isKeyPressedRepeat(key)
 }
 
-raylib.initWindow SCREENWIDTH, SCREENHEIGHT, c"tetris (powered by raylib and Go+)"
+raylib.initWindow SCREENWIDTH, SCREENHEIGHT, c"tetris (powered by raylib and XGo)"
 raylib.setTargetFPS 60
 genShape
 
diff --git a/demo/mixgo/README.md b/demo/mixgo/README.md
index a995f3df..64e1190d 100644
--- a/demo/mixgo/README.md
+++ b/demo/mixgo/README.md
@@ -1,4 +1,4 @@
-This is an example to show how to mix Go/Go+ code in the same package.
+This is an example to show how to mix Go/XGo code in the same package.
 
 In this example, we have a Go source file named `a.go`:
 
@@ -13,25 +13,25 @@ func p(a interface{}) {
 }
 ```
 
-And we have a Go+ source file named `b.gop`:
+And we have a XGo source file named `b.gop`:
 
 ```go
 func sayMix() {
-	println "Mix Go and Go+"
+	println "Mix Go and XGo"
 }
 
 p "world"
 ```
 
-You can see that Go calls a Go+ function named `sayMix`, and Go+ calls a Go function named `p`. As you are used to in Go programming, this kind of circular reference is allowed.
+You can see that Go calls a XGo function named `sayMix`, and XGo calls a Go function named `p`. As you are used to in Go programming, this kind of circular reference is allowed.
 
-Run `gop run .` to see the output of this example:
+Run `xgo run .` to see the output of this example:
 
 ```
-Mix Go and Go+
+Mix Go and XGo
 Hello, world
 ```
 
 ### Give a Star! ⭐
 
-If you like or are using Go+ to learn or start your projects, please give it a star. Thanks!
+If you like or are using XGo to learn or start your projects, please give it a star. Thanks!
diff --git a/demo/mixgo/b.gop b/demo/mixgo/b.gop
index 26f88bb3..3cc24db6 100644
--- a/demo/mixgo/b.gop
+++ b/demo/mixgo/b.gop
@@ -1,5 +1,5 @@
 func sayMix() {
-	println "Mix Go and Go+"
+	println "Mix Go and XGo"
 }
 
 p "world"
diff --git a/doc/classfile.md b/doc/classfile.md
index 33079bd2..5f4ddb4e 100644
--- a/doc/classfile.md
+++ b/doc/classfile.md
@@ -1,27 +1,27 @@
-Go+ Classfiles
+XGo Classfiles
 =====
 
 ```
 One language can change the world.
-Go+ is a "DSL" for all domains.
+XGo is a "DSL" for all domains.
 ```
 
-Rob Pike once said that if he could only introduce one feature to Go, he would choose `interface` instead of `goroutine`. `classfile` (and `class framework`) is as important to Go+ as `interface` is to Go.
+Rob Pike once said that if he could only introduce one feature to Go, he would choose `interface` instead of `goroutine`. `classfile` (and `class framework`) is as important to XGo as `interface` is to Go.
 
-In the design philosophy of Go+, we do not recommend `DSL` (Domain Specific Language). But `SDF` (Specific Domain Friendliness) is very important. The Go+ philosophy about `SDF` is:
+In the design philosophy of XGo, we do not recommend `DSL` (Domain Specific Language). But `SDF` (Specific Domain Friendliness) is very important. The XGo philosophy about `SDF` is:
 
 ```
 Don't define a language for specific domain.
 Abstract domain knowledge for it.
 ```
 
-Go+ introduces `classfile` and `class framework` to abstract domain knowledge.
+XGo introduces `classfile` and `class framework` to abstract domain knowledge.
 
-* STEM Education: [spx: A Go+ 2D Game Engine](https://github.com/goplus/spx)
+* STEM Education: [spx: A XGo 2D Game Engine](https://github.com/goplus/spx)
 * Web Programming: [yap: Yet Another HTTP Web Framework](https://github.com/goplus/yap)
 * Web Programming: [yaptest: HTTP Test Framework](https://github.com/goplus/yap#yaptest-http-test-framework)
 * Web Programming: [ydb: Database Framework](https://github.com/goplus/yap#ydb-database-framework)
-* DevOps: [gsh: Go+ DevOps Tools](https://github.com/qiniu/x/tree/main/gsh)
+* DevOps: [gsh: XGo DevOps Tools](https://github.com/qiniu/x/tree/main/gsh)
 * Unit Test: [classfile: Unit Test](#class-framework-unit-test)
 * Mechanism: [What's Classfile](#whats-classfile)
 
@@ -122,7 +122,7 @@ func Area() int {
 }
 ```
 
-Defining variables and defining functions are all familiar to them while learning sequential programming. They can define new types using syntax they already know by heart. This will be valuable in getting a wider community to learn Go+.
+Defining variables and defining functions are all familiar to them while learning sequential programming. They can define new types using syntax they already know by heart. This will be valuable in getting a wider community to learn XGo.
 
 ### What's class framework
 
@@ -130,16 +130,16 @@ Of course, this is not enough to make classfiles an exciting feature. What's mor
 
 What is a `class framework`? Usually it consists of a `project class` and multiple `work classes`. The class framework not only specifies the `base class` of all `project class` and `work classes`, but also organizes all these classes together by the base class of project class. There can be no work classes, that is, the entire classfile consists of only one project class.
 
-This is a bit abstract. Let's take the [2D Game Engine spx](https://github.com/goplus/spx) as an example. The base class of project class of `spx class framework` is called `Game`. The base class of work class is called `Sprite`. Obviously, there will only be one Game instance in a game, but there are many types of sprites, so many types of work classes are needed, but they all have the same base class called `Sprite`. Go+'s class framework allows you to specify different base classes for different work classes. Although this is rare, it can be done.
+This is a bit abstract. Let's take the [2D Game Engine spx](https://github.com/goplus/spx) as an example. The base class of project class of `spx class framework` is called `Game`. The base class of work class is called `Sprite`. Obviously, there will only be one Game instance in a game, but there are many types of sprites, so many types of work classes are needed, but they all have the same base class called `Sprite`. XGo's class framework allows you to specify different base classes for different work classes. Although this is rare, it can be done.
 
-How does Go+ identify various class files of a class framework? by its filename. By convention, if we define a class framework called `foo`, then its project class is usually called `main_foo.gox`, and the work class is usually called `xxx_foo.gox`. If this class framework does not have a work class, then the project class only needs to ensure that the suffix is `_foo.gox`, and the class name can be freely chosen.
+How does XGo identify various class files of a class framework? by its filename. By convention, if we define a class framework called `foo`, then its project class is usually called `main_foo.gox`, and the work class is usually called `xxx_foo.gox`. If this class framework does not have a work class, then the project class only needs to ensure that the suffix is `_foo.gox`, and the class name can be freely chosen.
 
-The earliest version of Go+ allows classfiles to be identified through custom file extensions. For example, the project class of the `spx class framework` is called `main.spx`, and the work class is called `xxx.spx`. Although this ability to customize extensions is still retained for now, we do not recommend its use and there is no guarantee that it will continue to be available in the future.
+The earliest version of XGo allows classfiles to be identified through custom file extensions. For example, the project class of the `spx class framework` is called `main.spx`, and the work class is called `xxx.spx`. Although this ability to customize extensions is still retained for now, we do not recommend its use and there is no guarantee that it will continue to be available in the future.
 
 
 ### class framework: Unit Test
 
-Go+ has a built-in class framework to simplify unit testing. This class framework has the file suffix `_test.gox`.
+XGo has a built-in class framework to simplify unit testing. This class framework has the file suffix `_test.gox`.
 
 Suppose you have a function named `foo`:
 
@@ -174,7 +174,7 @@ You don't need to define a series of `TestXXX` functions like Go, just write you
 If you want to run a subtest case, use `t.run`.
 
 
-### yap: Yet Another Go/Go+ HTTP Web Framework
+### yap: Yet Another Go/XGo HTTP Web Framework
 
 This class framework has the file suffix `.yap`. See [yap: Yet Another HTTP Web Framework](https://github.com/goplus/yap) for more details.
 
@@ -279,10 +279,10 @@ json {
 
 The directive `testServer` creates the web server by [net/http/httptest](https://pkg.go.dev/net/http/httptest#NewServer) and obtained a random port as the service address. Then it calls the directive [host](https://pkg.go.dev/github.com/goplus/yap/ytest#App.Host) to map the random service address to `foo.com`. This makes all other code no need to changed.
 
-For more details, see [yaptest - Go+ HTTP Test Framework](https://github.com/goplus/yap/blob/main/ytest).
+For more details, see [yaptest - XGo HTTP Test Framework](https://github.com/goplus/yap/blob/main/ytest).
 
 
-### spx: A Go+ 2D Game Engine for STEM education
+### spx: A XGo 2D Game Engine for STEM education
 
 This class framework has the file suffix `.spx`. It is the earliest class framework in the world.
 
@@ -420,7 +420,7 @@ var (
 	gid   int
 )
 
-run "res", {Title: "Clone and Destory (by Go+)"}
+run "res", {Title: "Clone and Destory (by XGo)"}
 ```
 
 All these three variables in [main.spx](https://github.com/goplus/spx/blob/main/tutorial/03-Clone/main.spx) are shared by all sprites. `Arrow` and `Calf` are sprites that exist in this project. `gid` means `global id`. It is used to allocate id for all cloned `Calf` sprites.
diff --git a/doc/code-coverage.md b/doc/code-coverage.md
index e31270e4..10045e11 100644
--- a/doc/code-coverage.md
+++ b/doc/code-coverage.md
@@ -1,4 +1,4 @@
-Go+ Unit Test: Code Coverage
+XGo Unit Test: Code Coverage
 =====
 
 TODO
diff --git a/doc/contributing.md b/doc/contributing.md
index 85d80501..cc7d044f 100644
--- a/doc/contributing.md
+++ b/doc/contributing.md
@@ -1,21 +1,21 @@
 # Contributing Guidelines
 
-Thank you for your interest in contributing to the Go+ project! Your efforts
+Thank you for your interest in contributing to the XGo project! Your efforts
 help us build and improve this powerful language.
 
-Please be aware that participation in the Go+ project requires adherence to our
+Please be aware that participation in the XGo project requires adherence to our
 established [code of conduct](https://github.com/goplus/gop/blob/main/CODE_OF_CONDUCT.md). Your involvement signifies your agreement to comply
 with the guidelines set forth within these terms. We appreciate your cooperation
 in fostering a respectful and inclusive environment for all contributors.
 
 To ensure a smooth contribution process, this guide outlines the steps and best
-practices for contributing to Go+. It's assumed that you have a foundational
-knowledge of Go+ and are comfortable using Git and GitHub for version control
+practices for contributing to XGo. It's assumed that you have a foundational
+knowledge of XGo and are comfortable using Git and GitHub for version control
 and collaboration.
 
 ## Before contributing code
 
-The Go+ project welcomes code contributions. However, to ensure coordination,
+The XGo project welcomes code contributions. However, to ensure coordination,
 please discuss any significant changes beforehand. It's recommended to signal
 your intent to contribute via the issue tracker, either by filing a new issue or
 claiming an existing one.
@@ -140,7 +140,7 @@ git push origin -d typo
 
 ## Commit messages
 
-Commit messages in Go+ adhere to specific conventions outlined in this section.
+Commit messages in XGo adhere to specific conventions outlined in this section.
 
 A well-crafted commit message looks like this:
 
@@ -173,10 +173,10 @@ Signed-off-by: John Doe <john@example.com>
 The first line of a commit message typically serves as a concise one-line
 summary, beginning with the primary component it impacts (e.g., a specific
 package). This summary should ideally be brief, with many Git interfaces
-favoring a limit of approximately 72 characters. While Go+ is not strict on the
+favoring a limit of approximately 72 characters. While XGo is not strict on the
 length limit, it's a good guideline to follow.
 
-Think of the summary as finishing the sentence "This commit modifies Go+ to
+Think of the summary as finishing the sentence "This commit modifies XGo to
 _____." As such, it does not begin with a capital letter, form a complete
 sentence, or diverge from succinctly stating the commit's effect.
 
diff --git a/doc/docs.md b/doc/docs.md
index b7e0a5f9..5c506f1f 100644
--- a/doc/docs.md
+++ b/doc/docs.md
@@ -1,4 +1,4 @@
-Go+ Quick Start
+XGo Quick Start
 ======
 
 Our vision is to **enable everyone to create production-level applications**.
@@ -12,7 +12,7 @@ Our vision is to **enable everyone to create production-level applications**.
 
 * Derived from Go and easy to build large projects from its good engineering foundation
 
-The Go+ programming language is designed for engineering, STEM education, and data science.
+The XGo programming language is designed for engineering, STEM education, and data science.
 
 * **For engineering**: working in the simplest language that can be mastered by children.
 * **For STEM education**: studying an engineering language that can be used for work in the future.
@@ -66,16 +66,15 @@ all.bat
 Actually, `all.bash` and `all.bat` will use `go run cmd/make.go` underneath.
 
 
-## Running in Go+ playground
+## Running in XGo playground
 
-If you don't want install Go+, you can write your Go+ programs in Go+ playground. This is the fastest way to experience Go+.
+If you don't want install XGo, you can write your XGo programs in XGo playground. This is the fastest way to experience XGo.
 
-* Go+ playground based on Docker: https://play.goplus.org/
-* Go+ playground based on GopherJS: https://jsplay.goplus.org/
+* XGo playground: https://play.xgo.dev/
 
-And you can share your Go+ code with your friends.
+And you can share your XGo code with your friends.
 Here is my `Hello world` program:
-* https://play.goplus.org/p/AAh_gQAKAZR.
+* https://play.xgo.dev/?p=AAh_gQAKAZR.
 
 
 ## Table of Contents
@@ -87,7 +86,7 @@ Here is my `Hello world` program:
 * [Running a project folder](#running-a-project-folder-with-several-files)
 * [Comments](#comments)
 * [Variables](#variables)
-* [Go+ types](#go-types)
+* [XGo types](#xgo-types)
     * [Strings](#strings)
     * [Numbers](#numbers)
     * [Slices](#slices)
@@ -109,9 +108,9 @@ Here is my `Hello world` program:
 
 </td><td valign=top>
 
-* [Go/Go+ hybrid programming](#gogo-hybrid-programming)
-    * [Run Go+ in watch mode](#run-go-in-watch-mode)
-* [Calling C from Go+](#calling-c-from-go)
+* [Go/XGo hybrid programming](#goxgo-hybrid-programming)
+    * [Run XGo in watch mode](#run-xgo-in-watch-mode)
+* [Calling C from XGo](#calling-c-from-xgo)
 * [Data processing](#data-processing)
     * [Rational numbers](#rational-numbers)
     * [List comprehension](#list-comprehension)
@@ -126,18 +125,18 @@ Here is my `Hello world` program:
 
 ## Hello World
 
-Different from the function call style of most languages, Go+ recommends command style code:
+Different from the function call style of most languages, XGo recommends command style code:
 
 ```go
 println "Hello world"
 ```
 
-Save this snippet into a file named `hello.gop`. Now do: `gop run hello.gop`.
+Save this snippet into a file named `hello.gop`. Now do: `xgo run hello.gop`.
 
-Congratulations - you just wrote and executed your first Go+ program!
+Congratulations - you just wrote and executed your first XGo program!
 
-You can compile a program without execution with `gop build hello.gop`.
-See `gop help` for all supported commands.
+You can compile a program without execution with `xgo build hello.gop`.
+See `xgo help` for all supported commands.
 
 [`println`](#println) is one of the few [built-in functions](#builtin-functions).
 It prints the value passed to it to standard output.
@@ -148,7 +147,7 @@ To emphasize our preference for command style, we introduce `echo` as an alias f
 echo "Hello world"
 ```
 
-See https://tutorial.goplus.org/hello-world for more details.
+See https://tutorial.xgo.dev/hello-world for more details.
 
 <h5 align="right"><a href="#table-of-contents">⬆ back to toc</a></h5>
 
@@ -156,10 +155,10 @@ See https://tutorial.goplus.org/hello-world for more details.
 ## Running a project folder with several files
 
 Suppose you have a folder with several .gop files in it, and you want 
-to compile them all into one program. Just do: `gop run .`.
+to compile them all into one program. Just do: `xgo run .`.
 
 Passing parameters also works, so you can do:
-`gop run . --yourparams some_other_stuff`.
+`xgo run . --yourparams some_other_stuff`.
 
 Your program can then use the CLI parameters like this:
 
@@ -216,7 +215,7 @@ age = 21
 ```
 
 This code will not compile, because the variable `age` is not declared.
-All variables need to be declared in Go+.
+All variables need to be declared in XGo.
 
 ```go
 age := 21
@@ -234,7 +233,7 @@ println a, b // 1, 0
 <h5 align="right"><a href="#table-of-contents">⬆ back to toc</a></h5>
 
 
-## Go+ Types
+## XGo Types
 
 ### Primitive types
 
@@ -314,7 +313,7 @@ s += "world"
 println s // Hello world
 ```
 
-Most Go+ operators must have values of the same type on both sides. You cannot concatenate an
+Most XGo operators must have values of the same type on both sides. You cannot concatenate an
 integer to a string:
 
 ```go failcompile
@@ -383,7 +382,7 @@ c := 0o173
 All of these will be assigned the same value, 123. They will all have type
 `int`, no matter what notation you used.
 
-Go+ also supports writing numbers with `_` as separator:
+XGo also supports writing numbers with `_` as separator:
 
 ```go
 num := 1_000_000 // same as 1000000
@@ -414,7 +413,7 @@ f1 := 123e-2 // 1.23
 f2 := 456e+2 // 45600
 ```
 
-Go+ has built-in support for [rational numbers](#rational-numbers):
+XGo has built-in support for [rational numbers](#rational-numbers):
 
 ```go
 a := 1r << 200  // suffix `r` means `rational`
@@ -475,7 +474,7 @@ a := []float64([1, 2, 3]) // []float64
 ```go
 a := {"Hello": 1, "xsw": 3}     // map[string]int
 b := {"Hello": 1, "xsw": 3.4}   // map[string]float64
-c := {"Hello": 1, "xsw": "Go+"} // map[string]any
+c := {"Hello": 1, "xsw": "XGo"} // map[string]any
 d := {}                         // map[string]any
 ```
 
@@ -483,7 +482,7 @@ If a key is not found, a zero value is returned by default:
 
 ```go
 a := {"Hello": 1, "xsw": 3}
-c := {"Hello": 1, "xsw": "Go+"}
+c := {"Hello": 1, "xsw": "XGo"}
 println a["bad_key"] // 0
 println c["bad_key"] // <nil>
 ```
@@ -535,7 +534,7 @@ println x // Hello, world!!!
 
 ### If..else
 
-In Go+, `if` statements are pretty straightforward and similar to most other languages.
+In XGo, `if` statements are pretty straightforward and similar to most other languages.
 Unlike other C-like languages,
 there are no parentheses surrounding the condition and the braces are always required.
 
@@ -556,9 +555,9 @@ if a < b {
 
 ### For loop
 
-Go+ has only one looping keyword: `for`, with several forms.
+XGo has only one looping keyword: `for`, with several forms.
 
-#### `for`/`<-`
+#### `for..in`
 
 This is the most common form. You can use it with a slice, map, numeric range or custom iterators.
 
@@ -566,22 +565,22 @@ For information about creating a custom iterators, see [Custom iterators](#custo
 
 ##### Slice `for`
 
-The `for value <- arr` form is used for going through elements of a slice.
+The `for value in arr` form is used for going through elements of a slice.
 
 ```go
 numbers := [1, 3, 5, 7, 11, 13, 17]
 sum := 0
-for x <- numbers {
+for x in numbers {
     sum += x
 }
 println sum // 57
 ```
 
-If an index is required, an alternative form `for index, value <- arr` can be used.
+If an index is required, an alternative form `for index, value in arr` can be used.
 
 ```go
 names := ["Sam", "Peter"]
-for i, name <- names {
+for i, name in names {
     println i, name
     // 0 Sam
     // 1 Peter
@@ -595,17 +594,17 @@ for i, name <- names {
 
 ```go
 m := {"one": 1, "two": 2}
-for key, val <- m {
+for key, val in m {
     println key, val
     // one 1
     // two 2
 }
-for key, _ <- m {
+for key, _ in m {
     println key
     // one
     // two
 }
-for val <- m {
+for val in m {
     println val
     // 1
     // 2
@@ -728,7 +727,7 @@ The condition can be omitted, resulting in an infinite loop. You can use `break`
 
 ### Error handling
 
-We reinvent the error handling specification in Go+. We call them `ErrWrap expressions`:
+We reinvent the error handling specification in XGo. We call them `ErrWrap expressions`:
 
 ```go
 expr! // panic if err
@@ -987,7 +986,7 @@ type Result struct {
 }
 
 func foo() *Result {
-    return {Text: "Hi, Go+"} // return &Result{Text: "Hi, Go+"}
+    return {Text: "Hi, XGo"} // return &Result{Text: "Hi, XGo"}
 }
 ```
 
@@ -1030,12 +1029,12 @@ println -a
 
 ### Auto property
 
-Let's see an example written in Go+:
+Let's see an example written in XGo:
 
 ```go
 import "gop/ast/goptest"
 
-doc := goptest.New(`... Go+ code ...`)!
+doc := goptest.New(`... XGo code ...`)!
 
 println doc.Any().FuncDecl().Name()
 ```
@@ -1047,19 +1046,19 @@ Suppose we have `get property`, the above example will be:
 ```go
 import "gop/ast/goptest"
 
-doc := goptest.New(`... Go+ code ...`)!
+doc := goptest.New(`... XGo code ...`)!
 
 println doc.any.funcDecl.name
 ```
 
-In Go+, we introduce a concept named `auto property`. It is a `get property`, but is implemented automatically. If we have a method named `Bar()`, then we will have a `get property` named `bar` at the same time.
+In XGo, we introduce a concept named `auto property`. It is a `get property`, but is implemented automatically. If we have a method named `Bar()`, then we will have a `get property` named `bar` at the same time.
 
 <h5 align="right"><a href="#table-of-contents">⬆ back to toc</a></h5>
 
 
-## Go/Go+ hybrid programming
+## Go/XGo hybrid programming
 
-This is an example to show how to mix Go/Go+ code in the same package.
+This is an example to show how to mix Go/XGo code in the same package.
 
 In this example, we have a Go source file named `a.go`:
 
@@ -1074,44 +1073,44 @@ func p(a interface{}) {
 }
 ```
 
-And we have a Go+ source file named `b.gop`:
+And we have a XGo source file named `b.gop`:
 
 ```go
 func sayMix() {
-    println "Mix Go and Go+"
+    println "Mix Go and XGo"
 }
 
 p "world"
 ```
 
-You can see that Go calls a Go+ function named `sayMix`, and Go+ calls a Go function named `p`. As you are used to in Go programming, this kind of circular reference is allowed.
+You can see that Go calls a XGo function named `sayMix`, and XGo calls a Go function named `p`. As you are used to in Go programming, this kind of circular reference is allowed.
 
-Run `gop run .` to see the output of this example:
+Run `xgo run .` to see the output of this example:
 
 ```
-Mix Go and Go+
+Mix Go and XGo
 Hello, world
 ```
 
 <h5 align="right"><a href="#table-of-contents">⬆ back to toc</a></h5>
 
 
-### Run Go+ in watch mode
+### Run XGo in watch mode
 
-The `gop` command can run in watch mode so that everytime a Go+ file is changed it is transpiled to a Go file:
+The `xgo` command can run in watch mode so that everytime a XGo file is changed it is transpiled to a Go file:
 
 ```
-gop watch [-gentest] [dir]
+xgo watch [-gentest] [dir]
 ```
 
-By default `gop watch` does not convert test files (normally ending with `_test.gop`). You can specify `-gentest` flag to force converting all Go+ files.
+By default `xgo watch` does not convert test files (normally ending with `_test.gop`). You can specify `-gentest` flag to force converting all XGo files.
 
 <h5 align="right"><a href="#table-of-contents">⬆ back to toc</a></h5>
 
 
-## Calling C from Go+
+## Calling C from XGo
 
-Here is [an example to show how Go+ interacts with C](https://github.com/goplus/gop/tree/main/demo/_llgo/hellollgo).
+Here is [an example to show how XGo interacts with C](https://github.com/goplus/gop/tree/main/demo/_llgo/hellollgo).
 
 ```go
 import "c"
@@ -1120,7 +1119,7 @@ c.printf c"Hello, llgo!\n"
 c.fprintf c.Stderr, c"Hi, %6.1f\n", 3.14
 ```
 
-Here `import "c"` is used to import libc. In this example we call two C standard functions `printf` and `fprintf`, passing a C variable `stderr` and two C strings in the form of `c"xxx"` (a Go+ syntax to represent C-style strings).
+Here `import "c"` is used to import libc. In this example we call two C standard functions `printf` and `fprintf`, passing a C variable `stderr` and two C strings in the form of `c"xxx"` (a XGo syntax to represent C-style strings).
 
 To run this demo, you need to set the `GOP_GOCMD` environment variable first.
 
@@ -1142,7 +1141,7 @@ Hi,    3.1
 
 ### Rational numbers
 
-We introduce rational numbers as primitive Go+ types. We use suffix `r` to denote rational literals. For example, `1r << 200` means a big int whose value is equal to 2<sup>200</sup>.
+We introduce rational numbers as primitive XGo types. We use suffix `r` to denote rational literals. For example, `1r << 200` means a big int whose value is equal to 2<sup>200</sup>.
 
 ```go
 a := 1r << 200
@@ -1186,7 +1185,7 @@ d := [[a, b] for a <- arr if a < b for b <- arr if b > 2]
 
 x := {x: i for i, x <- [1, 3, 5, 7, 11]}
 y := {x: i for i, x <- [1, 3, 5, 7, 11] if i%2 == 1}
-z := {v: k for k, v <- {1: "Hello", 3: "Hi", 5: "xsw", 7: "Go+"} if k > 3}
+z := {v: k for k, v <- {1: "Hello", 3: "Hi", 5: "xsw", 7: "XGo"} if k > 3}
 ```
 
 <h5 align="right"><a href="#table-of-contents">⬆ back to toc</a></h5>
@@ -1231,25 +1230,25 @@ hasFailed := {for x <- students if x.score < 60}     // is any student failed?
 
 ## Unix shebang
 
-You can use Go+ programs as shell scripts now. For example:
+You can use XGo programs as shell scripts now. For example:
 
 ```go
-#!/usr/bin/env -S gop run
+#!/usr/bin/env -S xgo run
 
-println "Hello, Go+"
+echo "Hello, XGo"
 
-println 1r << 129
-println 1/3r + 2/7r*2
+echo 1r << 129
+echo 1/3r + 2/7r*2
 
 arr := [1, 3, 5, 7, 11, 13, 17, 19]
-println arr
-println [x*x for x <- arr, x > 3]
+echo arr
+echo [x*x for x <- arr, x > 3]
 
-m := {"Hi": 1, "Go+": 2}
-println m
-println {v: k for k, v <- m}
-println [k for k, _ <- m]
-println [v for v <- m]
+m := {"Hi": 1, "XGo": 2}
+echo m
+echo {v: k for k, v <- m}
+echo [k for k, _ <- m]
+echo [v for v <- m]
 ```
 
 <h5 align="right"><a href="#table-of-contents">⬆ back to toc</a></h5>
@@ -1259,7 +1258,7 @@ println [v for v <- m]
 
 All Go features will be supported (including partially support `cgo`, see [below](#bytecode-vs-go-code)).
 
-**All Go packages (even these packages use `cgo`) can be imported by Go+.**
+**All Go packages (even these packages use `cgo`) can be imported by XGo.**
 
 ```coffee
 import (
@@ -1271,11 +1270,11 @@ x := strings.NewReplacer("?", "!").Replace("hello, world???")
 fmt.Println "x:", x
 ```
 
-**And all Go+ packages can also be imported in Go programs. What you need to do is just using `gop` command instead of `go`.**
+**And all XGo packages can also be imported in Go programs. What you need to do is just using `gop` command instead of `go`.**
 
 First, let's make a directory named `14-Using-goplus-in-Go`.
 
-Then write a Go+ package named [foo](https://github.com/goplus/tutorial/tree/main/14-Using-goplus-in-Go/foo) in it:
+Then write a XGo package named [foo](https://github.com/goplus/tutorial/tree/main/14-Using-goplus-in-Go/foo) in it:
 
 ```go
 package foo
@@ -1305,7 +1304,7 @@ func main() {
 How to build this example? You can use:
 
 ```bash
-gop install -v ./...
+xgo install -v ./...
 ```
 
 Go [github.com/goplus/tutorial/14-Using-goplus-in-Go](https://github.com/goplus/tutorial/tree/main/14-Using-goplus-in-Go) to get the source code.
@@ -1315,24 +1314,24 @@ Go [github.com/goplus/tutorial/14-Using-goplus-in-Go](https://github.com/goplus/
 
 ## Bytecode vs. Go code
 
-Go+ supports bytecode backend and Go code generation.
+XGo supports bytecode backend and Go code generation.
 
-When we use `gop` command, it generates Go code to covert Go+ package into Go packages.
+When we use `xgo` command, it generates Go code to covert XGo package into Go packages.
 
 ```bash
-gop run     # Run a Go+ program
-gop install # Build Go+ files and install target to GOBIN
-gop build   # Build Go+ files
-gop test    # Test Go+ packages
-gop fmt     # Format Go+ packages
-gop clean   # Clean all Go+ auto generated files
-gop go      # Convert Go+ packages into Go packages
+xgo run     # Run a XGo program
+xgo install # Build XGo files and install target to GOBIN
+xgo build   # Build XGo files
+xgo test    # Test XGo packages
+xgo fmt     # Format XGo packages
+xgo clean   # Clean all XGo auto generated files
+xgo go      # Convert XGo packages into Go packages
 ```
 
 When we use [`igop`](https://github.com/goplus/igop) command, it generates bytecode to execute.
 
 ```bash
-igop  # Run a Go+ program
+igop  # Run a XGo program
 ```
 
-In bytecode mode, Go+ doesn't support `cgo`. However, in Go-code-generation mode, Go+ fully supports `cgo`.
+In bytecode mode, XGo doesn't support `cgo`. However, in Go-code-generation mode, XGo fully supports `cgo`.
diff --git a/doc/domian-text-lit.md b/doc/domian-text-lit.md
index e543f779..626ede15 100644
--- a/doc/domian-text-lit.md
+++ b/doc/domian-text-lit.md
@@ -1,13 +1,13 @@
 Domain Text Literal
 =====
 
-The journey of **Domain Text Literals** in Go+ began with a proposal in early 2024 when a community member suggested adding JSX syntax support to Go+:
+The journey of **Domain Text Literals** in XGo began with a proposal in early 2024 when a community member suggested adding JSX syntax support to XGo:
 
 * https://github.com/goplus/gop/issues/1770
 
-While JSX has gained widespread adoption in frontend development, particularly in React-based applications, the immediate benefits of building JSX syntax directly into Go+ weren't immediately clear, causing the proposal to be temporarily shelved.
+While JSX has gained widespread adoption in frontend development, particularly in React-based applications, the immediate benefits of building JSX syntax directly into XGo weren't immediately clear, causing the proposal to be temporarily shelved.
 
-The turning point came when Go+ needed to support [TPL (Text Processing Language)](../tpl/README.md) syntax for the [Go+ Mini Spec](spec-mini.md) project. This necessity prompted a reconsideration of how Go+ should handle domain-specific notations more broadly.
+The turning point came when XGo needed to support [TPL (Text Processing Language)](../tpl/README.md) syntax for the [XGo Mini Spec](spec-mini.md) project. This necessity prompted a reconsideration of how XGo should handle domain-specific notations more broadly.
 
 A common understanding in programming language design suggests that **Domain-Specific Languages (DSLs)** often struggle to compete with general-purpose languages. However, this perspective overlooks the fact that numerous domain languages exist and thrive in specialized contexts:
 
@@ -22,17 +22,17 @@ Rather than competing with general-purpose languages, these domain languages typ
 
 This complementary relationship led to the term "**Domain Text Literal**" rather than "**Domain-Specific Language**", emphasizing their role as specialized text formats that can be embedded within general-purpose code.
 
-## Go+'s Approach to Domain Text Literals
+## XGo's Approach to Domain Text Literals
 
-After considerable deliberation on how Go+ should support domain text literals, inspiration came from Markdown's code block syntax:
+After considerable deliberation on how XGo should support domain text literals, inspiration came from Markdown's code block syntax:
 
 <img src=images/dtl/image-1.png width=960>
 
-Initially, there was consideration to make Go+'s domain text syntax identical to Markdown's. However, this would have prevented Go+ code from being embedded as a domain text within Markdown documents, potentially reducing interoperability between Go+ and Markdown. After careful consideration, the current syntax was chosen to ensure optimal compatibility.
+Initially, there was consideration to make XGo's domain text syntax identical to Markdown's. However, this would have prevented XGo code from being embedded as a domain text within Markdown documents, potentially reducing interoperability between XGo and Markdown. After careful consideration, the current syntax was chosen to ensure optimal compatibility.
 
-## Built-in Domain Text Literals in Go+
+## Built-in Domain Text Literals in XGo
 
-Go+ currently supports several domain text literals natively:
+XGo currently supports several domain text literals natively:
 
 * [TPL](../tpl/README.md)
 * JSON, XML, CSV
@@ -45,11 +45,11 @@ Here are some examples demonstrating their usage:
 
 ## Extensibility and Implementation
 
-One of the powerful aspects of Domain Text Literals in Go+ is their extensibility. Users can add support for new domain text formats. The `domainTag` represents a package that must have a global `func New(string)` function (with any return type). The domain text is essentially just a call to this function, making the underlying mechanism remarkably simple.
+One of the powerful aspects of Domain Text Literals in XGo is their extensibility. Users can add support for new domain text formats. The `domainTag` represents a package that must have a global `func New(string)` function (with any return type). The domain text is essentially just a call to this function, making the underlying mechanism remarkably simple.
 
 ## Beyond Syntactic Sugar
 
-Domain Text Literals offer more than just convenient syntax. They enable Go+ tooling to understand the semantics of these embedded texts rather than treating them as ordinary strings. This semantic understanding enables:
+Domain Text Literals offer more than just convenient syntax. They enable XGo tooling to understand the semantics of these embedded texts rather than treating them as ordinary strings. This semantic understanding enables:
 
-* Code formatters like `gop fmt` to format both Go+ code and supported domain texts simultaneously
+* Code formatters like `xgo fmt` to format both XGo code and supported domain texts simultaneously
 * IDE plugins to provide syntax highlighting and advanced features for recognized domain texts
diff --git a/doc/goodbye-printf.md b/doc/goodbye-printf.md
index d329d1ed..518775be 100644
--- a/doc/goodbye-printf.md
+++ b/doc/goodbye-printf.md
@@ -21,7 +21,7 @@ printf "age = %d\n", age
 
 Here `%d` means to format an integer value and `\n` means a newline.
 
-To simplify format information in most cases, Go+ introduces `${expr}` expressions in string literals. For above example, you can replace `age.string` to `"${age}"`:
+To simplify format information in most cases, XGo introduces `${expr}` expressions in string literals. For above example, you can replace `age.string` to `"${age}"`:
 
 ```go
 age := 10
diff --git a/doc/goplus-vs-go.md b/doc/goplus-vs-go.md
index 1fdddaf9..3ef9739e 100644
--- a/doc/goplus-vs-go.md
+++ b/doc/goplus-vs-go.md
@@ -1,20 +1,20 @@
-Go+ vs. Go
+XGo vs. Go
 ======
 
-What's the difference between Go+ and Go?
+What's the difference between XGo and Go?
 
 The goal of Go is to provide a way to easily build simple, reliable, and efficient software. It wants to be a better C.
 
-The goal of Go+ is to achieve a natural fusion of engineering and low-code. It wants to be a better Python.
+The goal of XGo is to achieve a natural fusion of engineering and low-code. It wants to be a better Python.
 
-The essence of low-code is non-professionals oriented. Today's mainstream programming language designers still take non-professionals as a niche group. But Go+ take this group as vital, and they are a vital breakthrough in today's programming language revolution.
+The essence of low-code is non-professionals oriented. Today's mainstream programming language designers still take non-professionals as a niche group. But XGo take this group as vital, and they are a vital breakthrough in today's programming language revolution.
 
 The Python language appeared very early (1991), but its design idea is very far-sighted, and it is a rare non-professionals oriented programming language so far. There are quite a few languages that look relatively concise, such as Ruby and CoffeeScript, but they have many language magics so that people feel they are flexible and powerful, but not easy to master. They cannot be regarded as non-professionals oriented.
 
 Python is very popular today, but it's hard to call it an engineering language. Most people just take it as a tool for rapid prototyping.
 
-Is it possible to minimize the complexity of engineering and present it in a low-code form? Go+ hopes to explore a new path at this point.
+Is it possible to minimize the complexity of engineering and present it in a low-code form? XGo hopes to explore a new path at this point.
 
 ### Give a Star! ⭐
 
-If you like or are using Go+ to learn or start your projects, please give it a star. Thanks!
+If you like or are using XGo to learn or start your projects, please give it a star. Thanks!
diff --git a/doc/spec-mini.md b/doc/spec-mini.md
index c362e0f7..bb51816a 100644
--- a/doc/spec-mini.md
+++ b/doc/spec-mini.md
@@ -1,7 +1,7 @@
-The Go+ Mini Specification
+The XGo Mini Specification
 =====
 
-Go+ has a recommended best practice syntax set, which we call the Go+ Mini Specification. It is simple but Turing-complete and can elegantly implement any business requirements.
+XGo has a recommended best practice syntax set, which we call the XGo Mini Specification. It is simple but Turing-complete and can elegantly implement any business requirements.
 
 ## Notation
 
@@ -29,7 +29,7 @@ Productions are expressions constructed from terms and the following operators,
 
 Lowercase production names are used to identify lexical (terminal) tokens. Non-terminals are in CamelCase. Lexical tokens are enclosed in double quotes `""` or back quotes ``.
 
-The form `a … b` represents the set of characters from a through b as alternatives. The horizontal ellipsis `…` is also used elsewhere in the spec to informally denote various enumerations or code snippets that are not further specified. The character … (as opposed to the three characters `...`) is not a token of the Go+ language.
+The form `a … b` represents the set of characters from a through b as alternatives. The horizontal ellipsis `…` is also used elsewhere in the spec to informally denote various enumerations or code snippets that are not further specified. The character … (as opposed to the three characters `...`) is not a token of the XGo language.
 
 ## Source code representation
 
@@ -86,11 +86,11 @@ A _general comment_ containing no newlines acts like a space. Any other comment
 
 ### Tokens
 
-Tokens form the vocabulary of the Go+ language. There are four classes: _identifiers_, _keywords_, _operators_ and _punctuation_, and _literals_. White space, formed from spaces (U+0020), horizontal tabs (U+0009), carriage returns (U+000D), and newlines (U+000A), is ignored except as it separates tokens that would otherwise combine into a single token. Also, a newline or end of file may trigger the insertion of a [semicolon](). While breaking the input into tokens, the next token is the longest sequence of characters that form a valid token.
+Tokens form the vocabulary of the XGo language. There are four classes: _identifiers_, _keywords_, _operators_ and _punctuation_, and _literals_. White space, formed from spaces (U+0020), horizontal tabs (U+0009), carriage returns (U+000D), and newlines (U+000A), is ignored except as it separates tokens that would otherwise combine into a single token. Also, a newline or end of file may trigger the insertion of a [semicolon](). While breaking the input into tokens, the next token is the longest sequence of characters that form a valid token.
 
 ### Semicolons
 
-The formal syntax uses semicolons ";" as terminators in a number of productions. Go+ programs may omit most of these semicolons using the following two rules:
+The formal syntax uses semicolons ";" as terminators in a number of productions. XGo programs may omit most of these semicolons using the following two rules:
 
 * When the input is broken into tokens, a semicolon is automatically inserted into the token stream immediately after a line's final token if that token is
   * an [identifier](#identifiers)
@@ -284,7 +284,7 @@ false
 
 A rune literal represents a [rune constant](#constants), an integer value identifying a Unicode code point. A rune literal is expressed as one or more characters enclosed in single quotes, as in `'x'` or `'\n'`. Within the quotes, any character may appear except newline and unescaped single quote. A single quoted character represents the Unicode value of the character itself, while multi-character sequences beginning with a backslash encode values in various formats.
 
-The simplest form represents the single character within the quotes; since Go+ source text is Unicode characters encoded in UTF-8, multiple UTF-8-encoded bytes may represent a single integer value. For instance, the literal `'a'` holds a single byte representing a literal a, Unicode `U+0061`, value 0x61, while `'ä'` holds two bytes (0xc3 0xa4) representing a literal a-dieresis, `U+00E4`, value 0xe4.
+The simplest form represents the single character within the quotes; since XGo source text is Unicode characters encoded in UTF-8, multiple UTF-8-encoded bytes may represent a single integer value. For instance, the literal `'a'` holds a single byte representing a literal a, Unicode `U+0061`, value 0x61, while `'ä'` holds two bytes (0xc3 0xa4) representing a literal a-dieresis, `U+00E4`, value 0xe4.
 
 Several backslash escapes allow arbitrary values to be encoded as ASCII text. There are four ways to represent the integer value as a numeric constant: `\x` followed by exactly two hexadecimal digits; `\u` followed by exactly four hexadecimal digits; `\U` followed by exactly eight hexadecimal digits, and a plain backslash `\` followed by exactly three octal digits. In each case the value of the literal is the value represented by the digits in the corresponding base.
 
@@ -1146,7 +1146,7 @@ sort.Slice a, (i, j) => {
 }
 ```
 
-Note: Both the parameter types and return value types of anonymous functions are omitted. Go+ determines the parameter types and return value types of anonymous functions through type inference.
+Note: Both the parameter types and return value types of anonymous functions are omitted. XGo determines the parameter types and return value types of anonymous functions through type inference.
 
 Function literals are _closures_: they may refer to variables defined in a surrounding function. Those variables are then shared between the surrounding function and the function literal, and they survive as long as they are accessible.
 
@@ -2408,9 +2408,9 @@ StatementList = { Statement ";" } .
 
 In addition to explicit blocks in the source code, there are implicit blocks:
 
-* The _universe block_ encompasses all Go+ source text.
-* Each [package](#packages) has a _package block_ containing all Go+ source text for that package.
-* Each file has a _file block_ containing all Go+ source text in that file.
+* The _universe block_ encompasses all XGo source text.
+* Each [package](#packages) has a _package block_ containing all XGo source text for that package.
+* Each file has a _file block_ containing all XGo source text in that file.
 * Each "[if](#if-statements)", "[for](#for-statements)", and "[switch](#switch-statements)" statement is considered to be in its own implicit block.
 * Each clause in a "[switch](#switch-statements)" statement acts as an implicit block.
 
@@ -2430,7 +2430,7 @@ TopLevelDecl  = Declaration | FunctionDecl .
 
 The scope of a declared identifier is the extent of source text in which the identifier denotes the specified constant, type, variable, function, label, or package.
 
-Go+ is lexically scoped using blocks:
+XGo is lexically scoped using blocks:
 
 * The scope of a [predeclared identifier]() is the universe block.
 * The scope of an identifier denoting a constant, type, variable, or function declared at top level (outside any function) is the package block.
@@ -2705,7 +2705,7 @@ func IndexRune(s string, r rune) int {
 
 ## Packages
 
-Go+ programs are constructed by linking together packages. A package in turn is constructed from one or more source files that together declare constants, types, variables and functions belonging to the package and which are accessible in all files of the same package. Those elements may be [exported]() and used in another package.
+XGo programs are constructed by linking together packages. A package in turn is constructed from one or more source files that together declare constants, types, variables and functions belonging to the package and which are accessible in all files of the same package. Those elements may be [exported]() and used in another package.
 
 ### Source file organization
 
@@ -2764,7 +2764,7 @@ import _ "lib/math"
 
 ### An example package
 
-Here is a complete Go+ package that implements XXX.
+Here is a complete XGo package that implements XXX.
 
 ```go
 TODO
@@ -2958,9 +2958,9 @@ The `len` argument must be of [integer type](#numeric-types) or an untyped [cons
 
 The function `SliceData` returns a pointer to the underlying array of the `slice` argument. If the slice's capacity `cap(slice)` is not zero, that pointer is `&slice[:1][0]`. If slice is `nil`, the result is `nil`. Otherwise it is a non-nil pointer to an unspecified memory address.
 
-The function `String` returns a `string` value whose underlying bytes start at `ptr` and whose length is `len`. The same requirements apply to the `ptr` and `len` argument as in the function `Slice`. If `len` is zero, the result is the empty string `""`. Since Go+ strings are immutable, the bytes passed to `String` must not be modified afterwards.
+The function `String` returns a `string` value whose underlying bytes start at `ptr` and whose length is `len`. The same requirements apply to the `ptr` and `len` argument as in the function `Slice`. If `len` is zero, the result is the empty string `""`. Since XGo strings are immutable, the bytes passed to `String` must not be modified afterwards.
 
-The function `StringData` returns a pointer to the underlying bytes of the `str` argument. For an empty string the return value is unspecified, and may be `nil`. Since Go+ strings are immutable, the bytes returned by `StringData` must not be modified.
+The function `StringData` returns a pointer to the underlying bytes of the `str` argument. For an empty string the return value is unspecified, and may be `nil`. Since XGo strings are immutable, the bytes returned by `StringData` must not be modified.
 
 ### Size and alignment guarantees
 
@@ -2992,7 +2992,7 @@ TODO
 
 ### Type unification rules
 
-The type unification rules describe if and how two types unify. The precise details are relevant for Go+ implementations, affect the specifics of error messages (such as whether a compiler reports a type inference or other error), and may explain why type inference fails in unusual code situations. But by and large these rules can be ignored when writing Go code: type inference is designed to mostly "work as expected", and the unification rules are fine-tuned accordingly.
+The type unification rules describe if and how two types unify. The precise details are relevant for XGo implementations, affect the specifics of error messages (such as whether a compiler reports a type inference or other error), and may explain why type inference fails in unusual code situations. But by and large these rules can be ignored when writing Go code: type inference is designed to mostly "work as expected", and the unification rules are fine-tuned accordingly.
 
 Type unification is controlled by a matching mode, which may be `exact` or `loose`. As unification recursively descends a composite type structure, the matching mode used for elements of the type, the element matching mode, remains the same as the matching mode except when two types are unified for [assignability]() (≡A): in this case, the matching mode is loose at the top level but then changes to exact for element types, reflecting the fact that types don't have to be identical to be assignable.
 
diff --git a/doc/spec.md b/doc/spec.md
index 52eaa53c..db30b27b 100644
--- a/doc/spec.md
+++ b/doc/spec.md
@@ -1,4 +1,4 @@
-The Go+ Full Specification
+The XGo Full Specification
 =====
 
 TODO
diff --git a/doc/spec/mini/mini.gop b/doc/spec/mini/mini.gop
index bc501a7c..bfff6c9f 100644
--- a/doc/spec/mini/mini.gop
+++ b/doc/spec/mini/mini.gop
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/doc/z_gop.go b/doc/z_gop.go
index 1dfc990f..c6e3b07d 100644
--- a/doc/z_gop.go
+++ b/doc/z_gop.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/doc/z_transform.go b/doc/z_transform.go
index 507a7f92..fc983dca 100644
--- a/doc/z_transform.go
+++ b/doc/z_transform.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -246,7 +246,7 @@ func transformConsts(ctx *transformCtx, in []*doc.Value) {
 	}
 }
 
-// Transform converts a Go doc package to a Go+ doc package.
+// Transform converts a Go doc package to a XGo doc package.
 func Transform(in *doc.Package) *doc.Package {
 	if isGopPackage(in) {
 		ctx := newCtx(in)
diff --git a/env/build.go b/env/build.go
index 1405cabf..bccc9e7e 100644
--- a/env/build.go
+++ b/env/build.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/env/goenv.go b/env/goenv.go
index 2e4fae97..3d3f6588 100644
--- a/env/goenv.go
+++ b/env/goenv.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/env/gop_nonwindows.go b/env/gop_nonwindows.go
index 482e829f..fe3ad4ac 100644
--- a/env/gop_nonwindows.go
+++ b/env/gop_nonwindows.go
@@ -2,7 +2,7 @@
 // +build !windows
 
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/env/path.go b/env/path.go
index 1f071efa..e7c07bb4 100644
--- a/env/path.go
+++ b/env/path.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,8 +28,8 @@ var (
 	defaultGopRoot string
 )
 
-// GOPROOT returns the root of the Go+ tree. It uses the GOPROOT environment variable,
-// if set at process start, or else the root used during the Go+ build.
+// GOPROOT returns the root of the XGo tree. It uses the GOPROOT environment variable,
+// if set at process start, or else the root used during the XGo build.
 func GOPROOT() string {
 	gopRoot, err := findGopRoot()
 	if err != nil {
diff --git a/env/sys_others.go b/env/sys_others.go
index 305816f3..7c9269c4 100644
--- a/env/sys_others.go
+++ b/env/sys_others.go
@@ -2,7 +2,7 @@
 // +build aix darwin dragonfly freebsd js,wasm linux netbsd openbsd solaris
 
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/env/sys_plan9.go b/env/sys_plan9.go
index 11a567f5..cc9b2337 100644
--- a/env/sys_plan9.go
+++ b/env/sys_plan9.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/env/sys_windows.go b/env/sys_windows.go
index 1975f0cd..56429d56 100644
--- a/env/sys_windows.go
+++ b/env/sys_windows.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/env/version.go b/env/version.go
index c731cd08..005a40e9 100644
--- a/env/version.go
+++ b/env/version.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/format/format.go b/format/format.go
index d090b3f9..6b7999c6 100644
--- a/format/format.go
+++ b/format/format.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Package format implements standard formatting of Go+ source.
+// Package format implements standard formatting of XGo source.
 //
 // Note that formatting of Go source code changes over time, so tools relying on
 // consistent formatting should execute a specific version of the gofmt binary
diff --git a/format/formatutil/format_gop.go b/format/formatutil/format_gop.go
index 7bcb69a1..64557da4 100644
--- a/format/formatutil/format_gop.go
+++ b/format/formatutil/format_gop.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -178,7 +178,7 @@ func startWith(words []aWord, tok token.Token) bool {
 
 // SourceEx formats src in canonical gopfmt style and returns the result
 // or an (I/O or syntax) error. src is expected to be a syntactically
-// correct Go+ source file, or a list of Go+ declarations or statements.
+// correct XGo source file, or a list of XGo declarations or statements.
 //
 // If src is a partial source file, the leading and trailing space of src
 // is applied to the result (such that it has the same leading and trailing
diff --git a/format/internal.go b/format/internal.go
index 37584a85..7647d119 100644
--- a/format/internal.go
+++ b/format/internal.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/make.bash b/make.bash
index 8fe94a61..2a12ddd8 100755
--- a/make.bash
+++ b/make.bash
@@ -1,7 +1,7 @@
 #! /usr/bin/env bash
 
 #
-# Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+# Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/parser/_nofmt/listcompr/listcompr.gop b/parser/_nofmt/listcompr/listcompr.gop
index e7f61460..30386832 100644
--- a/parser/_nofmt/listcompr/listcompr.gop
+++ b/parser/_nofmt/listcompr/listcompr.gop
@@ -7,7 +7,7 @@ println(y)
 z := [i+v for i, v <- [1, 3, 5, 7, 11] if t := i % 2; t == 1]
 println(z)
 
-println([k+","+s for k, s <- {"Hello": "xsw", "Hi": "Go+"}])
+println([k+","+s for k, s <- {"Hello": "xsw", "Hi": "XGo"}])
 
 arr := [1, 2, 3, 4, 5, 6]
 x := [[a, b] for a <- arr if a < b for b <- arr if b > 2]
diff --git a/parser/_nofmt/listcompr/parser.expect b/parser/_nofmt/listcompr/parser.expect
index 14b35e6b..7a9f7bb1 100644
--- a/parser/_nofmt/listcompr/parser.expect
+++ b/parser/_nofmt/listcompr/parser.expect
@@ -240,7 +240,7 @@ ast.FuncDecl:
                               Value:
                                 ast.BasicLit:
                                   Kind: STRING
-                                  Value: "Go+"
+                                  Value: "XGo"
         ast.AssignStmt:
           Lhs:
             ast.Ident:
diff --git a/parser/fsx/fsys.go b/parser/fsx/fsys.go
index d2f1fde1..2b472e4d 100644
--- a/parser/fsx/fsys.go
+++ b/parser/fsx/fsys.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/parser/fsx/memfs/fs.go b/parser/fsx/memfs/fs.go
index 3876b3d4..233c251e 100644
--- a/parser/fsx/memfs/fs.go
+++ b/parser/fsx/memfs/fs.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/parser/fsx/memfs/memfs.go b/parser/fsx/memfs/memfs.go
index a5c398f3..73bd8ec0 100644
--- a/parser/fsx/memfs/memfs.go
+++ b/parser/fsx/memfs/memfs.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/parser/interface.go b/parser/interface.go
index 06e978fd..c7f2ac4d 100644
--- a/parser/interface.go
+++ b/parser/interface.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -48,7 +48,7 @@ const (
 
 	// ParseGoAsGoPlus - parse Go files by gop/parser
 	ParseGoAsGoPlus Mode = 1 << 16
-	// ParserGoPlusClass - parse Go+ classfile by gop/parser
+	// ParserGoPlusClass - parse XGo classfile by gop/parser
 	ParseGoPlusClass Mode = 1 << 17
 	// SaveAbsFile - parse and save absolute path to pkg.Files
 	SaveAbsFile Mode = 1 << 18
@@ -121,7 +121,7 @@ func parseFile(fset *token.FileSet, filename string, src any, mode Mode) (f *ast
 
 // ParseExprFrom is a convenience function for parsing an expression.
 // The arguments have the same meaning as for ParseFile, but the source must
-// be a valid Go/Go+ (type or value) expression. Specifically, fset must not
+// be a valid Go/XGo (type or value) expression. Specifically, fset must not
 // be nil.
 //
 // If the source couldn't be read, the returned AST is nil and the error
@@ -164,7 +164,7 @@ func ParseExprFrom(fset *token.FileSet, filename string, src any, mode Mode) (ex
 
 // ParseExprEx is a convenience function for parsing an expression.
 // The arguments have the same meaning as for ParseFile, but the source must
-// be a valid Go/Go+ (type or value) expression. Specifically, fset must not
+// be a valid Go/XGo (type or value) expression. Specifically, fset must not
 // be nil.
 //
 // If the source couldn't be read, the returned AST is nil and the error
diff --git a/parser/iox/io.go b/parser/iox/io.go
index b26adbb1..a56e7515 100644
--- a/parser/iox/io.go
+++ b/parser/iox/io.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/parser/parser.go b/parser/parser.go
index 192802f8..ccf95b26 100644
--- a/parser/parser.go
+++ b/parser/parser.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-// Package parser implements a parser for Go+ source files. Input may be
+// Package parser implements a parser for XGo source files. Input may be
 // provided in a variety of forms (see the various Parse* functions); the
 // output is an abstract syntax tree (AST) representing the Go source. The
 // parser is invoked through one of the Parse* functions.
 //
 // The parser accepts a larger language than is syntactically permitted by
-// the Go+ spec, for simplicity, and for improved robustness in the presence
+// the XGo spec, for simplicity, and for improved robustness in the presence
 // of syntax errors. For instance, in method declarations, the receiver is
 // treated like an ordinary parameter list and thus may contain multiple
 // entries where the spec permits exactly one. Consequently, the corresponding
@@ -277,7 +277,7 @@ func (p *parser) unget(pos token.Pos, tok token.Token, lit string) {
 
 // Advance to the next token.
 func (p *parser) next0() {
-	if p.old.pos != 0 { // Go+: support unget
+	if p.old.pos != 0 { // XGo: support unget
 		p.pos, p.tok, p.lit = p.old.pos, p.old.tok, p.old.lit
 		p.old.pos = 0
 		return
@@ -1874,7 +1874,7 @@ func (p *parser) parseOperand(lhs, allowTuple, allowCmd bool) (x ast.Expr, isTup
 		}
 
 	case token.MAP:
-		oldpos, oldlit := p.pos, p.lit // Go+: save token to allow map() as a function
+		oldpos, oldlit := p.pos, p.lit // XGo: save token to allow map() as a function
 		p.next()
 		pos, tok := p.pos, p.tok
 		p.unget(oldpos, token.MAP, oldlit)
@@ -1884,7 +1884,7 @@ func (p *parser) parseOperand(lhs, allowTuple, allowCmd bool) (x ast.Expr, isTup
 		fallthrough
 	case token.GOTO, token.TYPE, token.BREAK, token.CONTINUE, token.FALLTHROUGH:
 		// token.RANGE, token.IMPORT, token.SELECT, token.INTERFACE:
-		// Go+: allow goto() as a function
+		// XGo: allow goto() as a function
 		p.tok = token.IDENT
 		x = p.parseIdent()
 		if !lhs {
@@ -2364,7 +2364,7 @@ L:
 			case token.LPAREN:
 				x = p.parseTypeAssertion(p.checkExpr(x))
 			case token.GOTO, token.BREAK, token.CONTINUE, token.FALLTHROUGH:
-				// Go+: allow goto() as a function
+				// XGo: allow goto() as a function
 				p.tok = token.IDENT
 				x = p.parseSelector(p.checkExprOrType(x))
 			default:
@@ -2773,7 +2773,7 @@ func (p *parser) parseSimpleStmt(mode int, allowCmd bool) ast.Stmt {
 	return ss
 }
 
-func (p *parser) parseBranchCmdStmt(iden *ast.Ident) ast.Stmt { // Go+: goto as command
+func (p *parser) parseBranchCmdStmt(iden *ast.Ident) ast.Stmt { // XGo: goto as command
 	x, _ := p.parsePrimaryExpr(iden, false, false, true)
 	return &ast.ExprStmt{X: x}
 }
@@ -2947,10 +2947,10 @@ func (p *parser) parseBranchStmt(tok token.Token) ast.Stmt {
 		defer un(trace(p, "BranchStmt"))
 	}
 
-	oldpos, oldlit := p.pos, p.lit // Go+: save token to allow goto() as a function
+	oldpos, oldlit := p.pos, p.lit // XGo: save token to allow goto() as a function
 	pos := p.expect(tok)
 	next := p.tok
-	if next != token.IDENT && next != token.SEMICOLON { // Go+: allow goto() as a function
+	if next != token.IDENT && next != token.SEMICOLON { // XGo: allow goto() as a function
 		p.unget(oldpos, token.IDENT, oldlit)
 		s := p.parseSimpleStmt(basic, true)
 		p.expectSemi()
@@ -2964,7 +2964,7 @@ func (p *parser) parseBranchStmt(tok token.Token) ast.Stmt {
 		n := len(p.targetStack) - 1
 		p.targetStack[n] = append(p.targetStack[n], label)
 	}
-	if p.tok != token.SEMICOLON { // Go+: goto command
+	if p.tok != token.SEMICOLON { // XGo: goto command
 		if label != nil {
 			p.unget(label.NamePos, token.IDENT, label.Name)
 		}
diff --git a/parser/parser_gop.go b/parser/parser_gop.go
index d32cc55d..362ba09d 100644
--- a/parser/parser_gop.go
+++ b/parser/parser_gop.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -55,7 +55,7 @@ type FileSystem = fsx.FileSystem
 
 // -----------------------------------------------------------------------------
 
-// Parse parses a single Go+ source file. The filename specifies the Go+ source file.
+// Parse parses a single XGo source file. The filename specifies the XGo source file.
 // If the file couldn't be read, a nil map and the respective error are returned.
 func Parse(fset *token.FileSet, filename string, src any, mode Mode) (pkgs map[string]*ast.Package, err error) {
 	file, err := ParseFile(fset, filename, src, mode)
@@ -145,7 +145,7 @@ func ParseFSDir(fset *token.FileSet, fs FileSystem, dir string, conf Config) (pk
 		default:
 			if isProj, isClass = conf.ClassKind(fname); isClass {
 				isNormalGox = false
-			} else if isNormalGox { // not found Go+ class by ext, but is a .gox file
+			} else if isNormalGox { // not found XGo class by ext, but is a .gox file
 				isClass = true
 			} else { // unknown fileKind
 				continue
@@ -190,7 +190,7 @@ func ParseFSDir(fset *token.FileSet, fs FileSystem, dir string, conf Config) (pk
 	return
 }
 
-// ParseFSEntry parses the source code of a single Go+ source file and returns the corresponding ast.File node.
+// ParseFSEntry parses the source code of a single XGo source file and returns the corresponding ast.File node.
 // Compared to ParseFSFile, ParseFSEntry detects fileKind by its filename.
 func ParseFSEntry(fset *token.FileSet, fs FileSystem, filename string, src any, conf Config) (f *ast.File, err error) {
 	fname := fs.Base(filename)
@@ -207,7 +207,7 @@ func ParseFSEntry(fset *token.FileSet, fs FileSystem, filename string, src any,
 		}
 		if isProj, isClass = conf.ClassKind(fname); isClass {
 			isNormalGox = false
-		} else if isNormalGox { // not found Go+ class by ext, but is a .gox file
+		} else if isNormalGox { // not found XGo class by ext, but is a .gox file
 			isClass = true
 		} else {
 			return nil, ErrUnknownFileKind
@@ -255,12 +255,12 @@ func defaultClassKind(fname string) (isProj bool, ok bool) {
 
 // -----------------------------------------------------------------------------
 
-// ParseFiles parses Go+ source files and returns the corresponding packages.
+// ParseFiles parses XGo source files and returns the corresponding packages.
 func ParseFiles(fset *token.FileSet, files []string, mode Mode) (map[string]*ast.Package, error) {
 	return ParseFSFiles(fset, fsx.Local, files, mode)
 }
 
-// ParseFSFiles parses Go+ source files and returns the corresponding packages.
+// ParseFSFiles parses XGo source files and returns the corresponding packages.
 func ParseFSFiles(fset *token.FileSet, fs FileSystem, files []string, mode Mode) (map[string]*ast.Package, error) {
 	ret := map[string]*ast.Package{}
 	fabs := (mode & SaveAbsFile) != 0
@@ -286,13 +286,13 @@ func ParseFSFiles(fset *token.FileSet, fs FileSystem, files []string, mode Mode)
 	return ret, nil
 }
 
-// ParseEntries parses Go+ source files and returns the corresponding packages.
+// ParseEntries parses XGo source files and returns the corresponding packages.
 // Compared to ParseFiles, ParseEntries detects fileKind by its filename.
 func ParseEntries(fset *token.FileSet, files []string, conf Config) (map[string]*ast.Package, error) {
 	return ParseFSEntries(fset, fsx.Local, files, conf)
 }
 
-// ParseFSEntries parses Go+ source files and returns the corresponding packages.
+// ParseFSEntries parses XGo source files and returns the corresponding packages.
 // Compared to ParseFSFiles, ParseFSEntries detects fileKind by its filename.
 func ParseFSEntries(fset *token.FileSet, fs FileSystem, files []string, conf Config) (map[string]*ast.Package, error) {
 	ret := map[string]*ast.Package{}
@@ -321,12 +321,12 @@ func ParseFSEntries(fset *token.FileSet, fs FileSystem, files []string, conf Con
 
 // -----------------------------------------------------------------------------
 
-// ParseFile parses the source code of a single Go+ source file and returns the corresponding ast.File node.
+// ParseFile parses the source code of a single XGo source file and returns the corresponding ast.File node.
 func ParseFile(fset *token.FileSet, filename string, src any, mode Mode) (f *ast.File, err error) {
 	return ParseFSFile(fset, fsx.Local, filename, src, mode)
 }
 
-// ParseFSFile parses the source code of a single Go+ source file and returns the corresponding ast.File node.
+// ParseFSFile parses the source code of a single XGo source file and returns the corresponding ast.File node.
 func ParseFSFile(fset *token.FileSet, fs FileSystem, filename string, src any, mode Mode) (f *ast.File, err error) {
 	code, err := readSourceFS(fs, filename, src)
 	if err != nil {
diff --git a/printer/nodes.go b/printer/nodes.go
index e123ad8b..8608d972 100644
--- a/printer/nodes.go
+++ b/printer/nodes.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/printer/printer.go b/printer/printer.go
index cdae7273..c7bf72f2 100644
--- a/printer/printer.go
+++ b/printer/printer.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/scanner/gop.go b/scanner/gop.go
index 9dd8bf39..b09284d8 100644
--- a/scanner/gop.go
+++ b/scanner/gop.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/scanner/scanner.go b/scanner/scanner.go
index c004b706..405aefe2 100644
--- a/scanner/scanner.go
+++ b/scanner/scanner.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Package scanner implements a scanner for Go+ source text.
+// Package scanner implements a scanner for XGo source text.
 // It takes a []byte as source which can then be tokenized
 // through repeated calls to the Scan method.
 package scanner
diff --git a/token/internal/tokenutil/lines_go118.go b/token/internal/tokenutil/lines_go118.go
index 1a53fa7e..5361bb64 100644
--- a/token/internal/tokenutil/lines_go118.go
+++ b/token/internal/tokenutil/lines_go118.go
@@ -2,7 +2,7 @@
 // +build !go1.19
 
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/token/internal/tokenutil/lines_go120.go b/token/internal/tokenutil/lines_go120.go
index 2835f8a8..4d0b87a0 100644
--- a/token/internal/tokenutil/lines_go120.go
+++ b/token/internal/tokenutil/lines_go120.go
@@ -2,7 +2,7 @@
 // +build go1.19,!go1.21
 
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/token/internal/tokenutil/lines_go121.go b/token/internal/tokenutil/lines_go121.go
index ee801928..a2a82dad 100644
--- a/token/internal/tokenutil/lines_go121.go
+++ b/token/internal/tokenutil/lines_go121.go
@@ -2,7 +2,7 @@
 // +build go1.21
 
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/token/token.go b/token/token.go
index 631dffb0..5e38dd35 100644
--- a/token/token.go
+++ b/token/token.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Package token defines constants representing the lexical tokens of the Go+
+// Package token defines constants representing the lexical tokens of the XGo
 // programming language and basic operations on tokens (printing, predicates).
 package token
 
@@ -25,7 +25,7 @@ import (
 	xtoken "github.com/goplus/gogen/token"
 )
 
-// Token is the set of lexical tokens of the Go+ programming language.
+// Token is the set of lexical tokens of the XGo programming language.
 type Token int
 
 // The list of tokens.
diff --git a/token/types.go b/token/types.go
index a0cfa1d6..e7f5f7fe 100644
--- a/token/types.go
+++ b/token/types.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tool/_gendeps.go b/tool/_gendeps.go
index 7a2c4389..69341df7 100644
--- a/tool/_gendeps.go
+++ b/tool/_gendeps.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tool/build_install_run.go b/tool/build_install_run.go
index 1f66f2d9..a97745f1 100644
--- a/tool/build_install_run.go
+++ b/tool/build_install_run.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,7 +33,7 @@ func genFlags(flags []GenFlags) GenFlags {
 
 // -----------------------------------------------------------------------------
 
-// InstallDir installs a Go+ package directory.
+// InstallDir installs a XGo package directory.
 func InstallDir(dir string, conf *Config, install *gocmd.InstallConfig, flags ...GenFlags) (err error) {
 	_, _, err = GenGoEx(dir, conf, false, genFlags(flags))
 	if err != nil {
@@ -42,7 +42,7 @@ func InstallDir(dir string, conf *Config, install *gocmd.InstallConfig, flags ..
 	return gocmd.Install(dir, install)
 }
 
-// InstallPkgPath installs a Go+ package.
+// InstallPkgPath installs a XGo package.
 func InstallPkgPath(workDir, pkgPath string, conf *Config, install *gocmd.InstallConfig, flags ...GenFlags) (err error) {
 	localDir, recursively, err := GenGoPkgPathEx(workDir, pkgPath, conf, true, genFlags(flags))
 	if err != nil {
@@ -60,7 +60,7 @@ func cwdParam(recursively bool) string {
 	return "."
 }
 
-// InstallFiles installs specified Go+ files.
+// InstallFiles installs specified XGo files.
 func InstallFiles(files []string, conf *Config, install *gocmd.InstallConfig) (err error) {
 	files, err = GenGoFiles("", files, conf)
 	if err != nil {
@@ -83,7 +83,7 @@ func chdir(dir string) string {
 
 // -----------------------------------------------------------------------------
 
-// BuildDir builds a Go+ package directory.
+// BuildDir builds a XGo package directory.
 func BuildDir(dir string, conf *Config, build *gocmd.BuildConfig, flags ...GenFlags) (err error) {
 	_, _, err = GenGoEx(dir, conf, false, genFlags(flags))
 	if err != nil {
@@ -92,7 +92,7 @@ func BuildDir(dir string, conf *Config, build *gocmd.BuildConfig, flags ...GenFl
 	return gocmd.Build(dir, build)
 }
 
-// BuildPkgPath builds a Go+ package.
+// BuildPkgPath builds a XGo package.
 func BuildPkgPath(workDir, pkgPath string, conf *Config, build *gocmd.BuildConfig, flags ...GenFlags) (err error) {
 	localDir, recursively, err := GenGoPkgPathEx(workDir, pkgPath, conf, false, genFlags(flags))
 	if err != nil {
@@ -103,7 +103,7 @@ func BuildPkgPath(workDir, pkgPath string, conf *Config, build *gocmd.BuildConfi
 	return gocmd.Build(cwdParam(recursively), build)
 }
 
-// BuildFiles builds specified Go+ files.
+// BuildFiles builds specified XGo files.
 func BuildFiles(files []string, conf *Config, build *gocmd.BuildConfig) (err error) {
 	files, err = GenGoFiles("", files, conf)
 	if err != nil {
@@ -129,7 +129,7 @@ func restoreDirAndMod(old string, mod os.FileMode) {
 
 // -----------------------------------------------------------------------------
 
-// If no go.mod and used Go+, use GOPROOT as buildDir.
+// If no go.mod and used XGo, use GOPROOT as buildDir.
 func getBuildDir(conf *Config) string {
 	if conf != nil && conf.GopDeps != nil && *conf.GopDeps != 0 {
 		return conf.Gop.Root
@@ -137,7 +137,7 @@ func getBuildDir(conf *Config) string {
 	return ""
 }
 
-// RunDir runs an application from a Go+ package directory.
+// RunDir runs an application from a XGo package directory.
 func RunDir(dir string, args []string, conf *Config, run *gocmd.RunConfig, flags ...GenFlags) (err error) {
 	_, _, err = GenGoEx(dir, conf, false, genFlags(flags))
 	if err != nil {
@@ -146,7 +146,7 @@ func RunDir(dir string, args []string, conf *Config, run *gocmd.RunConfig, flags
 	return gocmd.RunDir(getBuildDir(conf), dir, args, run)
 }
 
-// RunPkgPath runs an application from a Go+ package.
+// RunPkgPath runs an application from a XGo package.
 func RunPkgPath(pkgPath string, args []string, chDir bool, conf *Config, run *gocmd.RunConfig, flags ...GenFlags) (err error) {
 	localDir, recursively, err := GenGoPkgPathEx("", pkgPath, conf, true, genFlags(flags))
 	if err != nil {
@@ -163,7 +163,7 @@ func RunPkgPath(pkgPath string, args []string, chDir bool, conf *Config, run *go
 	return gocmd.RunDir("", localDir, args, run)
 }
 
-// RunFiles runs an application from specified Go+ files.
+// RunFiles runs an application from specified XGo files.
 func RunFiles(autogen string, files []string, args []string, conf *Config, run *gocmd.RunConfig) (err error) {
 	files, err = GenGoFiles(autogen, files, conf)
 	if err != nil {
@@ -174,7 +174,7 @@ func RunFiles(autogen string, files []string, args []string, conf *Config, run *
 
 // -----------------------------------------------------------------------------
 
-// TestDir tests a Go+ package directory.
+// TestDir tests a XGo package directory.
 func TestDir(dir string, conf *Config, test *gocmd.TestConfig, flags ...GenFlags) (err error) {
 	_, _, err = GenGoEx(dir, conf, true, genFlags(flags))
 	if err != nil {
@@ -183,7 +183,7 @@ func TestDir(dir string, conf *Config, test *gocmd.TestConfig, flags ...GenFlags
 	return gocmd.Test(dir, test)
 }
 
-// TestPkgPath tests a Go+ package.
+// TestPkgPath tests a XGo package.
 func TestPkgPath(workDir, pkgPath string, conf *Config, test *gocmd.TestConfig, flags ...GenFlags) (err error) {
 	localDir, recursively, err := GenGoPkgPathEx(workDir, pkgPath, conf, false, genFlags(flags))
 	if err != nil {
@@ -194,7 +194,7 @@ func TestPkgPath(workDir, pkgPath string, conf *Config, test *gocmd.TestConfig,
 	return gocmd.Test(cwdParam(recursively), test)
 }
 
-// TestFiles tests specified Go+ files.
+// TestFiles tests specified XGo files.
 func TestFiles(files []string, conf *Config, test *gocmd.TestConfig) (err error) {
 	files, err = GenGoFiles("", files, conf)
 	if err != nil {
diff --git a/tool/gengo.go b/tool/gengo.go
index 2d091117..af69b06d 100644
--- a/tool/gengo.go
+++ b/tool/gengo.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -48,12 +48,12 @@ const (
 
 // -----------------------------------------------------------------------------
 
-// GenGo generates gop_autogen.go for a Go+ package directory.
+// GenGo generates gop_autogen.go for a XGo package directory.
 func GenGo(dir string, conf *Config, genTestPkg bool) (string, bool, error) {
 	return GenGoEx(dir, conf, genTestPkg, 0)
 }
 
-// GenGoEx generates gop_autogen.go for a Go+ package directory.
+// GenGoEx generates gop_autogen.go for a XGo package directory.
 func GenGoEx(dir string, conf *Config, genTestPkg bool, flags GenFlags) (string, bool, error) {
 	recursively := strings.HasSuffix(dir, "/...")
 	if recursively {
@@ -168,7 +168,7 @@ func genGoSingleFile(file string, conf *Config, flags GenFlags) (err error) {
 func genGoIn(dir string, conf *Config, genTestPkg bool, flags GenFlags, gen ...*bool) (err error) {
 	out, test, err := LoadDir(dir, conf, genTestPkg, (flags&GenFlagPrompt) != 0)
 	if err != nil {
-		if NotFound(err) { // no Go+ source files
+		if NotFound(err) { // no XGo source files
 			return nil
 		}
 		return errors.NewWith(err, `LoadDir(dir, conf, genTestPkg)`, -5, "tool.LoadDir", dir, conf, genTestPkg)
@@ -211,7 +211,7 @@ const (
 	modReadonly = 0555
 )
 
-// GenGoPkgPath generates gop_autogen.go for a Go+ package.
+// GenGoPkgPath generates gop_autogen.go for a XGo package.
 func GenGoPkgPath(workDir, pkgPath string, conf *Config, allowExtern bool) (localDir string, recursively bool, err error) {
 	return GenGoPkgPathEx(workDir, pkgPath, conf, allowExtern, 0)
 }
@@ -229,7 +229,7 @@ func remotePkgPath(pkgPath string, conf *Config, recursively bool, flags GenFlag
 	return
 }
 
-// GenGoPkgPathEx generates gop_autogen.go for a Go+ package.
+// GenGoPkgPathEx generates gop_autogen.go for a XGo package.
 func GenGoPkgPathEx(workDir, pkgPath string, conf *Config, allowExtern bool, flags GenFlags) (localDir string, recursively bool, err error) {
 	recursively = strings.HasSuffix(pkgPath, "/...")
 	if recursively {
@@ -271,7 +271,7 @@ func remotePkgPathDo(pkgPath string, doSth func(pkgDir, modDir string), onErr fu
 
 // -----------------------------------------------------------------------------
 
-// GenGoFiles generates gop_autogen.go for specified Go+ files.
+// GenGoFiles generates gop_autogen.go for specified XGo files.
 func GenGoFiles(autogen string, files []string, conf *Config) (outFiles []string, err error) {
 	if conf == nil {
 		conf = new(Config)
diff --git a/tool/imp.go b/tool/imp.go
index 9b5a2b51..67b5b1b1 100644
--- a/tool/imp.go
+++ b/tool/imp.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,17 +41,17 @@ import (
 
 // -----------------------------------------------------------------------------
 
-// Importer represents a Go+ importer.
+// Importer represents a XGo importer.
 type Importer struct {
 	impFrom *packages.Importer
 	mod     *gopmod.Module
 	gop     *env.Gop
 	fset    *token.FileSet
 
-	Flags GenFlags // can change this for loading Go+ modules
+	Flags GenFlags // can change this for loading XGo modules
 }
 
-// NewImporter creates a Go+ Importer.
+// NewImporter creates a XGo Importer.
 func NewImporter(mod *gopmod.Module, gop *env.Gop, fset *token.FileSet) *Importer {
 	const (
 		defaultFlags = GenFlagPrompt | GenFlagPrintError
@@ -131,7 +131,7 @@ const (
 	xMod   = "github.com/qiniu/x"
 )
 
-// Import imports a Go/Go+ package.
+// Import imports a Go/XGo package.
 func (p *Importer) Import(pkgPath string) (pkg *types.Package, err error) {
 	if strings.HasPrefix(pkgPath, gopMod) {
 		if suffix := pkgPath[len(gopMod):]; suffix == "" || suffix[0] == '/' {
diff --git a/tool/load.go b/tool/load.go
index 185bee9c..025e7204 100644
--- a/tool/load.go
+++ b/tool/load.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -114,7 +114,7 @@ func isNotatedErr(err error, pkg *ast.Package, fset *token.FileSet) (notatedErr
 
 // -----------------------------------------------------------------------------
 
-// Config represents a configuration for loading Go+ packages.
+// Config represents a configuration for loading XGo packages.
 type Config struct {
 	Gop      *env.Gop
 	Fset     *token.FileSet
@@ -123,7 +123,7 @@ type Config struct {
 
 	Filter func(fs.FileInfo) bool
 
-	// If not nil, it is used for returning result of checks Go+ dependencies.
+	// If not nil, it is used for returning result of checks XGo dependencies.
 	// see https://pkg.go.dev/github.com/goplus/gogen#File.CheckGopDeps
 	GopDeps *int
 
@@ -193,7 +193,7 @@ func (conf *Config) UpdateCache(verbose ...bool) {
 	}
 }
 
-// LoadMod loads a Go+ module from a specified directory.
+// LoadMod loads a XGo module from a specified directory.
 func LoadMod(dir string) (mod *gopmod.Module, err error) {
 	mod, err = gopmod.Load(dir)
 	if err != nil && !gopmod.IsNotFound(err) {
@@ -229,7 +229,7 @@ func FilterNoTestFiles(fi fs.FileInfo) bool {
 
 // -----------------------------------------------------------------------------
 
-// LoadDir loads Go+ packages from a specified directory.
+// LoadDir loads XGo packages from a specified directory.
 func LoadDir(dir string, conf *Config, genTestPkg bool, promptGenGo ...bool) (out, test *gogen.Package, err error) {
 	if conf == nil {
 		conf = new(Config)
@@ -287,7 +287,7 @@ func LoadDir(dir string, conf *Config, genTestPkg bool, promptGenGo ...bool) (ou
 		if out != nil {
 			return nil, nil, ErrMultiPackges
 		}
-		if len(pkg.Files) == 0 { // no Go+ source files
+		if len(pkg.Files) == 0 { // no XGo source files
 			continue
 		}
 		if promptGenGo != nil && promptGenGo[0] {
@@ -312,7 +312,7 @@ func LoadDir(dir string, conf *Config, genTestPkg bool, promptGenGo ...bool) (ou
 }
 
 func afterLoad(mod *gopmod.Module, gop *env.Gop, out, test *gogen.Package, conf *Config) {
-	if mod.Path() == gopMod { // nothing to do for Go+ itself
+	if mod.Path() == gopMod { // nothing to do for XGo itself
 		return
 	}
 	updateMod := !conf.DontUpdateGoMod && mod.HasModfile()
@@ -349,7 +349,7 @@ func relativeBaseOf(mod *gopmod.Module) string {
 
 // -----------------------------------------------------------------------------
 
-// LoadFiles loads a Go+ package from specified files.
+// LoadFiles loads a XGo package from specified files.
 func LoadFiles(dir string, files []string, conf *Config) (out *gogen.Package, err error) {
 	if conf == nil {
 		conf = new(Config)
diff --git a/tool/outline.go b/tool/outline.go
index 8b0b4b36..c91dfc0c 100644
--- a/tool/outline.go
+++ b/tool/outline.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -93,7 +93,7 @@ func Outline(dir string, conf *Config) (out outline.Package, err error) {
 			err = fmt.Errorf("%w: %s, %s", ErrMultiPackges, name, out.Pkg().Name())
 			return
 		}
-		if len(pkg.Files)+len(pkg.GoFiles) == 0 { // no Go/Go+ source files
+		if len(pkg.Files)+len(pkg.GoFiles) == 0 { // no Go/XGo source files
 			break
 		}
 		relPart, _ := filepath.Rel(mod.Root(), dir)
diff --git a/tool/tidy.go b/tool/tidy.go
index 7df72376..19d9d9e2 100644
--- a/tool/tidy.go
+++ b/tool/tidy.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/README.md b/tpl/README.md
index d0231e25..b53c705d 100644
--- a/tpl/README.md
+++ b/tpl/README.md
@@ -1,13 +1,13 @@
 TPL: Text Processing Language
 =====
 
-Text processing is a common task in programming, and regular expressions have long been the go-to solution. However, regular expressions are notorious for their cryptic syntax and poor readability. Enter Go+ TPL (Text Processing Language), an enhanced alternative that offers both power and intuitive syntax.
+Text processing is a common task in programming, and regular expressions have long been the go-to solution. However, regular expressions are notorious for their cryptic syntax and poor readability. Enter XGo TPL (Text Processing Language), an enhanced alternative that offers both power and intuitive syntax.
 
-Go+ TPL is a grammar-based language similar to EBNF (Extended Backus-Naur Form) that seamlessly integrates with Go+. It provides a more readable and maintainable approach to text processing while offering capabilities beyond what regular expressions can achieve.
+XGo TPL is a grammar-based language similar to EBNF (Extended Backus-Naur Form) that seamlessly integrates with XGo. It provides a more readable and maintainable approach to text processing while offering capabilities beyond what regular expressions can achieve.
 
-## Understanding Go+ TPL
+## Understanding XGo TPL
 
-To understand Go+ TPL, you need to grasp three key concepts:
+To understand XGo TPL, you need to grasp three key concepts:
 
 ### 1. Naming Rules
 
@@ -49,7 +49,7 @@ STRING = QSTRING | RAWSTRING
 
 Since TPL rules automatically filter whitespace and comments, the sequence `R1 R2` doesn't express that R1 and R2 are adjacent. This is where the adjacency operator `++` comes in.
 
-For example, Go+ [domain text literal](../doc/domian-text-lit.md) is defined as `IDENT ++ RAWSTRING`, making these valid:
+For example, XGo [domain text literal](../doc/domian-text-lit.md) is defined as `IDENT ++ RAWSTRING`, making these valid:
 
 ```go
 tpl`expr = INT % ","`
@@ -96,9 +96,9 @@ Each rule has its built-in matching result:
 
 ### 3. Rewriting Matching Results
 
-The default matching result is called "self" in TPL. You can rewrite this result using a Go+ closure `=> { ... }`.
+The default matching result is called "self" in TPL. You can rewrite this result using a XGo closure `=> { ... }`.
 
-This feature is crucial as it allows seamless integration between TPL and Go+. In Go+, you reference TPL through [domain text literal](../doc/domian-text-lit.md), and within TPL, you can call Go+ code through result rewriting.
+This feature is crucial as it allows seamless integration between TPL and XGo. In XGo, you reference TPL through [domain text literal](../doc/domian-text-lit.md), and within TPL, you can call XGo code through result rewriting.
 
 ## Practical Examples
 
@@ -122,7 +122,7 @@ This example parses a comma-separated list of integers and converts it to a flat
 
 ### Building a Calculator
 
-Creating a calculator with Go+ TPL is remarkably concise:
+Creating a calculator with XGo TPL is remarkably concise:
 
 ```go
 import "gop/tpl"
@@ -158,8 +158,8 @@ This calculator handles basic arithmetic operations with proper operator precede
 
 ## Conclusion
 
-Go+ TPL offers a powerful yet intuitive alternative to regular expressions for text processing. By combining grammar-based parsing with seamless Go+ integration, it enables developers to create clear, maintainable text processing solutions.
+XGo TPL offers a powerful yet intuitive alternative to regular expressions for text processing. By combining grammar-based parsing with seamless XGo integration, it enables developers to create clear, maintainable text processing solutions.
 
-For more examples of TPL in action, check out the Go+ demos starting with `tpl-` at [https://github.com/goplus/gop/tree/main/demo](https://github.com/goplus/gop/tree/main/demo). These examples showcase how to implement calculators, parse text to generate ASTs, and even implement entire languages in just a few hundred lines of code.
+For more examples of TPL in action, check out the XGo demos starting with `tpl-` at [https://github.com/goplus/gop/tree/main/demo](https://github.com/goplus/gop/tree/main/demo). These examples showcase how to implement calculators, parse text to generate ASTs, and even implement entire languages in just a few hundred lines of code.
 
-Whether you're parsing structured text, building domain-specific languages, or implementing complex text transformations, Go+ TPL provides a robust and readable approach that surpasses traditional regular expressions.
+Whether you're parsing structured text, building domain-specific languages, or implementing complex text transformations, XGo TPL provides a robust and readable approach that surpasses traditional regular expressions.
diff --git a/tpl/ast/ast.go b/tpl/ast/ast.go
index 452ce53f..749f2e59 100644
--- a/tpl/ast/ast.go
+++ b/tpl/ast/ast.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/cl/compile.go b/tpl/cl/compile.go
index 97d6e2bf..bcf682a1 100644
--- a/tpl/cl/compile.go
+++ b/tpl/cl/compile.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/encoding/csv/csv.go b/tpl/encoding/csv/csv.go
index 2858379d..57503c66 100644
--- a/tpl/encoding/csv/csv.go
+++ b/tpl/encoding/csv/csv.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/encoding/json/json.go b/tpl/encoding/json/json.go
index c8a56131..91e720d3 100644
--- a/tpl/encoding/json/json.go
+++ b/tpl/encoding/json/json.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/encoding/regexp/regexp.go b/tpl/encoding/regexp/regexp.go
index c0dbf252..e9fd4ce3 100644
--- a/tpl/encoding/regexp/regexp.go
+++ b/tpl/encoding/regexp/regexp.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/encoding/regexposix/regexp.go b/tpl/encoding/regexposix/regexp.go
index 46cb307b..8674db19 100644
--- a/tpl/encoding/regexposix/regexp.go
+++ b/tpl/encoding/regexposix/regexp.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/encoding/xml/xml.go b/tpl/encoding/xml/xml.go
index 20abed5c..c1a4e429 100644
--- a/tpl/encoding/xml/xml.go
+++ b/tpl/encoding/xml/xml.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/matcher/match.go b/tpl/matcher/match.go
index bb211f23..f117e210 100644
--- a/tpl/matcher/match.go
+++ b/tpl/matcher/match.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/parser/parser.go b/tpl/parser/parser.go
index f99eaf00..0e79b378 100644
--- a/tpl/parser/parser.go
+++ b/tpl/parser/parser.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/scanner/error.go b/tpl/scanner/error.go
index 6a6a47a9..7adcd14e 100644
--- a/tpl/scanner/error.go
+++ b/tpl/scanner/error.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/scanner/scanner.go b/tpl/scanner/scanner.go
index d3f20542..0e6d3f44 100644
--- a/tpl/scanner/scanner.go
+++ b/tpl/scanner/scanner.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/token/token.go b/tpl/token/token.go
index a3101773..70ecd618 100644
--- a/tpl/token/token.go
+++ b/tpl/token/token.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/token/types.go b/tpl/token/types.go
index caac534d..dc04d7d1 100644
--- a/tpl/token/types.go
+++ b/tpl/token/types.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/tpl.go b/tpl/tpl.go
index 237c0822..ab267c3e 100644
--- a/tpl/tpl.go
+++ b/tpl/tpl.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/types/types.go b/tpl/types/types.go
index 813f6b37..18007f7b 100644
--- a/tpl/types/types.go
+++ b/tpl/types/types.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/variant/builtin/builtin.go b/tpl/variant/builtin/builtin.go
index da1bd2cf..c402b9de 100644
--- a/tpl/variant/builtin/builtin.go
+++ b/tpl/variant/builtin/builtin.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/variant/delay/delay.go b/tpl/variant/delay/delay.go
index fbbedb2f..7b438fba 100644
--- a/tpl/variant/delay/delay.go
+++ b/tpl/variant/delay/delay.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/variant/math/math.go b/tpl/variant/math/math.go
index 299eb680..5c9b6ba8 100644
--- a/tpl/variant/math/math.go
+++ b/tpl/variant/math/math.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/variant/module.go b/tpl/variant/module.go
index fc47058f..a7a11dfe 100644
--- a/tpl/variant/module.go
+++ b/tpl/variant/module.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/variant/time/time.go b/tpl/variant/time/time.go
index 2831afa6..bb6d1dab 100644
--- a/tpl/variant/time/time.go
+++ b/tpl/variant/time/time.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/variant/variant.go b/tpl/variant/variant.go
index c1c6d72a..59fa12fc 100644
--- a/tpl/variant/variant.go
+++ b/tpl/variant/variant.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/build/build.go b/x/build/build.go
index 5407d2cb..628e566a 100644
--- a/x/build/build.go
+++ b/x/build/build.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/format/README.md b/x/format/README.md
index c902e40c..2ac2b1b8 100644
--- a/x/format/README.md
+++ b/x/format/README.md
@@ -1,4 +1,4 @@
-Go+ Code Style
+XGo Code Style
 ======
 
 TODO
diff --git a/x/format/format.go b/x/format/format.go
index 0d27a7a2..b04993ce 100644
--- a/x/format/format.go
+++ b/x/format/format.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/format/gopstyle.go b/x/format/gopstyle.go
index 70f5ff56..99baf533 100644
--- a/x/format/gopstyle.go
+++ b/x/format/gopstyle.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/format/stmt_expr_or_type.go b/x/format/stmt_expr_or_type.go
index d8fc5d89..5beacaba 100644
--- a/x/format/stmt_expr_or_type.go
+++ b/x/format/stmt_expr_or_type.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/fsnotify/fsnotify.go b/x/fsnotify/fsnotify.go
index 614afa55..3442fedf 100644
--- a/x/fsnotify/fsnotify.go
+++ b/x/fsnotify/fsnotify.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/gocmd/build_install.go b/x/gocmd/build_install.go
index 6451d763..a1ed3a5a 100644
--- a/x/gocmd/build_install.go
+++ b/x/gocmd/build_install.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/gocmd/gocmd.go b/x/gocmd/gocmd.go
index ac3c720d..ad028492 100644
--- a/x/gocmd/gocmd.go
+++ b/x/gocmd/gocmd.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/gocmd/run.go b/x/gocmd/run.go
index 3b2e9138..411ce2c7 100644
--- a/x/gocmd/run.go
+++ b/x/gocmd/run.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/gopenv/env.go b/x/gopenv/env.go
index d4ffb348..afdd9af4 100644
--- a/x/gopenv/env.go
+++ b/x/gopenv/env.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/gopprojs/proj.go b/x/gopprojs/proj.go
index 195af794..cf8bf542 100644
--- a/x/gopprojs/proj.go
+++ b/x/gopprojs/proj.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/jsonrpc2/conn.go b/x/jsonrpc2/conn.go
index 937479d3..c8d1b641 100644
--- a/x/jsonrpc2/conn.go
+++ b/x/jsonrpc2/conn.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/jsonrpc2/frame.go b/x/jsonrpc2/frame.go
index 941ef2bc..34b087f2 100644
--- a/x/jsonrpc2/frame.go
+++ b/x/jsonrpc2/frame.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/jsonrpc2/jsonrpc2.go b/x/jsonrpc2/jsonrpc2.go
index ed3a09e6..b78150ed 100644
--- a/x/jsonrpc2/jsonrpc2.go
+++ b/x/jsonrpc2/jsonrpc2.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/jsonrpc2/messages.go b/x/jsonrpc2/messages.go
index 1067544d..dfd9b2a2 100644
--- a/x/jsonrpc2/messages.go
+++ b/x/jsonrpc2/messages.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/jsonrpc2/serve.go b/x/jsonrpc2/serve.go
index 39a98675..6a6ec2fc 100644
--- a/x/jsonrpc2/serve.go
+++ b/x/jsonrpc2/serve.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/jsonrpc2/stdio/server.go b/x/jsonrpc2/stdio/server.go
index 8ae33044..15507a23 100644
--- a/x/jsonrpc2/stdio/server.go
+++ b/x/jsonrpc2/stdio/server.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/jsonrpc2/stdio/stdio.go b/x/jsonrpc2/stdio/stdio.go
index 61817e76..bf15cca3 100644
--- a/x/jsonrpc2/stdio/stdio.go
+++ b/x/jsonrpc2/stdio/stdio.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/jsonrpc2/wire.go b/x/jsonrpc2/wire.go
index 4a9d2967..c57687aa 100644
--- a/x/jsonrpc2/wire.go
+++ b/x/jsonrpc2/wire.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/langserver/client.go b/x/langserver/client.go
index a4bda225..faa9f7c7 100644
--- a/x/langserver/client.go
+++ b/x/langserver/client.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/langserver/serve_dial.go b/x/langserver/serve_dial.go
index addf6cb0..e046b9c8 100644
--- a/x/langserver/serve_dial.go
+++ b/x/langserver/serve_dial.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/langserver/server.go b/x/langserver/server.go
index d69dfc54..e49cd4a0 100644
--- a/x/langserver/server.go
+++ b/x/langserver/server.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/typesutil/api.go b/x/typesutil/api.go
index efe7d646..816d770b 100644
--- a/x/typesutil/api.go
+++ b/x/typesutil/api.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/typesutil/check.go b/x/typesutil/check.go
index 875488db..04196441 100644
--- a/x/typesutil/check.go
+++ b/x/typesutil/check.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -72,7 +72,7 @@ type Config struct {
 	// If WorkingDir is not set, os.Getwd() is used.
 	WorkingDir string
 
-	// Mod represents a Go+ module (optional).
+	// Mod represents a XGo module (optional).
 	Mod *gopmod.Module
 
 	// If IgnoreFuncBodies is set, skip compiling function bodies (optional).
diff --git a/x/typesutil/eval.go b/x/typesutil/eval.go
index 779ad5e7..05049f35 100644
--- a/x/typesutil/eval.go
+++ b/x/typesutil/eval.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/typesutil/gopinfo.go b/x/typesutil/gopinfo.go
index 2416041e..45d69caa 100644
--- a/x/typesutil/gopinfo.go
+++ b/x/typesutil/gopinfo.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/typesutil/internal/typesutil/types.go b/x/typesutil/internal/typesutil/types.go
index 45c1f02d..a0000f2c 100644
--- a/x/typesutil/internal/typesutil/types.go
+++ b/x/typesutil/internal/typesutil/types.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/watcher/changes.go b/x/watcher/changes.go
index 4edc270f..14f009e0 100644
--- a/x/watcher/changes.go
+++ b/x/watcher/changes.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/watcher/watch.go b/x/watcher/watch.go
index 96b967d7..cff7d64e 100644
--- a/x/watcher/watch.go
+++ b/x/watcher/watch.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-// Package watcher monitors code changes in a Go+ workspace.
+// Package watcher monitors code changes in a XGo workspace.
 package watcher
 
 import (


Test patch:
diff --git a/ast/fromgo/gopast_test.go b/ast/fromgo/gopast_test.go
index 46d51d70..59fce704 100644
--- a/ast/fromgo/gopast_test.go
+++ b/ast/fromgo/gopast_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/ast/goptest/gopq.go b/ast/goptest/gopq.go
index ff57e0ee..cb1f5742 100644
--- a/ast/goptest/gopq.go
+++ b/ast/goptest/gopq.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,7 +29,7 @@ const (
 
 // -----------------------------------------------------------------------------
 
-// New creates a nodeset object that represents a Go+ dom tree.
+// New creates a nodeset object that represents a XGo dom tree.
 func New(script string) (gopq.NodeSet, error) {
 	fset := token.NewFileSet()
 	fs := memfs.SingleFile("/foo", "bar.gop", script)
diff --git a/ast/togo/goast_test.go b/ast/togo/goast_test.go
index ff95c59a..56b5f741 100644
--- a/ast/togo/goast_test.go
+++ b/ast/togo/goast_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/builtin_test.go b/cl/builtin_test.go
index f6a1914e..28f718fc 100644
--- a/cl/builtin_test.go
+++ b/cl/builtin_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/cltest/cltest.go b/cl/cltest/cltest.go
index 5343d19b..762ead0b 100644
--- a/cl/cltest/cltest.go
+++ b/cl/cltest/cltest.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/cltest/error_msg.go b/cl/cltest/error_msg.go
index 8b695cf4..7d226a78 100644
--- a/cl/cltest/error_msg.go
+++ b/cl/cltest/error_msg.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/cltest/recorder.go b/cl/cltest/recorder.go
index 953331be..4d6b739c 100644
--- a/cl/cltest/recorder.go
+++ b/cl/cltest/recorder.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/cltest/spx.go b/cl/cltest/spx.go
index 56c26709..7e6bc8ea 100644
--- a/cl/cltest/spx.go
+++ b/cl/cltest/spx.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/compile_gop_test.go b/cl/compile_gop_test.go
index 73543bda..ae79f533 100644
--- a/cl/compile_gop_test.go
+++ b/cl/compile_gop_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/compile_spx_test.go b/cl/compile_spx_test.go
index 50adb0f7..291c25a6 100644
--- a/cl/compile_spx_test.go
+++ b/cl/compile_spx_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/compile_test.go b/cl/compile_test.go
index 95ec8cc9..c0a919cb 100644
--- a/cl/compile_test.go
+++ b/cl/compile_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -312,7 +312,7 @@ func init() {
 func TestSlogan(t *testing.T) {
 	gopClTest(t, `
 fields := ["engineering", "STEM education", "data science"]
-println "The Go+ Language for", fields.join(", ")
+println "The XGo Language for", fields.join(", ")
 `, `package main
 
 import (
@@ -322,7 +322,7 @@ import (
 
 func main() {
 	fields := []string{"engineering", "STEM education", "data science"}
-	fmt.Println("The Go+ Language for", strings.Join(fields, ", "))
+	fmt.Println("The XGo Language for", strings.Join(fields, ", "))
 }
 `)
 }
@@ -1739,16 +1739,16 @@ func main() {
 func TestCompositeLit(t *testing.T) {
 	gopClTest(t, `
 x := []float64{1, 3.4, 5}
-y := map[string]int{"Hello": 1, "Go+": 5}
+y := map[string]int{"Hello": 1, "XGo": 5}
 z := [...]int{1, 3, 5}
-a := {"Hello": 1, "Go+": 5.1}
+a := {"Hello": 1, "XGo": 5.1}
 `, `package main
 
 func main() {
 	x := []float64{1, 3.4, 5}
-	y := map[string]int{"Hello": 1, "Go+": 5}
+	y := map[string]int{"Hello": 1, "XGo": 5}
 	z := [...]int{1, 3, 5}
-	a := map[string]float64{"Hello": 1, "Go+": 5.1}
+	a := map[string]float64{"Hello": 1, "XGo": 5.1}
 }
 `)
 }
@@ -2016,14 +2016,14 @@ func main() {
 func TestDeferGo(t *testing.T) {
 	gopClTest(t, `
 go println("Hi")
-defer println("Go+")
+defer println("XGo")
 `, `package main
 
 import "fmt"
 
 func main() {
 	go fmt.Println("Hi")
-	defer fmt.Println("Go+")
+	defer fmt.Println("XGo")
 }
 `)
 }
@@ -2252,7 +2252,7 @@ type foo struct {
 }
 
 func newFoo() *foo {
-	return &foo{key: [3, 7], val: ["Hi", "Go+"]}
+	return &foo{key: [3, 7], val: ["Hi", "XGo"]}
 }
 
 func (p *foo) Gop_Enum() *fooIter {
@@ -2286,7 +2286,7 @@ func (p *foo) Gop_Enum() *fooIter {
 	return &fooIter{data: p}
 }
 func newFoo() *foo {
-	return &foo{key: []int{3, 7}, val: []string{"Hi", "Go+"}}
+	return &foo{key: []int{3, 7}, val: []string{"Hi", "XGo"}}
 }
 func main() {
 	for _gop_it := newFoo().Gop_Enum(); ; {
@@ -2349,13 +2349,13 @@ func main() {
 
 func TestMapComprehensionCond(t *testing.T) {
 	gopClTest(t, `
-z := {v: k for k, v <- {"Hello": 1, "Hi": 3, "xsw": 5, "Go+": 7}, v > 3}
+z := {v: k for k, v <- {"Hello": 1, "Hi": 3, "xsw": 5, "XGo": 7}, v > 3}
 `, `package main
 
 func main() {
 	z := func() (_gop_ret map[int]string) {
 		_gop_ret = map[int]string{}
-		for k, v := range map[string]int{"Hello": 1, "Hi": 3, "xsw": 5, "Go+": 7} {
+		for k, v := range map[string]int{"Hello": 1, "Hi": 3, "xsw": 5, "XGo": 7} {
 			if v > 3 {
 				_gop_ret[v] = k
 			}
@@ -2368,13 +2368,13 @@ func main() {
 
 func TestMapComprehensionCond2(t *testing.T) {
 	gopClTest(t, `
-z := {t: k for k, v <- {"Hello": 1, "Hi": 3, "xsw": 5, "Go+": 7}, t := v; t > 3}
+z := {t: k for k, v <- {"Hello": 1, "Hi": 3, "xsw": 5, "XGo": 7}, t := v; t > 3}
 `, `package main
 
 func main() {
 	z := func() (_gop_ret map[int]string) {
 		_gop_ret = map[int]string{}
-		for k, v := range map[string]int{"Hello": 1, "Hi": 3, "xsw": 5, "Go+": 7} {
+		for k, v := range map[string]int{"Hello": 1, "Hi": 3, "xsw": 5, "XGo": 7} {
 			if t := v; t > 3 {
 				_gop_ret[t] = k
 			}
@@ -2511,7 +2511,7 @@ a := [1, 3, 5, 7, 9]
 b := a[:3]
 c := a[1:]
 d := a[1:2:3]
-e := "Hello, Go+"[7:]
+e := "Hello, XGo"[7:]
 `, `package main
 
 func main() {
@@ -2519,22 +2519,22 @@ func main() {
 	b := a[:3]
 	c := a[1:]
 	d := a[1:2:3]
-	e := "Hello, Go+"[7:]
+	e := "Hello, XGo"[7:]
 }
 `)
 }
 
 func TestIndexGetTwoValue(t *testing.T) {
 	gopClTest(t, `
-a := {"Hello": 1, "Hi": 3, "xsw": 5, "Go+": 7}
+a := {"Hello": 1, "Hi": 3, "xsw": 5, "XGo": 7}
 x, ok := a["Hi"]
-y := a["Go+"]
+y := a["XGo"]
 `, `package main
 
 func main() {
-	a := map[string]int{"Hello": 1, "Hi": 3, "xsw": 5, "Go+": 7}
+	a := map[string]int{"Hello": 1, "Hi": 3, "xsw": 5, "XGo": 7}
 	x, ok := a["Hi"]
-	y := a["Go+"]
+	y := a["XGo"]
 }
 `)
 }
@@ -2792,14 +2792,14 @@ func main() {
 
 func TestAnonymousImport(t *testing.T) {
 	gopClTest(t, `println("Hello")
-printf("Hello Go+\n")
+printf("Hello XGo\n")
 `, `package main
 
 import "fmt"
 
 func main() {
 	fmt.Println("Hello")
-	fmt.Printf("Hello Go+\n")
+	fmt.Printf("Hello XGo\n")
 }
 `)
 }
@@ -3338,7 +3338,7 @@ func TestFuncAsParam(t *testing.T) {
 	gopClTest(t, `import "fmt"
 
 func bar(foo func(string, ...interface{}) (int, error)) {
-	foo("Hello, %v!\n", "Go+")
+	foo("Hello, %v!\n", "XGo")
 }
 
 bar(fmt.Printf)
@@ -3347,7 +3347,7 @@ bar(fmt.Printf)
 import "fmt"
 
 func bar(foo func(string, ...interface{}) (int, error)) {
-	foo("Hello, %v!\n", "Go+")
+	foo("Hello, %v!\n", "XGo")
 }
 func main() {
 	bar(fmt.Printf)
@@ -3371,12 +3371,12 @@ func printf(format string, args ...interface{}) (n int, err error) {
 }
 
 func bar(foo func(string, ...interface{}) (int, error)) {
-	foo("Hello, %v!\n", "Go+")
+	foo("Hello, %v!\n", "XGo")
 }
 
 bar(printf)
 fmt.Println(foo("Hello, world???"))
-fmt.Println(printf("Hello, %v\n", "Go+"))
+fmt.Println(printf("Hello, %v\n", "XGo"))
 `, `package main
 
 import (
@@ -3392,12 +3392,12 @@ func printf(format string, args ...interface{}) (n int, err error) {
 	return
 }
 func bar(foo func(string, ...interface{}) (int, error)) {
-	foo("Hello, %v!\n", "Go+")
+	foo("Hello, %v!\n", "XGo")
 }
 func main() {
 	bar(printf)
 	fmt.Println(foo("Hello, world???"))
-	fmt.Println(printf("Hello, %v\n", "Go+"))
+	fmt.Println(printf("Hello, %v\n", "XGo"))
 }
 `)
 }
diff --git a/cl/compile_testdir_test.go b/cl/compile_testdir_test.go
index c699ab01..0db6391d 100644
--- a/cl/compile_testdir_test.go
+++ b/cl/compile_testdir_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/error_msg_test.go b/cl/error_msg_test.go
index a3d03389..4fbfb7b3 100644
--- a/cl/error_msg_test.go
+++ b/cl/error_msg_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/test/case.go b/cl/internal/test/case.go
index 1dfd5425..da9c46d9 100644
--- a/cl/internal/test/case.go
+++ b/cl/internal/test/case.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/test/match.go b/cl/internal/test/match.go
index 5cba9386..1e70c51d 100644
--- a/cl/internal/test/match.go
+++ b/cl/internal/test/match.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/internal/typesutil/api_test.go b/cl/internal/typesutil/api_test.go
index c13143c5..61217ead 100644
--- a/cl/internal/typesutil/api_test.go
+++ b/cl/internal/typesutil/api_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cl/typeparams_test.go b/cl/typeparams_test.go
index f94d8d43..06604cc7 100644
--- a/cl/typeparams_test.go
+++ b/cl/typeparams_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/chore/goptestgo/goptestgo.go b/cmd/chore/goptestgo/goptestgo.go
index ce216ad2..6ee945dc 100644
--- a/cmd/chore/goptestgo/goptestgo.go
+++ b/cmd/chore/goptestgo/goptestgo.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/cmd/internal/test/test.go b/cmd/internal/test/test.go
index add1de0b..a38db5b8 100644
--- a/cmd/internal/test/test.go
+++ b/cmd/internal/test/test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021-2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021-2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,7 +34,7 @@ import (
 // gop test
 var Cmd = &base.Command{
 	UsageLine: "gop test [-debug] [packages]",
-	Short:     "Test Go+ packages",
+	Short:     "Test XGo packages",
 }
 
 var (
diff --git a/cmd/make_test.go b/cmd/make_test.go
index dd141b78..1c269e55 100644
--- a/cmd/make_test.go
+++ b/cmd/make_test.go
@@ -305,7 +305,7 @@ func TestInstallInNonGitRepo(t *testing.T) {
 		output, err := cmd.CombinedOutput()
 		if err == nil || !strings.Contains(string(output), "Error") {
 			t.Log(string(output))
-			t.Fatal("Failed: build Go+ in a non-git repo and no VERSION file should be failed.")
+			t.Fatal("Failed: build XGo in a non-git repo and no VERSION file should be failed.")
 		}
 	})
 
diff --git a/cmd/xgo/test_cmd.gox b/cmd/xgo/test_cmd.gox
index 348ba666..142cfeeb 100644
--- a/cmd/xgo/test_cmd.gox
+++ b/cmd/xgo/test_cmd.gox
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@ import (
 
 use "test [flags] [packages]"
 
-short "Test Go+ packages"
+short "Test XGo packages"
 
 flagOff
 
diff --git a/doc/z_test.go b/doc/z_test.go
index 4e0d18b3..118e440c 100644
--- a/doc/z_test.go
+++ b/doc/z_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/env/path_test.go b/env/path_test.go
index 419cd6a9..df9acf80 100644
--- a/env/path_test.go
+++ b/env/path_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/env/version_test.go b/env/version_test.go
index 7beb6b9f..e15cb4b7 100644
--- a/env/version_test.go
+++ b/env/version_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/format/formatutil/format_test.go b/format/formatutil/format_test.go
index 7765322c..b5f3a0b1 100644
--- a/format/formatutil/format_test.go
+++ b/format/formatutil/format_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/parser/_testdata/functype/functype.go b/parser/_testdata/functype/functype.go
index 4b17902d..cc4fad54 100644
--- a/parser/_testdata/functype/functype.go
+++ b/parser/_testdata/functype/functype.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/parser/_testdata/listcompr/listcompr.gop b/parser/_testdata/listcompr/listcompr.gop
index 8e7f91ab..3f0b9dd0 100644
--- a/parser/_testdata/listcompr/listcompr.gop
+++ b/parser/_testdata/listcompr/listcompr.gop
@@ -7,7 +7,7 @@ println(y)
 z := [i+v for i, v in [1, 3, 5, 7, 11] if t := i % 2; t == 1]
 println(z)
 
-println([k+","+s for k, s in {"Hello": "xsw", "Hi": "Go+"}])
+println([k+","+s for k, s in {"Hello": "xsw", "Hi": "XGo"}])
 
 arr := [1, 2, 3, 4, 5, 6]
 x := [[a, b] for a in arr if a < b for b in arr if b > 2]
diff --git a/parser/_testdata/listcompr/parser.expect b/parser/_testdata/listcompr/parser.expect
index 14b35e6b..7a9f7bb1 100644
--- a/parser/_testdata/listcompr/parser.expect
+++ b/parser/_testdata/listcompr/parser.expect
@@ -240,7 +240,7 @@ ast.FuncDecl:
                               Value:
                                 ast.BasicLit:
                                   Kind: STRING
-                                  Value: "Go+"
+                                  Value: "XGo"
         ast.AssignStmt:
           Lhs:
             ast.Ident:
diff --git a/parser/parser_test.go b/parser/parser_test.go
index f28f8df8..3031b334 100644
--- a/parser/parser_test.go
+++ b/parser/parser_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/parser/parserdir_go118_test.go b/parser/parserdir_go118_test.go
index 829ee283..2d118992 100644
--- a/parser/parserdir_go118_test.go
+++ b/parser/parserdir_go118_test.go
@@ -2,7 +2,7 @@
 // +build go1.18
 
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/parser/parserdir_test.go b/parser/parserdir_test.go
index 58febdde..49861d2d 100644
--- a/parser/parserdir_test.go
+++ b/parser/parserdir_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/parser/parsertest/parsertest.go b/parser/parsertest/parsertest.go
index f8c1dee9..41c194c7 100644
--- a/parser/parsertest/parsertest.go
+++ b/parser/parsertest/parsertest.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -54,7 +54,7 @@ var (
 	tplToken    = reflect.TypeOf(tpltoken.Token(0))
 )
 
-// FprintNode prints a Go+ AST node.
+// FprintNode prints a XGo AST node.
 func FprintNode(w io.Writer, lead string, v any, prefix, indent string) {
 	val := reflect.ValueOf(v)
 	switch val.Kind() {
@@ -120,7 +120,7 @@ func FprintNode(w io.Writer, lead string, v any, prefix, indent string) {
 	}
 }
 
-// Fprint prints a Go+ package.
+// Fprint prints a XGo package.
 func Fprint(w io.Writer, pkg *ast.Package) {
 	fmt.Fprintf(w, "package %s\n", pkg.Name)
 	paths := sortedKeys(pkg.Files)
@@ -134,7 +134,7 @@ func Fprint(w io.Writer, pkg *ast.Package) {
 	}
 }
 
-// Expect asserts a Go+ AST package equals output or not.
+// Expect asserts a XGo AST package equals output or not.
 func Expect(t *testing.T, pkg *ast.Package, expected string) {
 	b := bytes.NewBuffer(nil)
 	Fprint(b, pkg)
@@ -153,7 +153,7 @@ func ExpectEx(t *testing.T, outfile string, pkg *ast.Package, expected []byte) {
 	}
 }
 
-// ExpectNode asserts a Go+ AST node equals output or not.
+// ExpectNode asserts a XGo AST node equals output or not.
 func ExpectNode(t *testing.T, node any, expected string) {
 	b := bytes.NewBuffer(nil)
 	FprintNode(b, "", node, "", "  ")
diff --git a/printer/_testdata/04-Func/func.gop b/printer/_testdata/04-Func/func.gop
index 5bca73bf..4a447169 100644
--- a/printer/_testdata/04-Func/func.gop
+++ b/printer/_testdata/04-Func/func.gop
@@ -13,9 +13,9 @@ func printf(format string, args ...interface{}) (n int, err error) {
 }
 
 func bar(foo func(string, ...interface{}) (int, error)) {
-	foo("Hello, %v!\n", "Go+")
+	foo("Hello, %v!\n", "XGo")
 }
 
 bar(printf)
 fmt.Println(foo("Hello, world???"))
-fmt.Println(printf("Hello, %v\n", "Go+"))
+fmt.Println(printf("Hello, %v\n", "XGo"))
diff --git a/printer/_testdata/05-Closure/closure.gop b/printer/_testdata/05-Closure/closure.gop
index d8cfb50c..9b78369c 100644
--- a/printer/_testdata/05-Closure/closure.gop
+++ b/printer/_testdata/05-Closure/closure.gop
@@ -15,8 +15,8 @@ printf := func(format string, args ...interface{}) (n int, err error) {
 }
 
 bar := func(foo func(string, ...interface{}) (int, error)) {
-	foo("Hello, %v!\n", "Go+")
+	foo("Hello, %v!\n", "XGo")
 }
 
 bar(printf)
-fmt.Println(printf("Hello, %v\n", "Go+"))
+fmt.Println(printf("Hello, %v\n", "XGo"))
diff --git a/printer/_testdata/07-MapLit/maplit.gop b/printer/_testdata/07-MapLit/maplit.gop
index 3e932766..a9344219 100644
--- a/printer/_testdata/07-MapLit/maplit.gop
+++ b/printer/_testdata/07-MapLit/maplit.gop
@@ -1,10 +1,10 @@
 x := {"Hello": 1, "xsw": 3.4} // map[string]float64
 println("x:", x)
 
-y := {"Hello": 1, "xsw": "Go+"} // map[string]interface{}
+y := {"Hello": 1, "xsw": "XGo"} // map[string]interface{}
 println("y:", y)
 
 println({"Hello": 1, "xsw": 3}) // map[string]int
-println({1: 1.4, 3: "Go+"})     // map[int]interface{}
+println({1: 1.4, 3: "XGo"})     // map[int]interface{}
 
 println("empty map:", {}) // map[string]interface{}
diff --git a/printer/_testdata/10-List-comprehension/list_comprehens.gop b/printer/_testdata/10-List-comprehension/list_comprehens.gop
index 1dba67ac..6f749289 100644
--- a/printer/_testdata/10-List-comprehension/list_comprehens.gop
+++ b/printer/_testdata/10-List-comprehension/list_comprehens.gop
@@ -7,7 +7,7 @@ println(y)
 z := [i+v for i, v in [1, 3, 5, 7, 11] if i%2 == 1]
 println(z)
 
-println([k+","+s for k, s in {"Hello": "xsw", "Hi": "Go+"}])
+println([k+","+s for k, s in {"Hello": "xsw", "Hi": "XGo"}])
 
 arr := [1, 2, 3, 4, 5, 6]
 x := [[a, b] for a in arr if a < b for b in arr if b > 2]
diff --git a/printer/_testdata/11-Map-comprehension/map_comprehens.gop b/printer/_testdata/11-Map-comprehension/map_comprehens.gop
index f8cd89bf..c20604f0 100644
--- a/printer/_testdata/11-Map-comprehension/map_comprehens.gop
+++ b/printer/_testdata/11-Map-comprehension/map_comprehens.gop
@@ -4,5 +4,5 @@ println(y)
 y = {x: i for i, x in [1, 3, 5, 7, 11] if i%2 == 1}
 println(y)
 
-z := {v: k for k, v in {1: "Hello", 3: "Hi", 5: "xsw", 7: "Go+"} if k > 3}
+z := {v: k for k, v in {1: "Hello", 3: "Hi", 5: "xsw", 7: "XGo"} if k > 3}
 println(z)
diff --git a/printer/_testdata/23-Defer/defer.gop b/printer/_testdata/23-Defer/defer.gop
index 901fc0dd..4385bebe 100644
--- a/printer/_testdata/23-Defer/defer.gop
+++ b/printer/_testdata/23-Defer/defer.gop
@@ -28,4 +28,4 @@ println("g-x:", g())
 println("h-x:", h())
 
 defer println(println("Hello, defer"))
-println("Hello, Go+")
+println("Hello, XGo")
diff --git a/printer/_testdata/40-Deduce-struct-type/deduce.gop b/printer/_testdata/40-Deduce-struct-type/deduce.gop
index dc278109..e3bd5f77 100644
--- a/printer/_testdata/40-Deduce-struct-type/deduce.gop
+++ b/printer/_testdata/40-Deduce-struct-type/deduce.gop
@@ -9,7 +9,7 @@ type Result struct {
 
 func foo(conf *Config) *Result {
 	println("conf:", *conf)
-	return {Text: "Hello, Go+"}
+	return {Text: "Hello, XGo"}
 }
 
 ret := foo({Dir: "/foo/bar", Level: 1})
diff --git a/printer/_testdata/41-UDT-RangeForEach/udt_range.gop b/printer/_testdata/41-UDT-RangeForEach/udt_range.gop
index 74264213..207498f2 100644
--- a/printer/_testdata/41-UDT-RangeForEach/udt_range.gop
+++ b/printer/_testdata/41-UDT-RangeForEach/udt_range.gop
@@ -3,7 +3,7 @@ type foo struct {
 
 func (p *foo) Gop_Enum(proc func(key int, val string)) {
 	proc(3, "Hi")
-	proc(7, "Go+")
+	proc(7, "XGo")
 }
 
 for k, v in new(foo) {
diff --git a/printer/_testdata/42-UDT-RangeIterator/udt_range_iter.gop b/printer/_testdata/42-UDT-RangeIterator/udt_range_iter.gop
index 3d48131d..068ecc33 100644
--- a/printer/_testdata/42-UDT-RangeIterator/udt_range_iter.gop
+++ b/printer/_testdata/42-UDT-RangeIterator/udt_range_iter.gop
@@ -17,7 +17,7 @@ type foo struct {
 }
 
 func newFoo() *foo {
-	return &foo{key: [3, 7], val: ["Hi", "Go+"]}
+	return &foo{key: [3, 7], val: ["Hi", "XGo"]}
 }
 
 func (p *foo) Gop_Enum() *fooIter {
diff --git a/printer/gop_test.go b/printer/gop_test.go
index 83fae961..f8fda6db 100644
--- a/printer/gop_test.go
+++ b/printer/gop_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/printer/printer_test.go b/printer/printer_test.go
index 8f7976e9..82c4de36 100644
--- a/printer/printer_test.go
+++ b/printer/printer_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/test/classfile.go b/test/classfile.go
index ff549662..227e025e 100644
--- a/test/classfile.go
+++ b/test/classfile.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2024 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,7 +29,7 @@ const (
 
 type testingT = testing.T
 
-// Case represents a Go+ testcase.
+// Case represents a XGo testcase.
 type Case struct {
 	t *testingT
 }
@@ -48,7 +48,7 @@ func (p Case) Run(name string, f func(t *testing.T)) bool {
 	return p.t.Run(name, f)
 }
 
-// Gopt_Case_TestMain is required by Go+ compiler as the test case entry.
+// Gopt_Case_TestMain is required by XGo compiler as the test case entry.
 func Gopt_Case_TestMain(c interface{ initCase(t *testing.T) }, t *testing.T) {
 	c.initCase(t)
 	c.(interface{ Main() }).Main()
@@ -56,7 +56,7 @@ func Gopt_Case_TestMain(c interface{ initCase(t *testing.T) }, t *testing.T) {
 
 // -----------------------------------------------------------------------------
 
-// App represents a Go+ testing main application.
+// App represents a XGo testing main application.
 type App struct {
 	m *testing.M
 }
@@ -68,7 +68,7 @@ func (p *App) initApp(m *testing.M) {
 // M returns the *testing.M object.
 func (p App) M() *testing.M { return p.m }
 
-// Gopt_App_TestMain is required by Go+ compiler as the entry of a Go+ testing project.
+// Gopt_App_TestMain is required by XGo compiler as the entry of a XGo testing project.
 func Gopt_App_TestMain(app interface{ initApp(m *testing.M) }, m *testing.M) {
 	app.initApp(m)
 	if me, ok := app.(interface{ MainEntry() }); ok {
diff --git a/token/internal/tokenutil/lines_test.go b/token/internal/tokenutil/lines_test.go
index 4c41f8ce..3121cd77 100644
--- a/token/internal/tokenutil/lines_test.go
+++ b/token/internal/tokenutil/lines_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/token/token_test.go b/token/token_test.go
index ee555fc9..c33eecd5 100644
--- a/token/token_test.go
+++ b/token/token_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/parser/parser_test.go b/tpl/parser/parser_test.go
index c296d3cc..e14b70a9 100644
--- a/tpl/parser/parser_test.go
+++ b/tpl/parser/parser_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/parser/parsertest/parsertest.go b/tpl/parser/parsertest/parsertest.go
index 9ea7f0f7..0d4b3476 100644
--- a/tpl/parser/parsertest/parsertest.go
+++ b/tpl/parser/parsertest/parsertest.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/scanner/scandir_test.go b/tpl/scanner/scandir_test.go
index 583b9bf3..b07755b8 100644
--- a/tpl/scanner/scandir_test.go
+++ b/tpl/scanner/scandir_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/scanner/scanner_test.go b/tpl/scanner/scanner_test.go
index ed0bcc2b..5207c419 100644
--- a/tpl/scanner/scanner_test.go
+++ b/tpl/scanner/scanner_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tpl/scanner/scannertest/scannertest.go b/tpl/scanner/scannertest/scannertest.go
index 3308e748..20a16f49 100644
--- a/tpl/scanner/scannertest/scannertest.go
+++ b/tpl/scanner/scannertest/scannertest.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -49,7 +49,7 @@ func Scan(w io.Writer, in []byte) {
 
 // -----------------------------------------------------------------------------
 
-// GopScan scans the input using the Go+ standard library scanner and
+// GopScan scans the input using the XGo standard library scanner and
 // writes the tokens to the writer.
 func GopScan(w io.Writer, in []byte) {
 	var s gopscanner.Scanner
diff --git a/tpl/token/token_test.go b/tpl/token/token_test.go
index 1f214bea..03ca903e 100644
--- a/tpl/token/token_test.go
+++ b/tpl/token/token_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2025 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2025 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/build/_testdata/hello/hello.expect b/x/build/_testdata/hello/hello.expect
index 13b98bf6..3148bba2 100644
--- a/x/build/_testdata/hello/hello.expect
+++ b/x/build/_testdata/hello/hello.expect
@@ -3,5 +3,5 @@ package main
 import "fmt"
 
 func main() {
-	fmt.Println("Go+")
+	fmt.Println("XGo")
 }
diff --git a/x/build/_testdata/hello/main.gop b/x/build/_testdata/hello/main.gop
index 3cb9271c..66ca0273 100644
--- a/x/build/_testdata/hello/main.gop
+++ b/x/build/_testdata/hello/main.gop
@@ -1,1 +1,1 @@
-println "Go+"
+println "XGo"
diff --git a/x/build/_testdata/pkg/pkg.expect b/x/build/_testdata/pkg/pkg.expect
index 54ec8242..3afe1dc4 100644
--- a/x/build/_testdata/pkg/pkg.expect
+++ b/x/build/_testdata/pkg/pkg.expect
@@ -3,5 +3,5 @@ package pkg
 import "fmt"
 
 func Hello() {
-	fmt.Println("Go+")
+	fmt.Println("XGo")
 }
diff --git a/x/build/_testdata/pkg/pkg.gop b/x/build/_testdata/pkg/pkg.gop
index fba85a65..896d2100 100644
--- a/x/build/_testdata/pkg/pkg.gop
+++ b/x/build/_testdata/pkg/pkg.gop
@@ -1,5 +1,5 @@
 package pkg
 
 func Hello() {
-	println "Go+"
+	println "XGo"
 }
diff --git a/x/build/build_test.go b/x/build/build_test.go
index 8f637a7c..c89262a6 100644
--- a/x/build/build_test.go
+++ b/x/build/build_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2022 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -82,14 +82,14 @@ func TestKind(t *testing.T) {
 
 func TestGop(t *testing.T) {
 	var src = `
-println "Go+"
+println "XGo"
 `
 	var expect = `package main
 
 import "fmt"
 
 func main() {
-	fmt.Println("Go+")
+	fmt.Println("XGo")
 }
 `
 	gopClTest(t, src, expect)
@@ -107,7 +107,7 @@ func main() {
 
 func TestGox(t *testing.T) {
 	gopClTestEx(t, "Rect.gox", `
-println "Go+"
+println "XGo"
 `, `package main
 
 import "fmt"
@@ -116,7 +116,7 @@ type Rect struct {
 }
 
 func (this *Rect) Main() {
-	fmt.Println("Go+")
+	fmt.Println("XGo")
 }
 func main() {
 	new(Rect).Main()
@@ -130,7 +130,7 @@ var (
 type Buffer struct {
 	buf []byte
 }
-println "Go+"
+println "XGo"
 `, `package main
 
 import "fmt"
@@ -144,7 +144,7 @@ type Rect struct {
 }
 
 func (this *Rect) Main() {
-	fmt.Println("Go+")
+	fmt.Println("XGo")
 }
 func main() {
 	new(Rect).Main()
@@ -158,7 +158,7 @@ var (
 type Buffer struct {
 	buf []byte
 }
-println "Go+"
+println "XGo"
 `, `package main
 
 import "fmt"
@@ -172,7 +172,7 @@ type Rect struct {
 }
 
 func (this *Rect) Main() {
-	fmt.Println("Go+")
+	fmt.Println("XGo")
 }
 func main() {
 	new(Rect).Main()
@@ -184,7 +184,7 @@ var (
 	*bytes.Buffer
 	v int
 )
-println "Go+"
+println "XGo"
 `, `package main
 
 import (
@@ -198,7 +198,7 @@ type Rect struct {
 }
 
 func (this *Rect) Main() {
-	fmt.Println("Go+")
+	fmt.Println("XGo")
 }
 func main() {
 	new(Rect).Main()
@@ -210,7 +210,7 @@ var (
 	bytes.Buffer
 	v int
 )
-println "Go+"
+println "XGo"
 `, `package main
 
 import (
@@ -224,7 +224,7 @@ type Rect struct {
 }
 
 func (this *Rect) Main() {
-	fmt.Println("Go+")
+	fmt.Println("XGo")
 }
 func main() {
 	new(Rect).Main()
@@ -462,7 +462,7 @@ func TestFS(t *testing.T) {
 import "fmt"
 
 func main() {
-	fmt.Println("Go+")
+	fmt.Println("XGo")
 }
 `)
 	data, err := ctx.BuildFSDir(fsx.Local, "./_testdata/hello")
@@ -480,7 +480,7 @@ func TestAst(t *testing.T) {
 import "fmt"
 
 func main() {
-	fmt.Println("Go+")
+	fmt.Println("XGo")
 }
 `)
 	pkg, err := ctx.ParseFSDir(fsx.Local, "./_testdata/hello")
@@ -533,7 +533,7 @@ func (i *emptyImporter) Import(path string) (*types.Package, error) {
 
 func TestContext(t *testing.T) {
 	ctx := build.NewContext(&emptyImporter{}, nil)
-	_, err := ctx.BuildFile("main.gop", `import "fmt"; fmt.Println "Go+"`)
+	_, err := ctx.BuildFile("main.gop", `import "fmt"; fmt.Println "XGo"`)
 	if err == nil {
 		t.Fatal("BuildFile: no error?")
 	}
diff --git a/x/format/gopstyle_test.go b/x/format/gopstyle_test.go
index cf01dde4..f3aa2cb1 100644
--- a/x/format/gopstyle_test.go
+++ b/x/format/gopstyle_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/format/gopstyledir_test.go b/x/format/gopstyledir_test.go
index d9acaba4..bb2c368d 100644
--- a/x/format/gopstyledir_test.go
+++ b/x/format/gopstyledir_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/gopprojs/proj_test.go b/x/gopprojs/proj_test.go
index fb3fd033..d3db9591 100644
--- a/x/gopprojs/proj_test.go
+++ b/x/gopprojs/proj_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2021 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/jsonrpc2/jsonrpc2test/pipe.go b/x/jsonrpc2/jsonrpc2test/pipe.go
index f1569e8a..e7977737 100644
--- a/x/jsonrpc2/jsonrpc2test/pipe.go
+++ b/x/jsonrpc2/jsonrpc2test/pipe.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/jsonrpc2/jsonrpc2test/pipe_test.go b/x/jsonrpc2/jsonrpc2test/pipe_test.go
index 01757b38..3c5a5ca6 100644
--- a/x/jsonrpc2/jsonrpc2test/pipe_test.go
+++ b/x/jsonrpc2/jsonrpc2test/pipe_test.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 The GoPlus Authors (goplus.org). All rights reserved.
+ * Copyright (c) 2023 The XGo Authors (xgo.dev). All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/x/typesutil/info_test.go b/x/typesutil/info_test.go
index 19a1b743..b44433a8 100644
--- a/x/typesutil/info_test.go
+++ b/x/typesutil/info_test.go
@@ -214,8 +214,8 @@ func testItems(t *testing.T, name string, items []string, goitems []string) {
 	text := strings.Join(items, "\n")
 	gotext := strings.Join(goitems, "\n")
 	if len(items) != len(goitems) || text != gotext {
-		t.Errorf(`====== check %v error (Go+ count: %v, Go count %v) ====== 
------- Go+ ------
+		t.Errorf(`====== check %v error (XGo count: %v, Go count %v) ====== 
+------ XGo ------
 %v
 ------ Go ------
 %v
@@ -1955,7 +1955,7 @@ func TestScopesInfo(t *testing.T) {
 		{`package p30; func _(){ y := {x: i for i, x <- ["1", "3", "5", "7", "11"]}; _ = y }`, []string{
 			"file:", "func:y", "for phrase:i x",
 		}},
-		{`package p31; func _(){ z := {v: k for k, v <- {"Hello": 1, "Hi": 3, "xsw": 5, "Go+": 7}, v > 3}; _ = z }`, []string{
+		{`package p31; func _(){ z := {v: k for k, v <- {"Hello": 1, "Hi": 3, "xsw": 5, "XGo": 7}, v > 3}; _ = z }`, []string{
 			"file:", "func:z", "for phrase:k v",
 		}},
 	}