Commits

Author Commit Message Labels Comments Date
Christos Chryssochoidis
By default make tab be 4 spaces and always insert spaces.
Linus Torvalds
Fix the unicode character limit (0 .. 0x10ffff) For some reason I had limited things to 0xffff, it really should be 0x10ffff. We don't actually support a full 32-bit unicode model anyway, since we use the high bits for the control/meta/^X/special bits, but there was no reason to limit things to 16 bits when we had 28 bits available. And the real limit for real Unicode characters is 0x10ffff. Add a silly example character past the 16-bit rang…
penberg
uemacs: Remove unused 'lflag' variables from file.c GCC spotted the following unused variable: CC file.o file.c: In function ‘readin’: file.c:225:6: warning: variable ‘lflag’ set but not used [-Wunused-but-set-variable] file.c: In function ‘ifile’: file.c:553:6: warning: variable ‘lflag’ set but not used [-Wunused-but-set-variable] Signed-off-by: Pekka Enberg <penberg@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-fou…
Linus Torvalds
Fix 'getccol()' and 'getgoal()' functions for multibyte UTF-8 characters These functions convert the byte offset into the column number (getccol()) and vice versa (getgoal()). Getting this right means that moving up and down the text gets us the right columns, rather than moving randomly left and right when you move up and down. We also won't end up in the middle of a utf-8 character, because we're not just moving into some random byte offset, we're moving into a pro…
Linus Torvalds
Fix vtputc() and simplify show_line by using it again This re-introduces vtputc() as the way to show characters, which reinstates the control character handing, and simplifies show_line() in the process. vtputc now takes an "int" that is either a unicode character or a signed char (so negative values in the range [-1, -128] are considered to be the same as [128, 255]). This allows us to use it regardless of what the source of data is. Signed-off-b…
Linus Torvalds
Start doing character removal properly This makes actual basic editing work. Including things like justify-paragraph etc, so lines get justified by number of UTF8 characters rather than bytes. There are probably tons of broken stuff left, but this actually seems to get the basics working right. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
Start actually inserting full utf8 sequences This makes it possible to cut-and-paste the UTF8 testfile into a new buffer, and the end result looks correct. NOTE! We still do various things wrong while editing. For example, while the cursor movements were fixed, simple things like deleting a character still work on single bytes, rather than utf8 characters. So while this is getting much closer to actually editing UTF-8 data, it's not there…
Linus Torvalds
Make 'show_line()' do proper TAB handling The TAB handling got broken by commit cee00b0efb86 ("Show UTF-8 input as UTF-8 output") when it stopped doing things one byte at a time. I'm sure the other special character cases are broken too. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
Expand keycode to 'int' from 'short' This uses the four high bits for the meta and control key sequences. This means that we will be limiting our Unicode space to 28 bits, but that's more than we really need. It *would* be nicer if we just used the sign bit to mark "we have meta character information") but that would require bigger changes. And we really don't need to worry about 30-bit unicode. Small steps, remember. Signed-off-…
Linus Torvalds
character input: make sure we have enough bytes for a full utf8 character .. but we do have that 0.1s delay, so if somebody feeds us non-utf8 sequences, we won't delay forever. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
utf8: make sure to honor the array length properly Right now the input side can give partial utf8 input, and that showed that we didn't properly handle that case. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
Make kbd macro save area use 'int' instead of short I'm starting to expand the input value from 'short' (with flags in the upper eight bytes) to 'int' (with negative values having flags). Small baby steps. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
Use utf8 helper functions for keyboard input ttgetc() used some homebrew utf8 to unicode translation, limited to just the normal latin1 characters. Use the utf8 helper functions to get it right for the more complex cases. NOTE! We don't actually handle characters > 0xff right anyway. And we still end up doing Latin1 in the buffers on input. One small step at a time. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
Make cursor movement (largely) understand UTF-8 character boundaries Ok, so it may do odd things if it's not truly utf-8, and when moving up and down lines that have utf-8 the cursor moves oddly (because the byte offset within the line stays constant, rather than the character offset), but with this you can actually open the UTF8 example file and move around it, and at least some of the movement makes sense. Signed-off-by: Linus Torvalds <torvalds@linux-foundation…
Linus Torvalds
Split up the utf8 helper functions into a file of their own Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
Remove the old utf8_mode thing. Let's just plan on being fully utf8 some day. We're not there yet, and maybe we'll never be, but having the halfway mode is not useful either. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
Show UTF-8 input as UTF-8 output .. by doing the stupid "convert to unicode value and back" model. This actually populates the 'struct video' array with the unicode values, so UTF8 input actually shows correctly. In particular, the nice test-file (UTF-8-demo.txt) shows up not as garbage, but as the UTF-8 it is. HOWEVER! Since the *editing* doesn't know about UTF-8, and considers it just a stream of bytes, the end result is no…
Linus Torvalds
Make the 'struct video' contain an array of unicode characters rather than bytes This is disgusting. And quite frankly, it's debatable whether this will ever work. The "line" structure is still just an array of characters, so that has to work with utf-8. But the 'struct video' thing is what represents the actual screen rectangle, and is fixed-size by the size of the screen. So making it contain actual 32-bit unicode characters *may* make sense. Right now we translate thin…
Linus Torvalds
Show lines with a single helper function, not one byte at a time Let's see how hard it is to show UTF-8 characters properly. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Naohiro Aota
Make uemacs build on FreeBSD. See <https://bugs.gentoo.org/show_bug.cgi?id=387135>. Signed-off-by: Ulrich Müller <ulm@gentoo.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
spawn.c: do the "keyboard open/close" around shell invocations I'm not 100% sure we really should even be doing this whole "keyboard" open/close for termcap, but even if the right thing to do ends up being to just do everything in the TTopen/TTclose (and make TTkopen/TTkclose no-ops), it does seem to be the right thing to do. Reported-by: Bijan Soleymani <bijan@psq.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
file.c: remove crazy keyboard open/close calls It seems to have something to do with some old DOS mode, and not having keyboard translation on ("Insert floppy A:" questions while opening files? Whatever). But this is while doing normal file opens, and it is just insane to open/close a tty across a file open. The possible tty init/exit sequence would mess up some of the file read/write messages. Reported-by: Bijan Soleymani <bijan@psq.com> S…
Linus Torvalds
Force a screen re-draw after tcap 'ti' on terminal open The 'tcapkopen()' function re-initializes the terminal with the 'ti' sequence, which for most sane termcap entries is just empty. But for 'xterm', that seems to actually be a real control sequence (clear and reset?), and we'd better tell display.c that the screen is now garbage and needs to be re-drawn. Also, make tcapkclose() match the 'ti' (terminal init) with a 'te' (terminal exit). Maybe we…
Thiago Farina
uemacs: Add -g options to the output usage. While I'm here, improve the word of the above two options. Signed-off-by: Thiago Farina <tfransosi@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
ulm
Respect LDFLAGS when linking. Signed-off-by: Ulrich Müller <ulm@gentoo.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
Show xA0 (nbsp) as a non-printable character I want to see the difference between space and nbsp, and I consider nbsp to be a control character, so show it as such. Even if it is technically "printable". Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Thiago Farina
uemacs: display.c: Use the newly introduced xmalloc function. Signed-off-by: Thiago Farina <tfransosi@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Thiago Farina
uemacs: Add xmalloc as a wrapper function for malloc. xmalloc checks the returned pointer and dies if it failed to allocate the memory. Use this new function in window.c. More places will be converted to use xmalloc latter. Signed-off-by: Thiago Farina <tfransosi@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Thiago Farina
uemacs: Make some magic variables private to search.c module. Signed-off-by: Thiago Farina <tfransosi@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Thiago Farina
uemacs: input.c: Fix mkstemp warning. Fix the following warning: input.c: In function ‘getstring’: input.c:590: warning: ignoring return value of ‘mkstemp’, declared with attribute warn_unused_result This add usage.c module for die function. This also add wrapper.c module for the xmkstemp that is wrapper function around the original mkstemp function. Both module codes was largelly based on git, linux and sparse codes. Signed-off-b…
  1. Prev
  2. Next