* bug#60296: The imenu is not created properly in c-ts-mode @ 2022-12-24 9:31 e190 2022-12-25 3:00 ` Yuan Fu 0 siblings, 1 reply; 7+ messages in thread From: e190 @ 2022-12-24 9:31 UTC (permalink / raw) To: 60296; +Cc: Fu [-- Attachment #1: Type: text/plain, Size: 3634 bytes --] From: sniper <e190@163.com> To: bug-gnu-emacs@gnu.org Subject: 29.0.60; The imenu is not created properly in c-ts-mode. ``` c char *test(int size){ return NULL; } ``` If c-ts-mode is enabled in a c file, the imenu created will be [` test(int size)`] if the return type of the function is a pointer. The expected display should just be the function name [` test `], with no subsequent arguments In GNU Emacs 29.0.60 (build 1, x86_64-pc-linux-gnu, GTK+ Version 2.24.30, cairo version 1.14.6) of 2022-12-24 built on sniper-VirtualBox Repository revision: a42b20dd95e4ca522c090f9edf110dcd132b616f Repository branch: emacs-29 Windowing system distributor 'The X.Org Foundation', version 11.0.11906000 System Description: Ubuntu 16.04.7 LTS Configured using: 'configure --with-tree-sitter' Configured features: ACL CAIRO FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM GTK2 ZLIB Important settings: value of $LANG: zh_CN.UTF-8 value of $XMODIFIERS: @im=fcitx locale-coding-system: utf-8-unix Major mode: C Minor modes in effect: tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils thingatpt imenu c-ts-mode treesit cl-seq vc-git diff-mode easy-mmode vc-dispatcher cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs cl-loaddefs cl-lib china-util rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads inotify dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 66520 5953) (symbols 48 7704 0) (strings 32 22372 1529) (string-bytes 1 799153) (vectors 16 14434) (vector-slots 8 248111 11836) (floats 8 29 47) (intervals 56 511 0) (buffers 984 13) (heap 1024 13768 1149)) e190@163.com [-- Attachment #2: Type: text/html, Size: 5628 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#60296: The imenu is not created properly in c-ts-mode 2022-12-24 9:31 bug#60296: The imenu is not created properly in c-ts-mode e190 @ 2022-12-25 3:00 ` Yuan Fu 2022-12-25 6:53 ` Eli Zaretskii 0 siblings, 1 reply; 7+ messages in thread From: Yuan Fu @ 2022-12-25 3:00 UTC (permalink / raw) To: e190; +Cc: 60296-done "e190@163.com" <e190@163.com> writes: > From: sniper <e190@163.com> > To: bug-gnu-emacs@gnu.org > Subject: 29.0.60; The imenu is not created properly in c-ts-mode. > > ``` c > char *test(int size){ > return NULL; > } > ``` > If c-ts-mode is enabled in a c file, the imenu created will be [` test(int size)`] if the return type of the function is a > pointer. > The expected display should just be the function name [` test `], with no subsequent arguments Thanks, this should be fixed now. Yuan ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#60296: The imenu is not created properly in c-ts-mode 2022-12-25 3:00 ` Yuan Fu @ 2022-12-25 6:53 ` Eli Zaretskii 2022-12-25 8:31 ` Yuan Fu 0 siblings, 1 reply; 7+ messages in thread From: Eli Zaretskii @ 2022-12-25 6:53 UTC (permalink / raw) To: Yuan Fu; +Cc: e190, 60296 > Cc: 60296-done@debbugs.gnu.org > From: Yuan Fu <casouri@gmail.com> > Date: Sat, 24 Dec 2022 19:00:21 -0800 > > > From: sniper <e190@163.com> > > To: bug-gnu-emacs@gnu.org > > Subject: 29.0.60; The imenu is not created properly in c-ts-mode. > > > > ``` c > > char *test(int size){ > > return NULL; > > } > > ``` > > If c-ts-mode is enabled in a c file, the imenu created will be [` test(int size)`] if the return type of the function is a > > pointer. > > The expected display should just be the function name [` test `], with no subsequent arguments > > Thanks, this should be fixed now. This change leads to In c-ts-mode--fontify-declarator: progmodes/c-ts-mode.el:405:69: Warning: Unused lexical argument `args' And "&rest args" is indeed unused there, AFAICT. ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#60296: The imenu is not created properly in c-ts-mode 2022-12-25 6:53 ` Eli Zaretskii @ 2022-12-25 8:31 ` Yuan Fu 2022-12-26 7:58 ` bug#60296: " e190 0 siblings, 1 reply; 7+ messages in thread From: Yuan Fu @ 2022-12-25 8:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: e190, 60296 > On Dec 24, 2022, at 10:53 PM, Eli Zaretskii <eliz@gnu.org> wrote: > >> Cc: 60296-done@debbugs.gnu.org >> From: Yuan Fu <casouri@gmail.com> >> Date: Sat, 24 Dec 2022 19:00:21 -0800 >> >>> From: sniper <e190@163.com> >>> To: bug-gnu-emacs@gnu.org >>> Subject: 29.0.60; The imenu is not created properly in c-ts-mode. >>> >>> ``` c >>> char *test(int size){ >>> return NULL; >>> } >>> ``` >>> If c-ts-mode is enabled in a c file, the imenu created will be [` test(int size)`] if the return type of the function is a >>> pointer. >>> The expected display should just be the function name [` test `], with no subsequent arguments >> >> Thanks, this should be fixed now. > > This change leads to > > In c-ts-mode--fontify-declarator: > progmodes/c-ts-mode.el:405:69: Warning: Unused lexical argument `args' > > And "&rest args" is indeed unused there, AFAICT. My bad. I’ve fixed that by changing args to _. Yuan ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#60296: Re: bug#60296: The imenu is not created properly in c-ts-mode 2022-12-25 8:31 ` Yuan Fu @ 2022-12-26 7:58 ` e190 2022-12-26 9:47 ` Yuan Fu 0 siblings, 1 reply; 7+ messages in thread From: e190 @ 2022-12-26 7:58 UTC (permalink / raw) To: casouri, Eli Zaretskii; +Cc: 60296 [-- Attachment #1: Type: text/plain, Size: 2642 bytes --] >> On Dec 24, 2022, at 10:53 PM, Eli Zaretskii <eliz@gnu.org> wrote: >> >>> Cc: 60296-done@debbugs.gnu.org >>> From: Yuan Fu <casouri@gmail.com> >>> Date: Sat, 24 Dec 2022 19:00:21 -0800 >>> >>>> From: sniper <e190@163.com> >>>> To: bug-gnu-emacs@gnu.org >>>> Subject: 29.0.60; The imenu is not created properly in c-ts-mode. >>>> >>>> ``` c >>>> char *test(int size){ >>>> return NULL; >>>> } >>>> ``` >>>> If c-ts-mode is enabled in a c file, the imenu created will be [` test(int size)`] if the return type of the function is a >>>> pointer. >>>> The expected display should just be the function name [` test `], with no subsequent arguments >>> >>> Thanks, this should be fixed now. >> >> This change leads to >> >> In c-ts-mode--fontify-declarator: >> progmodes/c-ts-mode.el:405:69: Warning: Unused lexical argument `args' >> >> And "&rest args" is indeed unused there, AFAICT. >My bad. I’ve fixed that by changing args to _. Hi, Yuan: I tested it in the latest version and found several more issues. ``` c int main(int argc, char *argv[]) { ..... struct name_t name = (struct name_t)name; name.a = sizeof(struct name_t); ..... } ``` If Forced conversion or ` sizeof(struct name_t) ` occurs in a function, it will occur in the Struct entry of imenu. ``` c int func_1(int v); // <-- function declaration int main(int argc, char *argv[]) { } ``` If there is a function declaration in the c file, it will also appear in imenu's Variable entry. e190@163.com From: Yuan Fu Date: 2022-12-25 16:31 To: Eli Zaretskii CC: 60296; e190 Subject: Re: bug#60296: The imenu is not created properly in c-ts-mode > On Dec 24, 2022, at 10:53 PM, Eli Zaretskii <eliz@gnu.org> wrote: > >> Cc: 60296-done@debbugs.gnu.org >> From: Yuan Fu <casouri@gmail.com> >> Date: Sat, 24 Dec 2022 19:00:21 -0800 >> >>> From: sniper <e190@163.com> >>> To: bug-gnu-emacs@gnu.org >>> Subject: 29.0.60; The imenu is not created properly in c-ts-mode. >>> >>> ``` c >>> char *test(int size){ >>> return NULL; >>> } >>> ``` >>> If c-ts-mode is enabled in a c file, the imenu created will be [` test(int size)`] if the return type of the function is a >>> pointer. >>> The expected display should just be the function name [` test `], with no subsequent arguments >> >> Thanks, this should be fixed now. > > This change leads to > > In c-ts-mode--fontify-declarator: > progmodes/c-ts-mode.el:405:69: Warning: Unused lexical argument `args' > > And "&rest args" is indeed unused there, AFAICT. My bad. I’ve fixed that by changing args to _. Yuan [-- Attachment #2: Type: text/html, Size: 8055 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#60296: The imenu is not created properly in c-ts-mode 2022-12-26 7:58 ` bug#60296: " e190 @ 2022-12-26 9:47 ` Yuan Fu 2022-12-27 10:03 ` bug#60296: " e190 0 siblings, 1 reply; 7+ messages in thread From: Yuan Fu @ 2022-12-26 9:47 UTC (permalink / raw) To: e190; +Cc: Eli Zaretskii, 60296 > On Dec 25, 2022, at 11:58 PM, e190@163.com wrote: > > >> On Dec 24, 2022, at 10:53 PM, Eli Zaretskii <eliz@gnu.org> wrote: > >> > >>> Cc: 60296-done@debbugs.gnu.org > >>> From: Yuan Fu <casouri@gmail.com> > >>> Date: Sat, 24 Dec 2022 19:00:21 -0800 > >>> > >>>> From: sniper <e190@163.com> > >>>> To: bug-gnu-emacs@gnu.org > >>>> Subject: 29.0.60; The imenu is not created properly in c-ts-mode. > >>>> > >>>> ``` c > >>>> char *test(int size){ > >>>> return NULL; > >>>> } > >>>> ``` > >>>> If c-ts-mode is enabled in a c file, the imenu created will be [` test(int size)`] if the return type of the function is a > >>>> pointer. > >>>> The expected display should just be the function name [` test `], with no subsequent arguments > >>> > >>> Thanks, this should be fixed now. > >> > >> This change leads to > >> > >> In c-ts-mode--fontify-declarator: > >> progmodes/c-ts-mode.el:405:69: Warning: Unused lexical argument `args' > >> > >> And "&rest args" is indeed unused there, AFAICT. > > >My bad. I’ve fixed that by changing args to _. > Hi, Yuan: > > I tested it in the latest version and found several more issues. > ``` c > int main(int argc, char *argv[]) > { > ..... > struct name_t name = (struct name_t)name; > name.a = sizeof(struct name_t); > ..... > } > ``` > If Forced conversion or ` sizeof(struct name_t) ` occurs in a function, it will occur in the Struct entry of imenu. > > > ``` c > int func_1(int v); // <-- function declaration > int main(int argc, char *argv[]) > { > } > ``` > If there is a function declaration in the c file, it will also appear in imenu's Variable entry. Thanks, I fixed those. Further more, I improved the whole imenu thing in c-ts-mode and it should be robust now. Yuan ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#60296: Re: bug#60296: The imenu is not created properly in c-ts-mode 2022-12-26 9:47 ` Yuan Fu @ 2022-12-27 10:03 ` e190 0 siblings, 0 replies; 7+ messages in thread From: e190 @ 2022-12-27 10:03 UTC (permalink / raw) To: casouri; +Cc: Eli Zaretskii, 60296 [-- Attachment #1: Type: text/plain, Size: 4119 bytes --] >> On Dec 25, 2022, at 11:58 PM, e190@163.com wrote: >> >> >> On Dec 24, 2022, at 10:53 PM, Eli Zaretskii <eliz@gnu.org> wrote: >> >> >> >>> Cc: 60296-done@debbugs.gnu.org >> >>> From: Yuan Fu <casouri@gmail.com> >> >>> Date: Sat, 24 Dec 2022 19:00:21 -0800 >> >>> >> >>>> From: sniper <e190@163.com> >> >>>> To: bug-gnu-emacs@gnu.org >> >>>> Subject: 29.0.60; The imenu is not created properly in c-ts-mode. >> >>>> >> >>>> ``` c >> >>>> char *test(int size){ >> >>>> return NULL; >> >>>> } >> >>>> ``` >> >>>> If c-ts-mode is enabled in a c file, the imenu created will be [` test(int size)`] if the return type of the function is a >> >>>> pointer. >> >>>> The expected display should just be the function name [` test `], with no subsequent arguments >> >>> >> >>> Thanks, this should be fixed now. >> >> >> >> This change leads to >> >> >> >> In c-ts-mode--fontify-declarator: >> >> progmodes/c-ts-mode.el:405:69: Warning: Unused lexical argument `args' >> >> >> >> And "&rest args" is indeed unused there, AFAICT. >> >> >My bad. I’ve fixed that by changing args to _. >> Hi, Yuan: >> >> I tested it in the latest version and found several more issues. >> ``` c >> int main(int argc, char *argv[]) >> { >> ..... >> struct name_t name = (struct name_t)name; >> name.a = sizeof(struct name_t); >> ..... >> } >> ``` >> If Forced conversion or ` sizeof(struct name_t) ` occurs in a function, it will occur in the Struct entry of imenu. >> >> >> ``` c >> int func_1(int v); // <-- function declaration >> int main(int argc, char *argv[]) >> { >> } >> ``` >> If there is a function declaration in the c file, it will also appear in imenu's Variable entry. > >Thanks, I fixed those. Further more, I improved the whole imenu thing in c-ts-mode and it should be robust now. Hi, Yuan: I found another problem, this problem can not be easy to solve. ``` int func_1(int v) { if(v == 0){ } #ifdef MMM else if(v == 1){ } #endif return v; } ``` A function like this has macros in it. The imenu created looks like this ``` + Function main + func_1 func_1 if ``` Thanks. e190@163.com From: Yuan Fu Date: 2022-12-26 17:47 To: e190 CC: Eli Zaretskii; 60296 Subject: Re: bug#60296: The imenu is not created properly in c-ts-mode > On Dec 25, 2022, at 11:58 PM, e190@163.com wrote: > > >> On Dec 24, 2022, at 10:53 PM, Eli Zaretskii <eliz@gnu.org> wrote: > >> > >>> Cc: 60296-done@debbugs.gnu.org > >>> From: Yuan Fu <casouri@gmail.com> > >>> Date: Sat, 24 Dec 2022 19:00:21 -0800 > >>> > >>>> From: sniper <e190@163.com> > >>>> To: bug-gnu-emacs@gnu.org > >>>> Subject: 29.0.60; The imenu is not created properly in c-ts-mode. > >>>> > >>>> ``` c > >>>> char *test(int size){ > >>>> return NULL; > >>>> } > >>>> ``` > >>>> If c-ts-mode is enabled in a c file, the imenu created will be [` test(int size)`] if the return type of the function is a > >>>> pointer. > >>>> The expected display should just be the function name [` test `], with no subsequent arguments > >>> > >>> Thanks, this should be fixed now. > >> > >> This change leads to > >> > >> In c-ts-mode--fontify-declarator: > >> progmodes/c-ts-mode.el:405:69: Warning: Unused lexical argument `args' > >> > >> And "&rest args" is indeed unused there, AFAICT. > > >My bad. I’ve fixed that by changing args to _. > Hi, Yuan: > > I tested it in the latest version and found several more issues. > ``` c > int main(int argc, char *argv[]) > { > ..... > struct name_t name = (struct name_t)name; > name.a = sizeof(struct name_t); > ..... > } > ``` > If Forced conversion or ` sizeof(struct name_t) ` occurs in a function, it will occur in the Struct entry of imenu. > > > ``` c > int func_1(int v); // <-- function declaration > int main(int argc, char *argv[]) > { > } > ``` > If there is a function declaration in the c file, it will also appear in imenu's Variable entry. Thanks, I fixed those. Further more, I improved the whole imenu thing in c-ts-mode and it should be robust now. Yuan [-- Attachment #2: Type: text/html, Size: 9470 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-12-27 10:03 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-12-24 9:31 bug#60296: The imenu is not created properly in c-ts-mode e190 2022-12-25 3:00 ` Yuan Fu 2022-12-25 6:53 ` Eli Zaretskii 2022-12-25 8:31 ` Yuan Fu 2022-12-26 7:58 ` bug#60296: " e190 2022-12-26 9:47 ` Yuan Fu 2022-12-27 10:03 ` bug#60296: " e190
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.