Mercurial > vim
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 /* |