comparison src/userfunc.c @ 23547:7f09cfa9ac4a v8.2.2316

patch 8.2.2316: Vim9: cannot list a lambda function Commit: https://github.com/vim/vim/commit/b657198cb30765468451d7f68fce49b5b4000c5d Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jan 8 22:24:19 2021 +0100 patch 8.2.2316: Vim9: cannot list a lambda function Problem: Vim9: cannot list a lambda function. Solution: Support the <lambda>9 notation, like :disassemble. (closes https://github.com/vim/vim/issues/7634)
author Bram Moolenaar <Bram@vim.org>
date Fri, 08 Jan 2021 22:30:06 +0100
parents 987fb6e8a376
children ca98d85e92da
comparison
equal deleted inserted replaced
23546:b3e66d8b2e93 23547:7f09cfa9ac4a
3092 paren = TRUE; 3092 paren = TRUE;
3093 CLEAR_FIELD(fudi); 3093 CLEAR_FIELD(fudi);
3094 } 3094 }
3095 else 3095 else
3096 { 3096 {
3097 name = trans_function_name(&p, &is_global, eap->skip, 3097 if (STRNCMP(p, "<lambda>", 8) == 0)
3098 {
3099 p += 8;
3100 (void)getdigits(&p);
3101 name = vim_strnsave(eap->arg, p - eap->arg);
3102 CLEAR_FIELD(fudi);
3103 }
3104 else
3105 name = trans_function_name(&p, &is_global, eap->skip,
3098 TFN_NO_AUTOLOAD, &fudi, NULL, NULL); 3106 TFN_NO_AUTOLOAD, &fudi, NULL, NULL);
3099 paren = (vim_strchr(p, '(') != NULL); 3107 paren = (vim_strchr(p, '(') != NULL);
3100 if (name == NULL && (fudi.fd_dict == NULL || !paren) && !eap->skip) 3108 if (name == NULL && (fudi.fd_dict == NULL || !paren) && !eap->skip)
3101 { 3109 {
3102 /* 3110 /*