Преглед изворни кода

package/readline: disable bracketed paste by default

As of readline 8.1, "bracketed paste" is enabled by default. However,
the feature causes control characters to appear in captured (telnet)
session output. This can throw off pattern matching if the output is to
be processed by scripts.

Let's keep the previous default of leaving this feature disabled and
provide a configuration option for users to enable it.

Signed-off-by: Markus Mayer <mmayer@broadcom.com>
[yann.morin.1998@free.fr:
  - explicit enable/disable
  - no indentation in conditional block
  - rewrap help text
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Markus Mayer пре 4 година
родитељ
комит
ba05d01476
2 измењених фајлова са 24 додато и 0 уклоњено
  1. 18 0
      package/readline/Config.in
  2. 6 0
      package/readline/readline.mk

+ 18 - 0
package/readline/Config.in

@@ -7,3 +7,21 @@ config BR2_PACKAGE_READLINE
 	  as they are typed in.
 
 	  https://tiswww.case.edu/php/chet/readline/rltop.html
+
+config BR2_PACKAGE_READLINE_BRACKETED_PASTE
+	bool "Enable bracketed paste"
+	depends on BR2_PACKAGE_READLINE
+	help
+	  Enable the "bracketed paste" feature in libreadline.
+
+	  Bracketed paste is helpful for interactive sessions when
+	  one wants to prevent pasted text from being interpreted
+	  as typed-in commands. However, it also causes control
+	  characters to show up in the raw output of a (telnet)
+	  session. This can cause issues and throw off pattern
+	  matching if the session output is being captured for
+	  automated processing.
+
+	  For further information on this feature and whether you
+	  may want it, see:
+	      https://cirw.in/blog/bracketed-paste

+ 6 - 0
package/readline/readline.mk

@@ -16,6 +16,12 @@ READLINE_LICENSE = GPL-3.0+
 READLINE_LICENSE_FILES = COPYING
 READLINE_CPE_ID_VENDOR = gnu
 
+ifeq ($(BR2_PACKAGE_READLINE_BRACKETED_PASTE),y)
+READLINE_CONF_OPTS += --enable-bracketed-paste-default
+else
+READLINE_CONF_OPTS += --disable-bracketed-paste-default
+endif
+
 define READLINE_INSTALL_INPUTRC
 	$(INSTALL) -D -m 644 package/readline/inputrc $(TARGET_DIR)/etc/inputrc
 endef