Get rid of explicit argument-count markings in tab-complete.c.
Tom Lane <tgl@sss.pgh.pa.us>
Get rid of explicit argument-count markings in tab-complete.c. This replaces the "TailMatchesN" macros with just "TailMatches", and likewise "HeadMatchesN" becomes "HeadMatches" and "MatchesN" becomes "Matches". The various COMPLETE_WITH_LISTn macros are reduced to COMPLETE_WITH, and the single-item COMPLETE_WITH_CONST also gets folded into that. This eliminates a lot of minor annoyance in writing tab-completion rules. Usefully, the compiled code also gets a bit smaller (10% or so, on my machine). The implementation depends on variadic macros, so we couldn't have done this before we required C99. Andres Freund and Thomas Munro; some cosmetic cleanup by me. Discussion: https://postgr.es/m/d8jo9djvm7h.fsf@dalvik.ping.uio.no
Files
| Path | Change | +/− |
|---|---|---|
| src/bin/psql/tab-complete.c | modified | +1189 −1362 |
| src/include/c.h | modified | +33 −0 |
Discussion
- [PATCH] Tab completion for ALTER DATABASE … SET TABLESPACE 22 messages · 2018-08-30 → 2018-09-22