diff --git a/core/core.services.yml b/core/core.services.yml
index f5ed5db..81cd11f 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -819,6 +819,16 @@ services:
       - { name: path_processor_inbound, priority: 200 }
       - { name: path_processor_outbound, priority: 200 }
     arguments: ['@config.factory']
+  path_processor_none:
+    class: Drupal\Core\PathProcessor\PathProcessorNone
+    tags:
+      - { name: path_processor_outbound, priority: 200 }
+    arguments: ['@config.factory']
+  path_processor_current:
+    class: Drupal\Core\PathProcessor\PathProcessorCurrent
+    tags:
+      - { name: path_processor_outbound, priority: 200 }
+    arguments: ['@config.factory']
   path_processor_alias:
     class: Drupal\Core\PathProcessor\PathProcessorAlias
     tags:
diff --git a/core/lib/Drupal/Core/PathProcessor/PathProcessorCurrent.php b/core/lib/Drupal/Core/PathProcessor/PathProcessorCurrent.php
new file mode 100644
index 0000000..a665c1c
--- /dev/null
+++ b/core/lib/Drupal/Core/PathProcessor/PathProcessorCurrent.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Core\PathProcessor\PathProcessorCurrent.
+ */
+
+namespace Drupal\Core\PathProcessor;
+
+use Symfony\Component\HttpFoundation\Request;
+
+/**
+ * Provides a path processor to replace <current>.
+ */
+class PathProcessorCurrent implements OutboundPathProcessorInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function processOutbound($path, &$options = array(), Request $request = NULL) {
+    if ($path == '%3Ccurrent%3E' && $request) {
+      $path_info = $request->getPathInfo();
+
+      $current_base_path = $request->getBasePath() . '/';
+      return mb_strcut($path_info, strlen($current_base_path));
+    }
+    return $path;
+  }
+
+}
+
diff --git a/core/lib/Drupal/Core/PathProcessor/PathProcessorNone.php b/core/lib/Drupal/Core/PathProcessor/PathProcessorNone.php
new file mode 100644
index 0000000..990faee
--- /dev/null
+++ b/core/lib/Drupal/Core/PathProcessor/PathProcessorNone.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Core\PathProcessor\PathProcessorNone.
+ */
+
+namespace Drupal\Core\PathProcessor;
+
+use Symfony\Component\HttpFoundation\Request;
+
+/**
+ * Provides a path processor to replace <none>.
+ */
+class PathProcessorNone implements OutboundPathProcessorInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function processOutbound($path, &$options = array(), Request $request = NULL) {
+    if ($path == '%3Cnone%3E') {
+      return NULL;
+    }
+    return $path;
+  }
+
+}
diff --git a/core/modules/node/src/Controller/NodeController.php b/core/modules/node/src/Controller/NodeController.php
index 2990324..591048e 100644
--- a/core/modules/node/src/Controller/NodeController.php
+++ b/core/modules/node/src/Controller/NodeController.php
@@ -62,6 +62,9 @@ public static function create(ContainerInterface $container) {
   public function addPage() {
     $content = array();
 
+    drupal_set_message(\Drupal::url('<none>'));
+    drupal_set_message(\Drupal::url('<current>'));
+
     // Only use node types the user has access to.
     foreach ($this->entityManager()->getStorage('node_type')->loadMultiple() as $type) {
       if ($this->entityManager()->getAccessControlHandler('node')->createAccess($type->type)) {
diff --git a/core/modules/system/system.routing.yml b/core/modules/system/system.routing.yml
index 6df0e0c..c2446d6 100644
--- a/core/modules/system/system.routing.yml
+++ b/core/modules/system/system.routing.yml
@@ -352,6 +352,12 @@ system.theme_settings_theme:
   requirements:
     _access: 'TRUE'
 
+'<none>':
+  path: '<none>'
+
+'<current>':
+  path: '<current>'
+
 system.modules_uninstall:
   path: '/admin/modules/uninstall'
   defaults:
