diff --git a/CMakeLists.txt b/CMakeLists.txt index 43d7a47..ea5657e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.15) project(ke C) # Specify C language explicitly set(CMAKE_C_STANDARD 99) -set(KE_VERSION "1.5.6") +set(KE_VERSION "2.0.0") set(CMAKE_C_FLAGS "-Wall -Wextra -pedantic -Wshadow -Werror -std=c99 -g") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_DEFAULT_SOURCE -D_XOPEN_SOURCE") diff --git a/buffer.c b/buffer.c index ae39e3c..cb1070f 100644 --- a/buffer.c +++ b/buffer.c @@ -418,6 +418,7 @@ buffer_close_current(void) int target = 0; int nb = 0; + /* sanity check */ if (editor.curbuf < 0 || editor.curbuf >= editor.bufcount) { editor_set_status("No buffer to close."); return; diff --git a/buffer.h b/buffer.h index e760f6d..970392b 100644 --- a/buffer.h +++ b/buffer.h @@ -43,7 +43,6 @@ void buffer_prev(void); void buffer_switch_by_name(void); void buffer_close_current(void); const char *buffer_name(buffer *b); -/* Helpers */ int buffer_is_unnamed_and_empty(const buffer *b); diff --git a/ke.1 b/ke.1 index 0e2267f..38774ac 100644 --- a/ke.1 +++ b/ke.1 @@ -32,8 +32,11 @@ Toggle the mark. If the mark is set, unindent the region. .It C-k = If the mark is set, indent the region. +.It C-k b +Switch to a buffer. .It C-k c -Clear (flush) the kill ring. +Close the current buffer. If no other buffers are open, an empty +buffer will be opened. To exit, use C-k q. .It C-k d Delete from the cursor to the end of the line. .It C-k C-d @@ -41,7 +44,7 @@ Delete the entire line. .It C-k e Edit a new file. Also C-k C-e. .It C-k f -Incremental find. +Flush the kill ring. .It C-k g Go to a specific line. .It C-k j @@ -50,6 +53,8 @@ Jump to the mark. List the number of lines of code in a saved file. .It C-k m Run make(1). +.It C-k p +Switch to the next buffer. .It C-k q Exit the editor. If the file has unsaved changes, a warning will be printed; a second C-k q will exit. @@ -60,9 +65,9 @@ Reload the current buffer from disk. .It C-k s Save the file, prompting for a filename if needed. Also C-k C-s. .It C-k u -Undo changes. +Undo changes (not implemented; marking this k-command as taken). .It C-k U -Redo changes. +Redo changes (not implemented; marking this k-command as taken). .It C-k x save the file and exit. Also C-k C-x. .It C-k y