-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: rxvt-unicode-sixel
action: commit
revision:
path_from:
revision_from: 85edcf8bc524668da8d8d3086d37eee8f5c14c47:
path_to:
revision_to:

git.thebackupbox.net

rxvt-unicode-sixel

git://git.thebackupbox.net/rxvt-unicode-sixel

commit 85edcf8bc524668da8d8d3086d37eee8f5c14c47
Author: Marc Lehmann <schmorp@schmorp.de>
Date:   Wed Dec 1 02:12:18 2004 +0000

    *** empty log message ***

diff --git a/src/command.C b/src/command.C

index 514b40b4e5a19debb1b76a371405cb7b1389d0b3..

index ..3270c2fe9ecb102d066fb46c70c4d126505b349a 100644

--- a/src/command.C
+++ b/src/command.C
@@ -51,6 +51,7 @@
 #include "command.h"

 #include <wchar.h>
+#include <signal.h>

 /*----------------------------------------------------------------------*/

diff --git a/src/rxvt.h b/src/rxvt.h

index 600ce5f009b40b2f25f50be0f08aadb72e0a89f7..

index ..b992f624e1341adeadfdef17061d4214b11563a8 100644

--- a/src/rxvt.h
+++ b/src/rxvt.h
@@ -612,6 +612,7 @@ enum {
   Rs_pointerBlank,
   Rs_pointerBlankDelay,
   Rs_imLocale,
+  Rs_pastableTabs,
 #ifndef NO_SECONDARY_SCREEN
   Rs_secondaryScreen,
   Rs_secondaryScroll,
diff --git a/src/rxvtlib.h.in b/src/rxvtlib.h.in

index 81ef8ad5a4ddaef054d0a33083776f172da3d0f3..

index ..2cefa2fcbbd5e03743b4972e89c89a0943e54652 100644

--- a/src/rxvtlib.h.in
+++ b/src/rxvtlib.h.in
@@ -215,12 +215,14 @@ typedef struct {
 # define Opt_insecure		0
 # define Opt_borderLess		0
 #endif
+#define Opt_pastableTabs	(1UL<<25)
 /* place holder used for parsing command-line options */
 #define Opt_Reverse             (1UL<<30)
 #define Opt_Boolean             (1UL<<31)

-#define DEFAULT_OPTIONS         (Opt_scrollBar | Opt_scrollTtyOutput | \
-                                 Opt_jumpScroll | Opt_secondaryScreen)
+#define DEFAULT_OPTIONS         (Opt_scrollBar | Opt_scrollTtyOutput \
+                                 | Opt_jumpScroll | Opt_secondaryScreen \
+                                 | Opt_pastableTabs)

 /* ------------------------------------------------------------------------- */

diff --git a/src/screen.C b/src/screen.C

index 312c4688eb4e85c0f62cdb710ecf36acb178a24b..

index ..8dc463dbf71ec4b3a1327d852c996b6f558c0cf6 100644

--- a/src/screen.C
+++ b/src/screen.C
@@ -885,14 +885,14 @@ rxvt_term::scr_add_lines (const unicode_t *str, int nlines, int len)
           srp = screen.rend[row];  /* _must_ refresh */
         }

-      if (screen.flags & Screen_Insert)
-        scr_insdel_chars (1, INSERT);
-
       // rely on wcwidth to tell us the character width, at least for non-latin1
       // do wcwidth before further replacements, as wcwidth says that line-drawing
       // characters have width -1 (DOH!) on GNU/Linux sometimes.
       int width = c < 0x100 ? 1 : wcwidth (c);

+      if (screen.flags & Screen_Insert)
+        scr_insdel_chars (width, INSERT);
+
       if (charsets[screen.charset] == '0') // DEC SPECIAL
         {
           // vt100 special graphics and line drawing
@@ -1102,7 +1102,7 @@ rxvt_term::scr_tab (int count, bool ht)

       // store horizontal tab commands as characters inside the text
       // buffer so they can be selected and pasted.
-      if (ht)
+      if (ht && options & Opt_pastableTabs)
         {
           base_rend = SET_FONT (base_rend, 0);

@@ -2246,7 +2246,7 @@ rxvt_term::scr_refresh (unsigned char refresh_type)

           // redraw one or more characters

-          // seek to the beginning if wide characters
+          // seek to the beginning of wide characters
           while (stp[col] == NOCHAR && col > 0)
             --col;

diff --git a/src/xdefaults.C b/src/xdefaults.C

index f46f1a21a18c811418cb9dac89a3b345204773cc..

index ..8bc363389412b050e3f5ca79aea05f761d59e568 100644

--- a/src/xdefaults.C
+++ b/src/xdefaults.C
@@ -93,6 +93,7 @@ optList[] = {
               BOOL (Rs_reverseVideo, "reverseVideo", "rv", Opt_reverseVideo, "reverse video"),
               BOOL (Rs_loginShell, "loginShell", "ls", Opt_loginShell, "login shell"),
               BOOL (Rs_jumpScroll, "jumpScroll", "j", Opt_jumpScroll, "jump scrolling"),
+              BOOL (Rs_pastableTabs, "pastableTabs", "ptab", Opt_pastableTabs, "tab characters are pastable"),
 #ifdef HAVE_SCROLLBARS
               BOOL (Rs_scrollBar, "scrollBar", "sb", Opt_scrollBar, "scrollbar"),
               BOOL (Rs_scrollBar_right, "scrollBar_right", "sr", Opt_scrollBar_right, "scrollbar right"),

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 13:27:19 2024