Benno Schulenberg
d8c840692e
tweaks: reshuffle an 'if' out of a function, and rename the function
2019-06-23 12:15:19 +02:00
Benno Schulenberg
8c7b6bd21a
tweaks: when precalculating, allocate all the cache space upfront
...
Instead of doing it haphazardly while lines are getting categorized.
2019-06-23 11:57:27 +02:00
Benno Schulenberg
21d0755de5
tweaks: try the allocation of a multidata cache just once per line
...
It does not need to be allocated for each multiline regex separately.
2019-06-23 11:45:03 +02:00
Benno Schulenberg
bbab9e2e62
tweaks: shorten two messages that translators tend to make too long
2019-06-19 19:34:19 +02:00
Benno Schulenberg
9ea1cd947c
tweaks: add a translator hint, to clarify four short words
2019-06-19 19:14:47 +02:00
Benno Schulenberg
b8987a1e40
po: update translations and regenerate POT file and PO files
2019-06-18 10:33:21 +02:00
Benno Schulenberg
895d2b8e9c
bump version numbers and add a news item for the 4.3 release
2019-06-18 10:04:16 +02:00
Benno Schulenberg
47068c3770
build: fix compilation when configured with --disable-color
2019-06-17 09:59:15 +02:00
Benno Schulenberg
345cf5accc
files: don't close a newly-created buffer when it is the only one
...
This fixes https://savannah.gnu.org/bugs/?56504 .
Reported-by: Liu Hao <lh_mouse@126.com>
Bug existed since commit 7e422402
from two weeks ago.
2019-06-16 19:12:52 +02:00
Benno Schulenberg
c7ca60b046
tweaks: don't check the user's nanorc file for accessibility twice
...
Also, condense some alternatives into a single 'if'.
2019-06-16 17:53:44 +02:00
Benno Schulenberg
01e4f85f29
tweaks: remove a check that is no longer relevant
...
Since commit 7028adf2
from three days ago, also the color commands of
syntaxes that are defined in a main nanorc will get parsed during a
second pass, so it is perfectly possible to extend such syntaxes
later on in the same (or another) nanorc file.
2019-06-16 11:02:03 +02:00
Benno Schulenberg
6bfbb2bcd9
tweaks: remove two more unneeded assignments
...
'opensyntax' is relevant only during the first pass through all the
nanorc files (intros_only == TRUE) when it is checked that syntax
commands are grouped properly and not mixed with others. And
'lastcolor' is relevant only during the second pass of a specific
syntax, because only then the color commands are actually parsed.
2019-06-16 10:41:53 +02:00
Benno Schulenberg
d82c753ba4
rcfile: at terminating points, verify that a defined syntax is not empty
...
Whenever, in an rcfile, a command is encountered that is not part of a
syntax definition, a currently open syntax should be closed, but only
after checking that the syntax contains at least one color command.
This fixes https://savannah.gnu.org/bugs/?56501 .
Bug existed since version 2.3.3.
2019-06-15 19:42:31 +02:00
Benno Schulenberg
0af9ce926b
rcfile: close off a syntax when a non-syntax command is encountered
...
The 'color' commands of a syntax definition should not be allowed to
be interspersed with other, non-syntax commands.
This fixes https://savannah.gnu.org/bugs/?56498 .
Bug existed since before version 2.6.0.
2019-06-15 15:07:57 +02:00
Benno Schulenberg
4e14a8a977
tweaks: remove two unneeded assignments, and improve a comment
...
Also reshuffle a line, for esthetics.
2019-06-15 14:35:53 +02:00
Benno Schulenberg
accd17c249
tweaks: remove four unneeded pre-processor directives
...
The parse_next_word() function is not being used by the history code
anymore since commit ecd18c16
, more than two years ago.
2019-06-15 14:17:13 +02:00
Benno Schulenberg
e8eb30cad6
tweaks: just mark four rcfile errors for translation, like the others
...
The messages get translated when they get stored in the linked list.
This is to economize on the number of actual calls of gettext().
2019-06-15 14:13:20 +02:00
Benno Schulenberg
36bd68f3ab
tweaks: rename a function, to better suit what it does
2019-06-15 14:07:57 +02:00
Benno Schulenberg
03692363a2
tweaks: move a syntax check to a better place, to reduce duplication
2019-06-15 13:04:01 +02:00
Benno Schulenberg
0e94575c6b
rcfile: check for missing color commands only when a syntax is still open
...
This fixes https://savannah.gnu.org/bugs/?56497 .
Bug existed since commit 7028adf2
from two days ago.
2019-06-15 12:17:33 +02:00
Benno Schulenberg
27cc3117e2
tweaks: rename two parameters, for more contrast, and elide another
...
Also rename a function.
2019-06-14 10:56:49 +02:00
Benno Schulenberg
19f71632c8
tweaks: remove an unneeded "closing" of a syntax after extending it
...
As 'extendsyntax' commands are no longer interpreted immediately when
the rcfiles are read, there is no need to set 'opensyntax' to FALSE
after interpreting such a command -- for a single syntax they are all
interpreted in a row.
2019-06-14 10:56:49 +02:00
Benno Schulenberg
e3f18e7a6c
tweaks: rename two variables, and frob some comments
...
Also reshuffle the newline stripping, as it's pointless for lines
that are skipped.
2019-06-14 10:56:49 +02:00
Benno Schulenberg
b55923f5ec
tweaks: reshuffle some lines, to group things more sensibly
2019-06-14 10:56:49 +02:00
Benno Schulenberg
7028adf211
rcfile: fully read each included file, so all its syntaxes are seen
...
An included file can contain multiple syntaxes. If reading would stop
as soon as a command different from 'syntax' and 'header' and 'magic'
is found, any later syntaxes would not be seen. So each nanorc file
needs to be fully scanned -- it's just the interpretation of all the
color commands that we want to delay until the syntax gets actually
used.
This fixes https://savannah.gnu.org/bugs/?56478 .
Bug existed since commit cba9d8d0
from a month ago.
2019-06-14 10:49:30 +02:00
Benno Schulenberg
d7df7c694a
tweaks: elide a pre-processor #else clause, by using braces instead
2019-06-13 15:47:29 +02:00
Benno Schulenberg
ce69d5be88
tweaks: condense two comments, and normalize the whitespace of a label
2019-06-12 11:10:27 +02:00
Benno Schulenberg
3da4240229
tweaks: rename a variable, to fit a little better
2019-06-12 11:03:03 +02:00
Benno Schulenberg
43caf7bb7b
tweaks: avoid an unneeded, extra stat() for temporary files
2019-06-12 10:48:03 +02:00
Benno Schulenberg
e8e30e5197
tweaks: elide an unneeded, duplicate stat() for the FIFO check
2019-06-12 10:34:53 +02:00
Benno Schulenberg
189de5ee78
files: suppress feedback when writing an emergency or temporary file
...
This fixes https://savannah.gnu.org/bugs/?56474 .
Bug existed since commit 47770bd3
from two weeks ago.
2019-06-12 09:51:14 +02:00
Benno Schulenberg
c57d040e99
tweaks: don't bother calling mblen() in a non-UTF-8 build
...
There is no need, because in non-UTF-8 encodings nano treats
each single byte as one character anyway.
2019-06-11 19:48:03 +02:00
Benno Schulenberg
0adb15c7a1
display: properly show all characters in a non-UTF-8 build
...
Also, don't use mblen() directly, to not get stuck when it returns -1,
which it will when running a non-UTF-8 build in a UTF-8 locale.
This fixes https://savannah.gnu.org/bugs/?56472 .
Bug existed since commit cd094822
from yesterday.
2019-06-11 19:07:34 +02:00
Benno Schulenberg
1e48df388e
build: avoid a warning when using --disable-utf8
2019-06-11 14:24:30 +02:00
Benno Schulenberg
d477775871
build: avoid a warning on FreeBSD, OpenBSD, and Alpine
2019-06-11 12:29:32 +02:00
Benno Schulenberg
ed40fd8031
tweaks: reorder some code, to further optimize display_string() for ASCII
...
The majority of characters in the files that get edited with nano will
be single-byte printable ASCII characters, so their case should come
first in the main loop of display_string().
2019-06-11 12:08:28 +02:00
Benno Schulenberg
5c4b0b38f4
chars: redo the speedup for plain ASCII from three commits ago
...
It was lost in the elision of length_of_char() two commits ago.
2019-06-11 11:10:53 +02:00
Benno Schulenberg
bd331b0198
tweaks: reshuffle some lines and frob some comments
2019-06-10 20:07:10 +02:00
Benno Schulenberg
cd09482231
tweaks: elide a function that is an amalgam of three others
...
In addition, the function was used just once, had a weird return value,
and now some more code can be excluded from a non-UTF8 build.
Make use of the fact that any single-byte character always occupies
just one column, and call the costly mbtowc() and wcwidth() only for
characters that actually are multibyte.
2019-06-10 19:43:50 +02:00
Benno Schulenberg
c5955d14ce
chars: speed up the determination of length and width for plain ASCII
2019-06-10 17:22:41 +02:00
Benno Schulenberg
7d38379919
tweaks: rename two parameters, away from single letters
2019-06-10 12:36:16 +02:00
Benno Schulenberg
45bf18f8fe
tweaks: rename three variables, to get rid of a suffix or an underscore
...
Also drop an unneeded cast.
2019-06-10 12:34:24 +02:00
Benno Schulenberg
787dca6724
tweaks: elide an unneeded variable
2019-06-10 12:06:12 +02:00
Benno Schulenberg
15e36956b5
tweaks: avoid parsing a character twice
...
Let mbtowc() do all the work, and thus also elide a variable.
2019-06-10 12:01:10 +02:00
Benno Schulenberg
967f581860
tweaks: adjust some whitespace and rewrap a few lines
...
And remove two unneeded casts.
2019-06-09 20:03:44 +02:00
Benno Schulenberg
1075de1222
tweaks: rename two functions, to get rid of the "mb" abbreviation
...
Also, for me "move" is about moving the cursor. But these functions
are about moving an index in a text, which is more general.
2019-06-09 19:37:56 +02:00
Benno Schulenberg
3457039cee
tweaks: rename a variable, to get out of the way of the next commit
2019-06-09 19:31:01 +02:00
Benno Schulenberg
ca77254968
tweaks: use a slightly faster function where appropriate
...
Also, correct a call of move_mbright() to use the intended format.
2019-06-09 19:22:24 +02:00
Benno Schulenberg
710a600f22
chars: speed up case-insensitive searching by roughly one percent
...
It is less of a speedup than I was hoping for, though.
2019-06-09 19:13:25 +02:00
Benno Schulenberg
843eef65b8
tweaks: put some timing code back into the search function
2019-06-09 18:48:52 +02:00