Skip to content

Commit 6514950

Browse files
committed
Fixed non-supported remove() call in unix micropython
1 parent 29fb9e0 commit 6514950

File tree

5 files changed

+20
-19
lines changed

5 files changed

+20
-19
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,5 +118,6 @@ c) expandtabs() and packtabs() with a second argument for tabsize (not for pye,
118118

119119
**1.11** Minor fixes
120120
- Change the way a marked area is highlighted from reverse to a different background color. That works well for black chars on yellow background (code 43). For white chars on black background, the setting for background color in the function hilite() has to be changed, e.g. to blue (code 44).
121-
- Save to a temporary file first, and rename it to the target name when successfully written.
122-
121+
- Save file to a temporary file first, and rename it to the target name when successfully written.
122+
- Lazy screen update: defer screen update, until all chars from the keyboard are processed.
123+
- Use os.unlink() instead of os.remove(), because remove is not suported by unix micropython

pe.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def cursor(self, onoff):
9191
self.wr(b"\x1b[?25h" if onoff else b"\x1b[?25l")
9292
def hilite(self, mode):
9393
if mode == 1:
94-
self.wr(b"\x1b[1m")
94+
self.wr(b"\x1b[1;47m")
9595
elif mode == 2:
9696
self.wr(b"\x1b[43m")
9797
else:
@@ -345,7 +345,7 @@ def delete_lines(self, yank):
345345
self.cur_line = lrange[0]
346346
self.mark = None
347347
def handle_edit_key(self, key):
348-
from os import rename, remove
348+
from os import rename, unlink
349349
l = self.content[self.cur_line]
350350
if key == 0x0a:
351351
self.mark = None
@@ -486,7 +486,7 @@ def handle_edit_key(self, key):
486486
f.write(self.packtabs(l) + '\n')
487487
else:
488488
f.write(l + '\n')
489-
try: remove(fname)
489+
try: unlink(fname)
490490
except: pass
491491
rename("tmpfile.pye", fname)
492492
self.changed = ' '

pemin.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def cursor(self, onoff):
6565
self.wr(b"\x1b[?25h" if onoff else b"\x1b[?25l")
6666
def hilite(self, mode):
6767
if mode == 1:
68-
self.wr(b"\x1b[1m")
68+
self.wr(b"\x1b[1;47m")
6969
elif mode == 2:
7070
self.wr(b"\x1b[43m")
7171
else:
@@ -267,7 +267,7 @@ def delete_lines(self, yank):
267267
self.cur_line = lrange[0]
268268
self.mark = None
269269
def handle_edit_key(self, key):
270-
from os import rename, remove
270+
from os import rename, unlink
271271
l = self.content[self.cur_line]
272272
if key == 0x0a:
273273
self.mark = None
@@ -352,7 +352,7 @@ def handle_edit_key(self, key):
352352
with open("tmpfile.pye", "w") as f:
353353
for l in self.content[lrange[0]:lrange[1]]:
354354
f.write(l + '\n')
355-
try: remove(fname)
355+
try: unlink(fname)
356356
except: pass
357357
rename("tmpfile.pye", fname)
358358
self.changed = ' '

pye.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ def __init__(self, tab_size, undo_limit):
165165
#endif
166166
#ifdef LINUX
167167
if sys.platform in ("linux", "darwin"):
168-
168+
169169
def wr(self,s):
170170
if isinstance(s, str):
171171
s = bytes(s, "utf-8")
@@ -266,7 +266,7 @@ def cursor(self, onoff):
266266

267267
def hilite(self, mode):
268268
if mode == 1: ## used for the status line
269-
self.wr(b"\x1b[1m")
269+
self.wr(b"\x1b[1;47m")
270270
elif mode == 2: ## used for the marked area
271271
self.wr(b"\x1b[43m")
272272
else: ## plain text
@@ -556,7 +556,7 @@ def delete_lines(self, yank):
556556
self.mark = None ## unset line mark
557557

558558
def handle_edit_key(self, key): ## keys which change content
559-
from os import rename, remove
559+
from os import rename, unlink
560560
l = self.content[self.cur_line]
561561
if key == KEY_ENTER:
562562
self.mark = None
@@ -707,7 +707,7 @@ def handle_edit_key(self, key): ## keys which change content
707707
else:
708708
#endif
709709
f.write(l + '\n')
710-
try: remove(fname)
710+
try: unlink(fname)
711711
except: pass
712712
rename("tmpfile.pye", fname)
713713
self.changed = ' ' ## clear change flag

pye2.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -240,9 +240,9 @@ def wr(self, s):
240240

241241
def rd(self):
242242
while True:
243-
try:
243+
try:
244244
return sys.stdin.read(1).encode()
245-
except:
245+
except:
246246
pass
247247

248248
def not_pending(self):
@@ -385,7 +385,7 @@ def line_range(self):
385385
## if self.mark == None:
386386
## return (self.cur_line, self.cur_line + 1)
387387
## else:
388-
return ((self.mark, self.cur_line + 1) if self.mark < self.cur_line else
388+
return ((self.mark, self.cur_line + 1) if self.mark < self.cur_line else
389389
(self.cur_line, self.mark + 1))
390390

391391
def line_edit(self, prompt, default): ## simple one: only 4 fcts
@@ -548,7 +548,7 @@ def delete_lines(self, yank):
548548
self.mark = None ## unset line mark
549549

550550
def handle_edit_key(self, key): ## keys which change content
551-
from os import rename, remove
551+
from os import rename, unlink
552552
l = self.content[self.cur_line]
553553
jut = self.col - len(l) ## <0: before text end, =0 at text end, >0 beyond text end
554554
if key == KEY_ENTER:
@@ -557,7 +557,7 @@ def handle_edit_key(self, key): ## keys which change content
557557
ni = 0
558558
if self.autoindent == "y": ## Autoindent
559559
ni = min(self.spaces(l), self.col) ## query indentation
560-
#ifndef BASIC
560+
#ifndef BASIC
561561
r = l.partition("\x23")[0].rstrip() ## \x23 == #
562562
if r and r[-1] == ':' and self.col >= len(r): ## look for : as the last non-space before comment
563563
ni += self.tab_size
@@ -625,7 +625,7 @@ def handle_edit_key(self, key): ## keys which change content
625625
self.content[self.cur_line] = l[:self.col - ni] + l[self.col:]
626626
self.col -= ni
627627
else:
628-
self.col -= min(ni, jut)
628+
self.col -= min(ni, jut)
629629
#ifndef BASIC
630630
elif key == KEY_REPLC:
631631
count = 0
@@ -708,7 +708,7 @@ def handle_edit_key(self, key): ## keys which change content
708708
else:
709709
#endif
710710
f.write(l + '\n')
711-
try: remove(fname)
711+
try: unlink(fname)
712712
except: pass
713713
rename("tmpfile.pye", fname)
714714
self.changed = ' ' ## clear change flag

0 commit comments

Comments
 (0)