blob: dd3e089257a90be5347ace5497194d21326108fb [file] [log] [blame]
Benno Schulenberg926fe5f2017-02-23 11:20:27 +01001Changes between v2.7.4 and v2.7.5:
2----------------------------------
3
4Benno Schulenberg (65):
5 bump version numbers and add a news item for the 2.7.5 release
6 files: leave out the confusing "[from ./]" when prompting for a command
7 general: stop the spell checker from crashing after the changes in search
8 justify: reduce the character count when trimming trailing spaces
9 painting: account for index maybe being zero after the preceding change
10 painting: advance only when both start /and/ end match are zero-length
11 painting: do not bluntly ignore zero-length start matches -- handle them
12 painting: do not let a match for 'end' overlap a match for 'start'
13 painting: don't look at the current multidata when coloring a line
14 painting: make use of the multidata of the preceding line
15 painting: mark an unpaired start match as CWOULDBE
16 painting: properly detect a change in start/end matches
17 painting: properly look for a new start match only after the end match
18 painting: stay within the line when skipping zero-length matches
19 painting: when skipping a zero-length match, skip a character, not a byte
20 rcfile: don't accept empty regexes for syntax coloring
21 replacing: compensate cursor position only for replacements /before/ it
22 replacing: detect when the whole region has already been covered
23 replacing: don't go outside of the selected region
24 replacing: ignore the first match when the user said no
25 replacing: start at the region's edge instead of one step before it
26 replacing: stop searching in a region when edge of buffer is reached
27 screen: don't compare a character index with a column position
28 screen: ehm... no, that was wrong: page_start /is/ a column position
29 search: begin from where we are, to be able to find the first \B
30 search: make the \b and \B anchors work correctly in both directions
31 spelling: correctly adjust the length of a single-line region
32 spelling: don't unnecessarily fiddle with the viewport
33 startup: report an error when the given line or column number is invalid
34 statusbar: display at most three consecutive alert messages
35 tweaks: adjust some comments, reshuffle a line, and use a while loop
36 tweaks: adjust two comments, to be more accurate
37 tweaks: adjust whitespace after preceding changes
38 tweaks: and rename another variable, to keep in style
39 tweaks: chuck some obscuring debugging stuff
40 tweaks: condense a comment, rename a variable, and use a while loop
41 tweaks: differentiate single-regex matches from paired-regex matches
42 tweaks: discard the now unused multidata-resetting routine
43 tweaks: elide a variable plus its corresponding dark logic
44 tweaks: fiddle with some wordings in the texinfo document
45 tweaks: free an option string also when it was invalid
46 tweaks: move a comment and rewrap a line
47 tweaks: normalize some paragraph formatting in the FAQ
48 tweaks: rearrange some code to separate softwrap and normal mode more
49 tweaks: rename a function, and drop an unneeded parameter
50 tweaks: rename a function, to show it refers to screen rows
51 tweaks: rename another variable, to be shorter
52 tweaks: rename a variable and condense an if
53 tweaks: rename a variable -- lines refers to buffer, rows to screen
54 tweaks: rename a variable, to be more general
55 tweaks: rename a variable, to be more general and match one elsewhere
56 tweaks: rename some variables, to better distinguish rows from lines
57 tweaks: rename some variables, to show they refer to screen rows
58 tweaks: rename two variables, and always pass a valid result back
59 tweaks: rename two variables, to avoid double negatives
60 tweaks: reshuffle an assignment and trim some comments
61 tweaks: reshuffle a test to a better place
62 tweaks: reshuffle three variables
63 tweaks: scrap a bunch of debugging lines -- they obscure the logic
64 tweaks: scrap some debugging stuff
65 tweaks: slightly speed up the change detection for multiline matches
66 tweaks: swap two blocks of code to reduce the number of #ifdefs
67 tweaks: update some copyright years
68 tweaks: use a cheaper way to detect an end-of-line
69 tweaks: use a subtraction instead of a counter
70
71David Lawrence Ramsey (16):
72 docs: mention the ability to read from stdin
73 screen: don't hide two-column characters at left edge in softwrap mode
74 tweaks: adjust and correct some comments
75 tweaks: always directly do a refresh when the margin changes
76 tweaks: do a comparison a bit differently in do_output() and do_deletion()
77 tweaks: fix compilation when configured with --enable-tiny
78 tweaks: improve comments and formatting in update_line()
79 tweaks: let update_line() return the correct value on error
80 tweaks: reduce duplicate code in new_magicline() and move_to_filestruct()
81 tweaks: rename a variable and adjust some types in edit_scroll()
82 tweaks: rename a variable in edit_redraw(), to make sense
83 tweaks: rename a variable in edit_scroll(), to make sense
84 tweaks: rename mouse_x & mouse_y to mouse_col & mouse_row in do_mouse()
85 tweaks: rename the functions for moving to and copying from a buffer
86 tweaks: rewrap two lines and fix two typos
87 tweaks: split the grafting code off from copy_from_buffer()
88
89Mike Frysinger (3):
90 syntax: c++: add override keyword
91 syntax: gentoo: flag mixed whitespace
92 syntax: gentoo: match .eblit files too
93
94
Benno Schulenbergf119a902017-01-09 20:29:55 +010095Changes between v2.7.3 and v2.7.4:
96----------------------------------
97
98Benno Schulenberg (48):
99 build: check for GNU-style word-boundary support also in the tiny version
100 build: include the old Changelogs in the tarball
101 build: install the Info and Html manuals even when 'makeinfo' is missing
102 build: move all documentation into a single directory
103 build: move the syntax files out of the doc/ directory
104 build: rename the sample config file, so it will be colored like a nanorc
105 bump version numbers and add a news item for the 2.7.4 release
106 copy: properly set preferred x position when region was marked backwards
107 cut: indicate a buffer as modified only if actually something was deleted
108 docs: add a new Changelog -- a list of the short commit messages
109 docs: bring some air into the FAQ, so that <Ctrl+Up/Down> become useful
110 docs: fix some spellos and trim some trailing tabs in the old Changelog
111 docs: rename the Changelogs to indicate which periods they cover
112 docs: snip some obsolete items from the FAQ, and normalize its dates
113 docs: standardize the dates in the old Changelog
114 inserting: adjust the desired x position (don't restore the old one)
115 screen: examine the whole line when painting, to set the correct info
116 search: make a regex with a beginning-of-word anchor work correctly
117 softwrap: don't scroll half a page when just a few lines will do
118 softwrap: when pasting an overlong line, ensure it is fully visible
119 softwrap: when typing M-/, ensure the last line is fully visible
120 syntax: html: be more precise with tags, and paint attribute names
121 tweaks: adjust whitespace after the previous change
122 tweaks: chuck a couple of useless asserts
123 tweaks: condense two ifs to a single one
124 tweaks: discard some conditional compilation
125 tweaks: don't compare a character offset with a column position
126 tweaks: don't use a variable for two different purposes
127 tweaks: fix compilation when configured with --disable-wrapping
128 tweaks: frob some comments, and transform one variable
129 tweaks: frob some comments, elide a variable, and use 'while' loops
130 tweaks: if there is no end match, there is nothing to paint
131 tweaks: miscellaneous frobbings
132 tweaks: rearrange and reindent some lines in the painting routines
133 tweaks: remove the cluttering conditional compilation of a parameter
134 tweaks: rename another variable, to show it refers to columns not chars
135 tweaks: rename a variable, chuck an assert, and frob a comment
136 tweaks: rename three painting variables, to be more distinct
137 tweaks: rename two variables, for distinguishing characters from columns
138 tweaks: rename two variables to be just one as they play the same role
139 tweaks: rename two variables, to be more telling
140 tweaks: reshuffle a statement to a better place and condense some comments
141 tweaks: set the length of a search match in a clearer manner
142 tweaks: slightly condense a function and its comment
143 tweaks: terminate lots of sentences with a period in the old Changelog
144 tweaks: the starting point for painting /cannot/ be offscreen
145 tweaks: when allow_tabs is FALSE, allow_files is irrelevant
146 undo: properly create separate items for deletes at different positions
147
148David Lawrence Ramsey (7):
149 screen: properly place the cursor after inserting a file
150 softwrap: ensure the current line is fully visible after inserting a file
151 tweaks: avoid an unnecessary fiddling with current_y in do_mouse()
152 tweaks: line numbers are ssize_t, not int
153 tweaks: move a setting, fix a type, and rearrange a line in do_mouse()
154 weeding: remove another unnecessary setting of openfile->current_y
155 weeding: remove unnecessary settings of openfile->current_y
156
157Felix Janda (1):
158 speller: fix build when tiny build is enabled
159
160
Benno Schulenberg121c53f2017-01-04 16:19:39 +0100161Changes between v2.7.2 and v2.7.3:
162----------------------------------
163
164Arturo Borrero González (1):
165 syntax: nftables: add two new families, and add set references
166
167Benno Schulenberg (62):
168 binding: use plain codes instead of function calls for the jumping keys
169 binding: use the code for the Enter directly instead of a function call
170 bump version numbers and add a news item for the 2.7.3 release
171 chars: optimize for the most common case
172 chars: use memory on the stack instead of calling malloc() and free()
173 docs: clarify the difference between "Esc Esc ddd" and "M-V xxxxxx"
174 files: don't change embedded newlines into nulls in filenames
175 files: show newlines in filenames as ^J also in error messages
176 general: simplify the detection of a SIGWINCH
177 history: avoid crashing when the positionlog file is malformed
178 history: don't bother encoding search items -- they cannot contain newlines
179 history: encode newlines in filenames as nulls
180 history: search for the two position numbers from EOL instead of BOL
181 history: search items *can* contain newlines -- encoded NUL bytes
182 input: detect again when both Shift and Ctrl are being held on a VT
183 input: discard a verbatim 0x0A or 0x00 byte, depending on the mode
184 input: don't crash when receiving a KEY_CANCEL
185 locking: disable an annoying warning
186 memory: don't bother making a snug fit for things that will be freed soon
187 oops: forgot to add and amend this to the previous commit
188 po: update translations and regenerate POT file and PO files
189 prompt: do not treat a leading newline in a filename specially
190 prompt: represent newlines as ^J instead of breaking the bar
191 screen: display byte value 0x0A in the right places as ^@ or as ^J
192 screen: draw new content immediately, to prevent color flashes
193 screen: show an embedded newline in filenames as ^J instead of ^@
194 text: avoid a crash when a spell-checked line has gotten shorter
195 text: discard the undo stack after formatting and after spell checking
196 titlebar: always pass a pathname through display_string()
197 tweaks: adjust some comments and indentation and ordering
198 tweaks: chuck a special case, and reduce the scope of two variables
199 tweaks: condense the setting of three flags
200 tweaks: conditionalize a function that is not used in the tiny version
201 tweaks: delete a bunch of unneeded asserts
202 tweaks: don't bother making the next line of an end point NULL
203 tweaks: don't bother reallocating a string of which there is only one
204 tweaks: don't bother trimming the final newline from a position item
205 tweaks: drive closer to the edge
206 tweaks: elide a counter and a comparison
207 tweaks: elide a function that is called just once
208 tweaks: move a setting to a better place -- it needs setting just once
209 tweaks: put some prototypes in the proper order, and move a bit of code
210 tweaks: remove pointless or obscuring asserts
211 tweaks: rename a function to describe what it does
212 tweaks: rename a function to something less abbrevy
213 tweaks: rename a variable and rewrap two lines
214 tweaks: rename a variable to be shorter and clearer
215 tweaks: rename five variables, for uniformity with a few others
216 tweaks: rename four variables, for density and aptness
217 tweaks: rename three variables, for visibility
218 tweaks: rename three variables, to be more fitting
219 tweaks: rename two variables, for self-documentation
220 tweaks: retype, rename, and reshuffle a function
221 tweaks: start searching at a better place
222 tweaks: use a faster comparison
223 tweaks: use a slightly faster comparison
224 tweaks: use memory on the stack instead of calling malloc() and free()
225 tweaks: write two pieces of conditionalized code like all others
226 undo: there are just two forms of deletion: backspacing and deleting
227 utils: go on to parse the line number even if the column number is bad
228 utils: slightly speed up the calculation of the size of a buffer
229 version: properly mention --disable-wordcomp if it was used
230
231David Lawrence Ramsey (2):
232 tweaks: adjust the type of two arguments
233 tweaks: elide two unneeded variables from line numbering mode
234
235
236Changes between v2.7.1 and v2.7.2:
237----------------------------------
238
239Benno Schulenberg (53):
240 binding: allow to rebind the word-completion function, and document it
241 binding: always initialize some keycode variables to a standard value
242 build: add configure option --disable-wordcomp to disable word completion
243 build: clean out the revision.h file, to make 'make distcheck' pass
244 bump version numbers and add a news item for 2.7.2
245 docs: correct and improve the description of --disable-wrapping
246 docs: harmonize the indentation of the README, and tweak some wordings
247 docs: mention that a foreground color can be bright
248 docs: mention that libncursesw5-dev is needed for building from git
249 docs: note Sumedh as the author of the word-completion feature
250 docs: tweak some lines in the NEWS file
251 files: trying to open a non-existent file will never succeed
252 input: add the shifted PageUp and PageDown keycodes produced by VTE
253 input: distinguish <Alt+Left> from <Alt+Right> on an rxvt terminal
254 input: distinguish <Shift+Home> from <Home> on an rxvt terminal
255 mouse: use the correct screen width for calculating the cursor position
256 oops: the yesno prompt for replacing does not want a visible cursor
257 po: update translations and regenerate POT file and PO files
258 prompt: remove two fragments of dead code
259 rcfile: actually avoid opening directories and devices
260 rcfile: actually don't try to open things that cannot be syntax files
261 rcfile: check the vital shortcuts just once, not for every included file
262 rcfile: let a 'set fill' reenable hardwrapping
263 screen: do a refresh before changing the value of 'focusing'
264 screen: don't hide the cursor when --constantshow is used
265 screen: don't request an update of the edit window for every yesno prompt
266 screen: don't restore the previous menu after a yesno prompt
267 screen: remove an unneeded blanking of the statusbar
268 screen: switch the cursor back on only in the main loop
269 screen: use the correct width to determine whether a softwrap occurred
270 spelling: correctly restore the selected region
271 startup: activate restricted mode earlier, so --help will reflect it
272 syntax: don't leave the number after 'fill' and 'tabsize' in red
273 syntax: give the statistics part of a git patch a different color
274 tweaks: add a few translator hints
275 tweaks: correct the wording of a string
276 tweaks: delete some obscuring debugging stuff
277 tweaks: factor out a small function
278 tweaks: fix compilation when configured with --enable-tiny
279 tweaks: get rid of some spurious textual references to edit_refresh()
280 tweaks: miscellaneous frobbings and rewrappings
281 tweaks: move a cursor-on switch to a more logical place (again)
282 tweaks: move a switching on of the cursor to a more logical place
283 tweaks: remove a bit of obscuring conditional compilation
284 tweaks: remove an annoying conditional compilation of an argument
285 tweaks: remove a superfluous cleanup call
286 tweaks: remove some cluttering conditional compilation
287 tweaks: remove some more annoying conditional compilation
288 tweaks: rename two variables to make more sense
289 tweaks: replace some unneeded direct calls of edit_refresh()
290 tweaks: reshuffle some things in a more linear manner
291 tweaks: reshuffle three initializations and trim some comments
292 tweaks: use a while loop when the end point is not known in advance
293
294David Lawrence Ramsey (8):
295 docs: add info about Slang to README.GIT, and improve info about glib2
296 files: give feedback when restricted mode prevents overwriting a file
297 general: gettextize three overlooked statusbar messages
298 input: make Shift+Alt+Arrow work properly on rxvt and Eterm terminals
299 input: properly check the full escape sequences for all keys
300 moving: always account for the margin when in line numbering mode
301 tweaks: adjust the type of four lockfile variables
302 tweaks: conditionalize a bit of softwrap code
303
304Mike Frysinger (3):
305 configure: fix ncurses lib symbol checking
306 syntax: avoid using black colors
307 syntax: gentoo: various updates
308
309Sumedh Pendurkar (1):
310 new feature: complete a fragment to a longer word found in the buffer
311
312
313Changes between v2.7.0 and v2.7.1:
314----------------------------------
315
316Benno Schulenberg (71):
317 binding: fix some duplicated carets and too restrictive menus
318 binding: properly conditionalize the UTF-8 parts
319 binding: supply the keycode for most special keys directly
320 binding: use arrows instead of words to designate the cursor keys
321 browser: add the option showcursor, to place the cursor on the highlight
322 build: avoid an annoying warning at configure time
323 build: avoid updated PO files being remerged upon every make
324 bump version numbers and add a news item for 2.7.1
325 docs: add 'linenumbers' and 'numbercolor' to the sample nanorc
326 docs: add 'set linenumbers' and '--linenumbers' to the texinfo document
327 docs: brush up the TODO list
328 docs: mark some rebindable function names as deprecated
329 docs: mention the existence of the toggles in the man page
330 docs: refresh some info in the FAQ
331 docs: remove a reference that was only valid on Debian systems
332 files: alert about an unwritable file also in the tiny version
333 files: mark a new buffer as modified after inserting command output
334 general: add the option -g/--showcursor, to match Pico
335 general: include word-jumping and block-jumping into the tiny version
336 history: slate the search-history migration for removal
337 input: don't return zero when some function is completely unbound
338 input: handle the "resize key" in a better way
339 input: keep the Ctrl+Arrow keys working when their synonyms are unbound
340 moving: adjust the Y position to correspond with the changed X position
341 po: update translations and regenerate POT file and PO files
342 rcfile: add an option to customize the color of line numbers
343 screen: defeat a VTE bug by doing an extra cursor move and update
344 screen: keep the help items aligned in more configurations
345 screen: keep the help items nicely lined up also in the tiny version
346 screen: move the margin determination to the main loop
347 screen: refresh when a new magicline is added in line-numbering mode
348 screen: repaint the edit window in a single place -- the main loop
349 screen: suppress line numbers when the terminal is very narrow
350 scrolling: don't put the last line at the bottom when softwrap in on
351 scrolling: use a comparison that will work also in softwrap mode
352 softwrap: ensure the current line is fully visible when moving in it
353 softwrap: initialize 'editwincols' early, for computing the number of wraps
354 softwrap: scroll 'enough' whenever it surpasses 'amount'
355 softwrap: scroll the current line fully into view when jumping words
356 softwrap: scroll when searching lands on an overlong bottom line
357 startup: allow to rebind the RegExp toggle also in the tiny version
358 startup: always initialize 'margin' and 'editwincols'
359 syntax: make the contents of the X-Bugs field in a PO file stand out
360 syntax: show another deprecated keyword (replace2) in red
361 syntax: show deprecated keywords in red, and 'wordchars' in green
362 tweaks: adjust some comments and reduce the scope of some variables
363 tweaks: adjust some indentation
364 tweaks: adjust some whitespace and a comment
365 tweaks: compile two parameters unconditionally
366 tweaks: don't bother redrawing some lines when whole screen will be redrawn
367 tweaks: don't spread a statement over multiple lines unnecessarily
368 tweaks: elide an unneeded variable
369 tweaks: elide a parameter that is always FALSE
370 tweaks: fix compilation when configured with --enable-tiny
371 tweaks: frob a few comments
372 tweaks: make several small adjustments to the documentation
373 tweaks: make tiny nano a teeny bit smaller
374 tweaks: move a variable that doesn't need to be global
375 tweaks: preen some comments, and reshuffle a few ifdefs
376 tweaks: remove a band-aid condition that is no longer needed
377 tweaks: remove a bit of duplication
378 tweaks: remove a superfluous blanking of the statusbar
379 tweaks: remove a superfluous setting, and add a comment
380 tweaks: remove a useless cursor movement
381 tweaks: rename a function to better describe what it does
382 tweaks: rename a variable, for consistency
383 tweaks: reshuffle a couple of items
384 tweaks: reshuffle an if statement
385 tweaks: reshuffle some ifdefs, for less fragmentation
386 tweaks: stop compiling the whole_word_only parameter conditionally
387 tweaks: use hard-baked keycodes where possible
388
389Faissal Bensefia (1):
390 new feature: the ability to show line numbers before the text
391
392Rishabh Dave (2):
393 rcfile: reject key names that are wrong or too long
394 rcfile: reject rebindings that have no effect or have side effects
395
396
397Changes between v2.6.3 and v2.7.0:
398----------------------------------
399
400Benno Schulenberg (47):
401 AUTHORS: add Mahyar Abbaspour and Mike Scalora for their contributions
402 bottombar: only count help items that have a shortcut bound to them
403 bump version numbers and add a news item for 2.7.0
404 docs: explain how to contribute code
405 files: close a lockfile after reading it
406 input: ignore the resize "key", to prevent reporting an unbound key
407 input: look at the modifier keys only when compiled on Linux
408 input: unset a softmark whenever a character is typed
409 moving: make PgUp and PgDown functional also in very flat terminals
410 new feature: allow text selection by holding Shift with the cursor keys
411 po: update translations and regenerate POT file and PO files
412 prompt: don't crash when the terminal is less than four columns wide
413 prompt: leave always at least the last character of the answer visible
414 prompt: mouse clicks that moved the cursor need no further processing
415 prompt: recompose the statusbar text whenever the window size changes
416 prompt: set up the prepared answer before allowing to change it
417 prompt: show a trailing $ when the tail of the answer is offscreen
418 prompt: use angular brackets as continuation mark, as Pico does
419 prompt: work around a VTE bug by outdancing an ncurses optimization
420 restore the GNU marker in nano's name
421 screen: continue to function also in a terminal with very few lines
422 screen: don't die when the window is narrower than four columns
423 screen: retain the placewewant also when using an alternate speller
424 startup: don't crash when dying early
425 statusbar: leave out the brackets when the message is very long
426 tweaks: adjust indentation after previous change
427 tweaks: adjust indentation after previous change
428 tweaks: adjust some braces and indentations
429 tweaks: adjust some comments and remove needless asserts
430 tweaks: don't bother avoiding unneeded rewrites of the promptbar
431 tweaks: don't bother trimming the prompt again
432 tweaks: elide a variable and rename some others
433 tweaks: fix compilation when configured with --with-slang
434 tweaks: fix compilation with --disable-histories
435 tweaks: fix compilation with --enable-tiny again
436 tweaks: improve some indentation and reshuffle a few lines
437 tweaks: make a call in one place instead of in four different ones
438 tweaks: remove an unneeded check, reshuffle some things, add a comment
439 tweaks: rename a function and adjust indentation
440 tweaks: rename three variables
441 tweaks: rename two variables, to make some sense
442 tweaks: reshuffle some stuff in a more logical order
443 tweaks: reshuffle some things, and remove a misplaced comment
444 tweaks: simplify the determination of the number of shown help items
445 tweaks: use a separate function to ask ncurses for keycodes
446 update the copyright notices
447 update the license text to the preferred version
448
449
450Changes between v2.6.2 and v2.6.3:
451----------------------------------
452
453Benno Schulenberg (53):
454 bump version numbers and add a news item for 2.6.3
455 chars: don't persist when only one of the compared sequences is invalid
456 chars: make searching case-insensitively some ten percent faster
457 chars: properly compare strings of different lengths
458 chars: remove a special case that never occurs
459 chars: remove superfluous afterchecks
460 chars: straighten out the flow of a loop, so it is easier to follow
461 debug: add a timing instrument to the main search routine
462 docs: tweak some spacing and spelling
463 files: avoid a warning about not being able to write a lockfile
464 files: make allowances for 32-bit PIDs
465 input: after an Esc, don't discard starter byte of a multibyte sequence
466 input: be more strict in recognizing certain escape sequences
467 input: don't bother putting a keycode into byte range
468 input: don't use a function call when a literal value will do
469 input: fix a pasto from eight years ago, from commit e347efb
470 input: ingest as verbatim just one control code or one or two escapes
471 input: make the Ctrl+Arrow keys work on a Linux console
472 locking: remove any lock files when dying
473 po: update translations and regenerate POT file and PO files
474 screen: don't look at placewewant but at where we actually were and are
475 screen: remove redundant redrawings of the entire edit window
476 shortcuts: group the setting of key string and keycode into one function
477 shortcuts: remove any unnecessary classifying of keys
478 spelling: don't abort when a misspelled word isn't found, just note it
479 spelling: don't consider digits as word parts, because GNU spell doesn't
480 tweaks: add a variable, in preparation for making returning easier
481 tweaks: adjust indentation after previous changes
482 tweaks: adjust indentation after the previous changes
483 tweaks: check earlier on for sufficient length of the sequence
484 tweaks: compile a parameter unconditionally
485 tweaks: condense three asserts into a single one
486 tweaks: consistently use a parameter instead of a struct element
487 tweaks: correct one comment, and adjust another
488 tweaks: don't bother setting meta_key to false when a key is invalid
489 tweaks: don't optimize for a special case -- it is far too seldom
490 tweaks: don't use a function call when reference to the variable will do
491 tweaks: elide the global variable 'func_key'
492 tweaks: move some debugging stuff, and move modified editing keys too
493 tweaks: move the modified editing keys again
494 tweaks: normalize some indentation
495 tweaks: normalize some whitespace and adjust several comments
496 tweaks: reduce two comparisons to a single one
497 tweaks: remove some unnecessary keycodes from a switch statement
498 tweaks: rename a function, and adjust some comments
499 tweaks: rename a struct element, to be more fitting
500 tweaks: rename three constants, for clarity, and hardcode two others
501 tweaks: replace a three-case switch with an if and an else
502 tweaks: reshuffle two ifs for a little more speed
503 tweaks: restore earlier conditions to prevent superfluous redrawings
504 tweaks: return quicker from the key parsing routine
505 tweaks: unconditionally compile a couple of parameters
506 usage: show that the option --wordchars needs an argument
507
508Rishabh Dave (1):
509 shortcuts: zero the value of 'toggle' for keys that are not toggles
510
511
512Changes between v2.6.1 and v2.6.2:
513----------------------------------
514
515Benno Schulenberg (81):
516 browser: elide another call of opendir()
517 browser: trim all trailing slashes (just in case there are more)
518 build: refresh the git description whenever something is recompiled
519 build-sys: ignore the revision header file
520 bump version numbers and add a news item for 2.6.2
521 chars: delete a now-unused function
522 chars: don't try to see a character in an empty line
523 chars: invalid sequences are not blank, nor text, nor punctuation
524 chars: look at bytes in their context, so only valid sequences are accepted
525 chars: measure invalid sequences and unassigned codepoints more quickly
526 chars: plug a gushing memory leak
527 chars: represent the high-bit controls more intelligibly
528 chars: speed up the determination whether something is a control character
529 chars: speed up two reverse-searching routines a bit
530 chars: the representation of a control character is always two bytes
531 color: forget about aborting the precalculation for multiline regexes
532 color: integrate the hilite attribute into the pair number
533 color: push the resets further when start and end match are equal
534 color: refresh the screen whenever the active syntax changes
535 credits: don't bother blanking the second line nor the help lines
536 debug: remove duplicate information
537 files: beep whenever writing out a file fails
538 input: accept only the four iTerm sequences that actually get handled
539 input: add some missing keycodes to the parsing routine
540 input: consider only O, o and [ as starters of multi-character sequences
541 input: don't crash when the window is resized during verbatim input
542 input: don't drop a keystroke on the floor when the terminal resizes
543 input: don't drop the first byte when user starts typing during loading
544 input: elide an extra buffer for inserting stuff into the text
545 input: plug a memory leak
546 input: report keystroke M-[ as being unbindable instead of just unbound
547 input: treat Ctrl+Alt+key different from Esc followed by Ctrl+key
548 moving: don't do an automatic smart home with Ctrl+Up and Ctrl+Down
549 new feature: add the option --wordchars, to set extra word characters
550 new feature: functions to jump to previous or following block of text
551 po: update translations and regenerate POT file and PO files
552 screen: again, look at the bytes in their context
553 screen: avoid converting each character twice from multibyte to wide
554 screen: avoid looking up the width of whitespace and control codes
555 screen: don't check for every character whether there is still enough space
556 screen: don't simulate a sigwinch but directly reinitialize the screen
557 screen: elide another intermediate buffer for every visible character
558 screen: elide the intermediate buffer for every single character
559 screen: include a workaround only when compiling against older ncurses
560 search: match a beginning-of-line anchor just once per line
561 tweaks: adjust a comment for removed definitions
562 tweaks: adjust a couple of comments
563 tweaks: adjust indentation after the previous change, and edit comments
564 tweaks: avoid a runtime error when compiled with -fsanitize=undefined
565 tweaks: avoid two compiler warnings
566 tweaks: compute the sizes of the subwindows in a more direct manner
567 tweaks: correct a comment
568 tweaks: delete an element that is always FALSE and never used
569 tweaks: don't bother resetting the Unicode code holder
570 tweaks: don't call a thing malloc... when it doesn't call malloc()
571 tweaks: elide a bit of code duplication
572 tweaks: elide a typedef, as it now has just one element
573 tweaks: elide two unneeded variables
574 tweaks: factor out a common condition
575 tweaks: fix compilation with --enable-tiny
576 tweaks: fuse two handlings of a delete key, and fix a comment
577 tweaks: improve a few comments
578 tweaks: improve two comments
579 tweaks: move a debug statement to its proper place, and improve aspect
580 tweaks: put all the movement functions together
581 tweaks: put similar things together
582 tweaks: put some case labels closer to their statements
583 tweaks: put the case labels (the keycodes) in a more sensible order
584 tweaks: rearrange a function in my style, and rename a variable
585 tweaks: reduce the scope of two variables
586 tweaks: rename another variable, for aptness
587 tweaks: rename a variable and a type, to be less confusing
588 tweaks: rename a variable to be more accurate
589 tweaks: rename a variable, to clarify it refers to columns, not to bytes
590 tweaks: rename a variable -- to match others and to be more concise
591 tweaks: rename two variables, to match others
592 tweaks: shuffle the resetting of a counter to the tail of the routine
593 tweaks: straighten out the flow of a loop
594 tweaks: trim some comments, and simplify a condition
595 tweaks: use mallocstrcpy() instead of strdup(), for a graceful death
596 utils: don't bother to check line and column for NULL
597
598David Lawrence Ramsey (1):
599 input: provide feedback on the Unicode digits typed so far
600
601Dirkjan Ochtman (1):
602 syntax: allow capital letters in Rust struct/trait names
603
604Rishabh Dave (4):
605 browser: elide a variable by fusing the uses of 'newpath' and 'path'
606 browser: select an inaccessible directory also when tabbed
607 tweaks: reduce the number of wattron/wattrof calls
608 utils: accept mistypings and common separators between line and column
609
610
611Changes between v2.6.0 and v2.6.1:
612----------------------------------
613
614Benno Schulenberg (20):
615 browser: don't use a term that is not explained in the documentation
616 bump version numbers and add a news item for 2.6.1
617 docs: adjust the description of the verbatim function
618 linter: refresh the edit window in order to actually place the cursor
619 main: let the main loop restore the main menu, if needed
620 moving: allow specifying negative numbers in "Go To Line"
621 moving: ignore any number when ^Y or ^V is given
622 po: make the linguas script regenerate the POT file
623 po: update translations and regenerate POT file and PO files
624 tabs: compute the number of required spaces without iterating
625 tweaks: add a reporter's name
626 tweaks: add a translator hint
627 tweaks: elide an impossible case
628 tweaks: elide an intermediate copy of some line data
629 tweaks: elide an unneeded variable
630 tweaks: fix a date and an email address
631 tweaks: normalize a type, and rewrap a line
632 tweaks: reshuffle two lines and improve two comments
633 tweaks: rewrap a bunch of lines and some comments
634 tweaks: try to distinguish between keystrokes and characters
635
636Jordi Mallach (2):
637 docs: bump pointers to the newest version available
638 docs: use https for nano-editor.org, and drop the www
639
640Luke Francl (1):
641 syntaxes: add highlighting rules for Rust
642
643Rishabh Dave (1):
644 browser: don't seem to enter a directory when it is inaccessible
645
646
647Changes between v2.5.3 and v2.6.0 since 2016 April 1:
648-----------------------------------------------------
649
650Benno Schulenberg (192):
651 all: eradicate SVN's $Id$ tags
652 backups: take an unlikely condition into account
653 browser: add a binding for the refresh function
654 browser: after getting a mouse click, don't try any further interpretation
655 browser, files: use full path in error message when in confined mode
656 browser: fix a memory leak
657 browser: keep the highlight in the same spot or column, when possible
658 browser: make Ctrl+Left and Ctrl+Right jump to left and right column
659 browser: make the calculation of files-per-line a straightforward one
660 browser: provide tab completion also outside of the working directory
661 browser: rearrange the search loop to elide two unneeded variables
662 browser: show a message when getcwd() fails, instead of just beeping
663 browser: show an error message when selecting an inaccessible directory
664 browser: use the reselection mechanism also after resizing and after help
665 browser: when nothing was found, restore the global search flags
666 build-sys: detect a build from git and show its short commit hash
667 build-sys: identify a build from git not as one from svn
668 build-sys: ignore .patch, .orig and .swp files
669 chars: a control character can never be an invalid multibyte sequence
670 chars: ensure that files are sorted also when strncasecmp() is strange
671 chars: make comparing multibyte strings twice as fast
672 chars: the representation of control characters is always two columns wide
673 docs: add a list of the important changes since version 2.2.6
674 docs: mention that pkg-config is needed when building from git
675 docs: rename a file, to be less confusing
676 docs: update the version number for the upcoming release
677 files: allocate enough space for the prompt when finding a lock file
678 files: do not call free on the result of dirname
679 files: do not use two variables for two different purposes each
680 files: don't reuse a variable that may have been modified by dirname()
681 files: fix a memory leak
682 files: free all the multidata when a file is saved, then recompute it
683 files: handle systems that disallow NULL as first parameter of getcwd
684 files: it is fine to "change" the name of a nameless buffer
685 files: limit the number of attempts at climbing up the directory tree
686 files: make an 'if' more transparent and snip an unneeded condition
687 files: miscellaneous tweaks of braces, comments, and variable names
688 files: prevent dereferencing a possible (although very unlikely) NULL
689 files: prune a message to be less than 76 characters
690 files: recompute the multidata only when the applicable syntax changed
691 files: remove a redundant condition
692 files: remove a superfluous condition, and do not ignore a "No"
693 files: remove the special 'quiet' mechanism for not overwriting messages
694 files: report an unwritable file in a separate message
695 files: rewrap en reindent some lines
696 files: tweak the function tail() and rename two variables
697 files: upgrade the locking errors, so they will not be overwritten
698 files: when opening a buffer, make sure to expand a tilde in its name
699 files: when the requested operating directory cannot be set, fail
700 files: when writing a lockfile fails, continue loading the file
701 help: add an extra blank line to the lists of searching shortcuts
702 help: bring some air into the lists of shortcuts, giving the eye a hold
703 help: only speak of Control and Meta sequences
704 i18n: advise the translators about the maximum length of some strings
705 i18n: gather three more translatable strings into the POT file
706 input: after an unknown sequence, reenable cursor only when in main menu
707 input: distinguish an unknown escape sequence from an unbound key
708 input: don't allocate too much, and don't move too many
709 input: don't take multiple keystrokes to be a single sequence
710 input: give more detailed feedback when an unbound key is struck
711 input: properly restore waiting mode, or retain non-waiting mode
712 input: simplify a bit of code, reducing a four-case switch to a single if
713 input: trim some oververbose comments
714 input: write a few ifs more compactly
715 inserting: differentiate not finding a file from not finding a string
716 inserting: don't bother zero-terminating every single character
717 inserting: prune a duplicate variable
718 inserting: prune some superfluous settings, and do one differently
719 inserting: reshuffle some conditions for a teeny bit more speed
720 inserting: strip a carriage return before copying the line
721 inserting: treat also the final \r of a Mac file as a newline
722 justify: enable cursor display also for the first keystroke afterward
723 keyboard: reshuffle some lines to avoid an empty while
724 locking: don't try to read more bytes than the buffer can hold
725 po: correctly advertise whether new PO files have arrived
726 po: delete an obsolete script
727 po: regenerated POT file, and updated PO files from TP
728 prompt: properly save and restore the x position in the statusbar
729 rcfile: disallow 'bind' and 'unbind' in an included file
730 rcfile: make an error message equal to another, and more informative
731 README.GIT: reformat the text a bit
732 remove the GNU marker from nano's name
733 replacing: properly detect when we've rereached the starting position
734 screen: a full refresh is only needed when softwrap is on
735 screen: avoid redrawing a line twice
736 screen: catch a window resize also when the keyboard is in nodelay mode
737 screen: check for the most frequent character first: a space
738 screen: concentrate the setting of placewewant
739 screen: displaying the cursor position should not suppress it next time
740 screen: don't always set 'edit_refresh_needed' when adjusting edittop
741 screen: don't redraw some lines when doing a full refresh anyway
742 screen: don't redraw the current line unnecessarily
743 screen: elide a variable and serialize some logic for clarity
744 screen: fix compilation when configured with --enable-tiny
745 screen: improve the conditional placement of a help-line item
746 screen: make better use of the available space in the titlebar
747 screen: rename a variable, because 'disable' sounds too permanent
748 screen: rename 'edit_refresh_needed' to 'refresh_needed'
749 screen: when using positionlog, show as much of the file as possible
750 scrolling: catch the special case of reading a file from standard input
751 scrolling: center the cursor when inserted stuff does not fit on screen
752 scrolling: don't scroll too much when having to bridge blank lines
753 scrolling: elide a variable, to make clearer that edittop is being moved
754 search: avoid saving and restoring placewewant when bracket matching
755 search: don't set placewewant when we are just iterating
756 search: elide an unneeded function
757 search: find, and thus delete, only exact matches from history
758 search: fix compilation when configured with --enable-tiny
759 searching: don't keep track of current_y, but calculate it at the end
760 search: modify a function to take a length as parameter instead of a word
761 search: rename a variable and a function, for clarity and contrast
762 search: terminate the loop a tiny bit earlier when spell checking
763 search: untangle two lines and tweak two comments
764 search: when looking for whole words, examine the entire line
765 search: when polling the keyboard, consume all waiting keystrokes
766 softwrap: adjust for current_x when computing the amount to scroll
767 speller: don't proceed when the user aborts the searching
768 speller: simplify the calculation of the width of the misspelled word
769 spelling: don't partition the file for replacements in a marked region
770 spelling: gettextize the next-word message
771 spelling: if rereading the file fails, don't destroy the current buffer
772 spelling: pass the correct position of the cursor
773 spelling: retreat one x position, to not miss the first word
774 spelling: separate the fixing of different words with a short pause
775 startup: show an error message when argument of --operatingdir is invalid
776 statusbar: add a non-beeping message type that does not get overwritten
777 statusbar: prevent error messages from overwriting each other
778 syntax: don't call getcwd() with a NULL pointer
779 tabbing: avoid recalculating the length of the first match every time
780 tabbing: don't null-terminate a directory name on the slash but after it
781 tabbing: don't refresh the edit window when nothing was printed on it
782 tabbing: fix erroneous use of strnlenpt()
783 tabbing: make sure to refresh the edit window when returning to it
784 tabbing: refresh the edit window in case a previous tab listed names
785 tabbing: refresh the window also when Goto-Dir in browser was cancelled
786 tabbing: rename four variables, snipping a redundant part
787 text: add an undo item before starting to comment or uncomment lines
788 text: after undoing or redoing something, unset the mark
789 text: remove a pointless setting of an undo element; it is never used
790 text: remove a redundant undo element
791 text: store the new file size in the undo item also when joining lines
792 titlebar: snip two superfluous tests for having enough space
793 TODO: tidy up the punctuation
794 tweaks: add come comments and rename a variable
795 tweaks: adjust a couple of comments
796 tweaks: a few last tiny adjustments before release
797 tweaks: avoid a warning when configured with --disable-wrapping
798 tweaks: do an assignment in a more transparent way
799 tweaks: elide an unneeded variable
800 tweaks: elide four #ifdefs, improve one comment and unwrap some others
801 tweaks: elide unneeded intermediate assignments
802 tweaks: fix compilation when configured with --enable-tiny
803 tweaks: fix compilation when configured with --enable-tiny --enable-browser
804 tweaks: harmonize some indentations, elide an #ifdef, and rewrap a line
805 tweaks: harmonize the routine for tabs with the one for spaces
806 tweaks: improve a couple of comments
807 tweaks: improve a few comments
808 tweaks: improve a few comments
809 tweaks: make advancing and retreating more symmetrical
810 tweaks: make the conditions for statusbar blanking more transparent
811 tweaks: more consistently use * instead of [0] when checking for '\0'
812 tweaks: normalize some whitespace
813 tweaks: normalize some whitespace
814 tweaks: put some conditions in a better order: the main one first
815 tweaks: rearrange some key reading stuff in a clearer way
816 tweaks: reindent and rewrap a few lines, and shorten a comment
817 tweaks: remove an unnecessary intermediate assignment
818 tweaks: remove a redundant assignment
819 tweaks: remove a superfluous call of 'wnoutrefresh'
820 tweaks: remove a superfluous condition
821 tweaks: remove a superfluous setting of 'refresh_needed'
822 tweaks: remove the fiddling with an unrelated setting
823 tweaks: remove two redundant assignments
824 tweaks: rename a function, and move the sorting there too
825 tweaks: rename a variable, because nothing is returned there
826 tweaks: rename a variable, for aptness
827 tweaks: rename a variable, to indicate better what it contains
828 tweaks: rename a variable, to indicate what it contains
829 tweaks: rename some variables for contrast
830 tweaks: rename some variables to be more readable
831 tweaks: rename two more variables
832 tweaks: rename two variables, and elide a third
833 tweaks: rename two variables, to avoid using a name for different purposes
834 tweaks: reshuffle a few things
835 tweaks: trim or improve some comments, and rewrap two lines
836 tweaks: use an available macro to silence a compiler warning
837 undo: start renumbering from the head of the paste, not from its tail
838 utils: distinguish between width (columns) and length (bytes)
839 utils: provide a failure message for all uses of 'fsfromline'
840 utils: rename some variables, to match those in strnlenpt()
841 utils: snip a superfluous check for NULL
842 version: cover the copyrights that are not assigned to the FSF
843
844Chris Allegretta (2):
845 add /intl to gitignore
846 rename README.SVN -> README.GIT and take out the branch details
847
848Mike Frysinger (3):
849 more svn->git updates
850 README.GIT: update a few more points to match current tree
851 syntax: changelog: support more bug/issue styles
852
853Mike Scalora (3):
854 keyboard: recognize four escape sequences produced by iTerm2
855 new feature: comment/uncomment current line or selected lines
856 text: keep the file size correct when undoing/redoing a comment/uncomment
857
858Rishabh Dave (2):
859 browser: keep the same file selected when the directory contents change
860 browser: move all openings and closings of a directory to the same function