summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1201
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1201')
-rw-r--r--data/vim/patches/8.1.1201392
1 files changed, 392 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1201 b/data/vim/patches/8.1.1201
new file mode 100644
index 000000000..5943c6692
--- /dev/null
+++ b/data/vim/patches/8.1.1201
@@ -0,0 +1,392 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.1201
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.1201
+Problem: Output of :command is hard to read.
+Solution: Make some columns wider, some narrower. Truncate the command when
+ listing all.
+Files: src/ex_docmd.c, src/message.c, src/proto/message.pro,
+ src/getchar.c, src/menu.c
+
+
+*** ../vim-8.1.1200/src/ex_docmd.c 2019-04-07 14:21:26.230339328 +0200
+--- src/ex_docmd.c 2019-04-24 23:03:28.879520754 +0200
+***************
+*** 6000,6005 ****
+--- 6000,6006 ----
+ int found = FALSE;
+ ucmd_T *cmd;
+ int len;
++ int over;
+ long a;
+ garray_T *gap;
+
+***************
+*** 6019,6035 ****
+
+ /* Put out the title first time */
+ if (!found)
+! msg_puts_title(_("\n Name Args Address Complete Definition"));
+ found = TRUE;
+ msg_putchar('\n');
+ if (got_int)
+ break;
+
+! /* Special cases */
+! msg_putchar(a & BANG ? '!' : ' ');
+! msg_putchar(a & REGSTR ? '"' : ' ');
+! msg_putchar(gap != &ucmds ? 'b' : ' ');
+! msg_putchar(' ');
+
+ msg_outtrans_attr(cmd->uc_name, HL_ATTR(HLF_D));
+ len = (int)STRLEN(cmd->uc_name) + 4;
+--- 6020,6055 ----
+
+ /* Put out the title first time */
+ if (!found)
+! msg_puts_title(_("\n Name Args Address Complete Definition"));
+ found = TRUE;
+ msg_putchar('\n');
+ if (got_int)
+ break;
+
+! // Special cases
+! len = 4;
+! if (a & BANG)
+! {
+! msg_putchar('!');
+! --len;
+! }
+! if (a & REGSTR)
+! {
+! msg_putchar('"');
+! --len;
+! }
+! if (gap != &ucmds)
+! {
+! msg_putchar('b');
+! --len;
+! }
+! if (a & TRLBAR)
+! {
+! msg_putchar('|');
+! --len;
+! }
+! while (len-- > 0)
+! msg_putchar(' ');
+
+ msg_outtrans_attr(cmd->uc_name, HL_ATTR(HLF_D));
+ len = (int)STRLEN(cmd->uc_name) + 4;
+***************
+*** 6037,6066 ****
+ do {
+ msg_putchar(' ');
+ ++len;
+! } while (len < 16);
+
+ len = 0;
+
+! /* Arguments */
+ switch ((int)(a & (EXTRA|NOSPC|NEEDARG)))
+ {
+! case 0: IObuff[len++] = '0'; break;
+! case (EXTRA): IObuff[len++] = '*'; break;
+! case (EXTRA|NOSPC): IObuff[len++] = '?'; break;
+! case (EXTRA|NEEDARG): IObuff[len++] = '+'; break;
+! case (EXTRA|NOSPC|NEEDARG): IObuff[len++] = '1'; break;
+ }
+
+ do {
+ IObuff[len++] = ' ';
+! } while (len < 5);
+
+! /* Range */
+ if (a & (RANGE|COUNT))
+ {
+ if (a & COUNT)
+ {
+! /* -count=N */
+ sprintf((char *)IObuff + len, "%ldc", cmd->uc_def);
+ len += (int)STRLEN(IObuff + len);
+ }
+--- 6057,6089 ----
+ do {
+ msg_putchar(' ');
+ ++len;
+! } while (len < 22);
+
++ // "over" is how much longer the name is than the column width for
++ // the name, we'll try to align what comes after.
++ over = len - 22;
+ len = 0;
+
+! // Arguments
+ switch ((int)(a & (EXTRA|NOSPC|NEEDARG)))
+ {
+! case 0: IObuff[len++] = '0'; break;
+! case (EXTRA): IObuff[len++] = '*'; break;
+! case (EXTRA|NOSPC): IObuff[len++] = '?'; break;
+! case (EXTRA|NEEDARG): IObuff[len++] = '+'; break;
+! case (EXTRA|NOSPC|NEEDARG): IObuff[len++] = '1'; break;
+ }
+
+ do {
+ IObuff[len++] = ' ';
+! } while (len < 5 - over);
+
+! // Address / Range
+ if (a & (RANGE|COUNT))
+ {
+ if (a & COUNT)
+ {
+! // -count=N
+ sprintf((char *)IObuff + len, "%ldc", cmd->uc_def);
+ len += (int)STRLEN(IObuff + len);
+ }
+***************
+*** 6068,6074 ****
+ IObuff[len++] = '%';
+ else if (cmd->uc_def >= 0)
+ {
+! /* -range=N */
+ sprintf((char *)IObuff + len, "%ld", cmd->uc_def);
+ len += (int)STRLEN(IObuff + len);
+ }
+--- 6091,6097 ----
+ IObuff[len++] = '%';
+ else if (cmd->uc_def >= 0)
+ {
+! // -range=N
+ sprintf((char *)IObuff + len, "%ld", cmd->uc_def);
+ len += (int)STRLEN(IObuff + len);
+ }
+***************
+*** 6078,6086 ****
+
+ do {
+ IObuff[len++] = ' ';
+! } while (len < 11);
+
+! /* Address Type */
+ for (j = 0; addr_type_complete[j].expand != -1; ++j)
+ if (addr_type_complete[j].expand != ADDR_LINES
+ && addr_type_complete[j].expand == cmd->uc_addr_type)
+--- 6101,6109 ----
+
+ do {
+ IObuff[len++] = ' ';
+! } while (len < 9 - over);
+
+! // Address Type
+ for (j = 0; addr_type_complete[j].expand != -1; ++j)
+ if (addr_type_complete[j].expand != ADDR_LINES
+ && addr_type_complete[j].expand == cmd->uc_addr_type)
+***************
+*** 6092,6100 ****
+
+ do {
+ IObuff[len++] = ' ';
+! } while (len < 21);
+
+! /* Completion */
+ for (j = 0; command_complete[j].expand != 0; ++j)
+ if (command_complete[j].expand == cmd->uc_compl)
+ {
+--- 6115,6123 ----
+
+ do {
+ IObuff[len++] = ' ';
+! } while (len < 13 - over);
+
+! // Completion
+ for (j = 0; command_complete[j].expand != 0; ++j)
+ if (command_complete[j].expand == cmd->uc_compl)
+ {
+***************
+*** 6105,6116 ****
+
+ do {
+ IObuff[len++] = ' ';
+! } while (len < 35);
+
+ IObuff[len] = '\0';
+ msg_outtrans(IObuff);
+
+! msg_outtrans_special(cmd->uc_rep, FALSE);
+ #ifdef FEAT_EVAL
+ if (p_verbose > 0)
+ last_set_msg(cmd->uc_script_ctx);
+--- 6128,6140 ----
+
+ do {
+ IObuff[len++] = ' ';
+! } while (len < 24 - over);
+
+ IObuff[len] = '\0';
+ msg_outtrans(IObuff);
+
+! msg_outtrans_special(cmd->uc_rep, FALSE,
+! name_len == 0 ? Columns - 46 : 0);
+ #ifdef FEAT_EVAL
+ if (p_verbose > 0)
+ last_set_msg(cmd->uc_script_ctx);
+***************
+*** 6344,6352 ****
+ end = p;
+ name_len = (int)(end - name);
+
+! /* If there is nothing after the name, and no attributes were specified,
+! * we are listing commands
+! */
+ p = skipwhite(end);
+ if (!has_attr && ends_excmd(*p))
+ {
+--- 6368,6375 ----
+ end = p;
+ name_len = (int)(end - name);
+
+! // If there is nothing after the name, and no attributes were specified,
+! // we are listing commands
+ p = skipwhite(end);
+ if (!has_attr && ends_excmd(*p))
+ {
+*** ../vim-8.1.1200/src/message.c 2019-03-21 21:45:30.887282025 +0100
+--- src/message.c 2019-04-24 22:49:10.627784026 +0200
+***************
+*** 1594,1600 ****
+ int
+ msg_outtrans_special(
+ char_u *strstart,
+! int from) /* TRUE for lhs of a mapping */
+ {
+ char_u *str = strstart;
+ int retval = 0;
+--- 1594,1601 ----
+ int
+ msg_outtrans_special(
+ char_u *strstart,
+! int from, // TRUE for lhs of a mapping
+! int maxlen) // screen columns, 0 for unlimeted
+ {
+ char_u *str = strstart;
+ int retval = 0;
+***************
+*** 1614,1619 ****
+--- 1615,1622 ----
+ else
+ text = (char *)str2special(&str, from);
+ len = vim_strsize((char_u *)text);
++ if (maxlen > 0 && retval + len >= maxlen)
++ break;
+ /* Highlight special keys */
+ msg_puts_attr(text, len > 1
+ && (*mb_ptr2len)((char_u *)text) <= 1 ? attr : 0);
+*** ../vim-8.1.1200/src/proto/message.pro 2019-02-19 21:34:01.987747438 +0100
+--- src/proto/message.pro 2019-04-24 22:49:22.943722491 +0200
+***************
+*** 35,41 ****
+ char_u *msg_outtrans_one(char_u *p, int attr);
+ int msg_outtrans_len_attr(char_u *msgstr, int len, int attr);
+ void msg_make(char_u *arg);
+! int msg_outtrans_special(char_u *strstart, int from);
+ char_u *str2special_save(char_u *str, int is_lhs);
+ char_u *str2special(char_u **sp, int from);
+ void str2specialbuf(char_u *sp, char_u *buf, int len);
+--- 35,41 ----
+ char_u *msg_outtrans_one(char_u *p, int attr);
+ int msg_outtrans_len_attr(char_u *msgstr, int len, int attr);
+ void msg_make(char_u *arg);
+! int msg_outtrans_special(char_u *strstart, int from, int maxlen);
+ char_u *str2special_save(char_u *str, int is_lhs);
+ char_u *str2special(char_u **sp, int from);
+ void str2specialbuf(char_u *sp, char_u *buf, int len);
+*** ../vim-8.1.1200/src/getchar.c 2019-04-18 21:08:46.841176544 +0200
+--- src/getchar.c 2019-04-24 22:49:47.187601412 +0200
+***************
+*** 4022,4028 ****
+ msg_putchar(' ');
+
+ /* Display the LHS. Get length of what we write. */
+! len = msg_outtrans_special(mp->m_keys, TRUE);
+ do
+ {
+ msg_putchar(' '); /* padd with blanks */
+--- 4022,4028 ----
+ msg_putchar(' ');
+
+ /* Display the LHS. Get length of what we write. */
+! len = msg_outtrans_special(mp->m_keys, TRUE, 0);
+ do
+ {
+ msg_putchar(' '); /* padd with blanks */
+***************
+*** 4053,4059 ****
+ if (s != NULL)
+ {
+ vim_unescape_csi(s);
+! msg_outtrans_special(s, FALSE);
+ vim_free(s);
+ }
+ }
+--- 4053,4059 ----
+ if (s != NULL)
+ {
+ vim_unescape_csi(s);
+! msg_outtrans_special(s, FALSE, 0);
+ vim_free(s);
+ }
+ }
+*** ../vim-8.1.1200/src/menu.c 2019-03-30 18:46:57.356077354 +0100
+--- src/menu.c 2019-04-24 22:49:52.107576845 +0200
+***************
+*** 1214,1220 ****
+ if (*menu->strings[bit] == NUL)
+ msg_puts_attr("<Nop>", HL_ATTR(HLF_8));
+ else
+! msg_outtrans_special(menu->strings[bit], FALSE);
+ }
+ }
+ else
+--- 1214,1220 ----
+ if (*menu->strings[bit] == NUL)
+ msg_puts_attr("<Nop>", HL_ATTR(HLF_8));
+ else
+! msg_outtrans_special(menu->strings[bit], FALSE, 0);
+ }
+ }
+ else
+*** ../vim-8.1.1200/src/version.c 2019-04-23 18:39:43.694863660 +0200
+--- src/version.c 2019-04-24 23:07:47.734239943 +0200
+***************
+*** 773,774 ****
+--- 773,776 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1201,
+ /**/
+
+--
+ ** Hello and Welcome to the Psychiatric Hotline **
+If you are obsessive-compulsive, please press 1 repeatedly.
+If you are co-dependent, please ask someone to press 2.
+If you have multiple personalities, please press 3, 4, 5 and 6.
+If you are paranoid-delusional, we know who you are and what you want
+ - just stay on the line so we can trace the call.
+If you are schizophrenic, listen carefully and a little voice will
+ tell you which number to press next.
+If you are manic-depressive, it doesn't matter which number you press
+ - no one will answer.
+If you suffer from panic attacks, push every button you can find.
+If you are sane, please hold on - we have the rest of humanity on the
+ other line and they desparately want to ask you a few questions.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///