nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit bf1a080923a69192ef7480b4a807f3d9b934c796
parent b7f8d4819b75bed0ae54608549384ee50d75ae9c
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri, 23 Mar 2018 10:53:06 +0100

build: exclude more things when configured with --disable-multibuffer

This will make the tiny version slightly smaller.

Diffstat:
Msrc/files.c | 5++++-
Msrc/global.c | 2++
Msrc/nano.c | 5++++-
Msrc/nano.h | 2++
Msrc/proto.h | 2++
Msrc/text.c | 6+++---
Msrc/winio.c | 4++++
7 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/files.c b/src/files.c @@ -66,16 +66,19 @@ void make_new_buffer(void) if (openfile == NULL) { /* Make the first open file the only element in the list. */ +#ifdef ENABLE_MULTIBUFFER newnode->prev = newnode; newnode->next = newnode; +#endif firstfile = newnode; } else { /* Add the new open file after the current one in the list. */ +#ifdef ENABLE_MULTIBUFFER newnode->prev = openfile; newnode->next = openfile->next; openfile->next->prev = newnode; openfile->next = newnode; - +#endif /* There is more than one file open: show "Close" in help lines. */ exitfunc->desc = close_tag; more_than_one = !inhelp || more_than_one; diff --git a/src/global.c b/src/global.c @@ -1779,12 +1779,14 @@ void thanks_for_all_the_fish(void) free(alt_speller); #endif free_filestruct(cutbuffer); +#ifdef ENABLE_MULTIBUFFER /* Free the memory associated with each open file buffer. */ while (openfile != openfile->next) { openfile = openfile->next; delete_opennode(openfile->prev); } delete_opennode(openfile); +#endif #ifdef ENABLE_COLOR free(syntaxstr); while (syntaxes != NULL) { diff --git a/src/nano.c b/src/nano.c @@ -512,17 +512,19 @@ openfilestruct *make_new_opennode(void) return (openfilestruct *)nmalloc(sizeof(openfilestruct)); } +#ifdef ENABLE_MULTIBUFFER /* Unlink a node from the rest of the circular list, and delete it. */ void unlink_opennode(openfilestruct *fileptr) { assert(fileptr != fileptr->prev && fileptr != fileptr->next); +#ifdef ENABLE_MULTIBUFFER if (fileptr == firstfile) firstfile = firstfile->next; fileptr->prev->next = fileptr->next; fileptr->next->prev = fileptr->prev; - +#endif delete_opennode(fileptr); } @@ -539,6 +541,7 @@ void delete_opennode(openfilestruct *fileptr) #endif free(fileptr); } +#endif /* Display a warning about a key disabled in view mode. */ void print_view_warning(void) diff --git a/src/nano.h b/src/nano.h @@ -408,10 +408,12 @@ typedef struct openfilestruct { colortype *colorstrings; /* The file's associated colors. */ #endif +#ifdef ENABLE_MULTIBUFFER struct openfilestruct *next; /* The next open file, if any. */ struct openfilestruct *prev; /* The preceding open file, if any. */ +#endif } openfilestruct; #ifdef ENABLE_NANORC diff --git a/src/proto.h b/src/proto.h @@ -410,8 +410,10 @@ void extract_buffer(filestruct **file_top, filestruct **file_bot, void ingraft_buffer(filestruct *somebuffer); void copy_from_buffer(filestruct *somebuffer); openfilestruct *make_new_opennode(void); +#ifdef ENABLE_MULTIBUFFER void unlink_opennode(openfilestruct *fileptr); void delete_opennode(openfilestruct *fileptr); +#endif void print_view_warning(void); void show_restricted_warning(void); #ifndef ENABLE_HELP diff --git a/src/text.c b/src/text.c @@ -3200,7 +3200,7 @@ void do_linter(void) functionptrtype func; if (tmplint != curlint) { -#ifndef NANO_TINY +#ifdef ENABLE_MULTIBUFFER struct stat lintfileinfo; new_lint_loop: @@ -3265,7 +3265,7 @@ void do_linter(void) openfile = tmpof; } } -#endif /* !NANO_TINY */ +#endif /* ENABLE_MULTIBUFFER */ goto_line_posx(curlint->lineno, curlint->colno - 1); titlebar(NULL); adjust_viewport(CENTERING); @@ -3307,7 +3307,7 @@ void do_linter(void) wipe_statusbar(); -#ifndef NANO_TINY +#ifdef ENABLE_MULTIBUFFER free_lints_and_return: #endif for (curlint = lints; curlint != NULL;) { diff --git a/src/winio.c b/src/winio.c @@ -1973,6 +1973,7 @@ char *display_string(const char *buf, size_t column, size_t span, bool isdata) return converted; } +#ifdef ENABLE_MULTIBUFFER /* Determine the sequence number of the given buffer in the circular list. */ int buffer_number(openfilestruct *buffer) { @@ -1985,6 +1986,7 @@ int buffer_number(openfilestruct *buffer) return count; } +#endif /* If path is NULL, we're in normal editing mode, so display the current * version of nano, the current filename, and whether the current file @@ -2030,6 +2032,7 @@ void titlebar(const char *path) else #endif if (!inhelp) { +#ifdef ENABLE_MULTIBUFFER /* If there are/were multiple buffers, show which out of how many. */ if (more_than_one) { indicator = charalloc(24); @@ -2037,6 +2040,7 @@ void titlebar(const char *path) buffer_number(firstfile->prev)); upperleft = indicator; } else +#endif upperleft = BRANDING; if (openfile->filename[0] == '\0')