xrpn 1.2 → 1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -5
- data/bin/xrpn +2 -1
- data/xcmd/abs +1 -0
- data/xcmd/acos +1 -0
- data/xcmd/adate +1 -0
- data/xcmd/adateiso +1 -0
- data/xcmd/add +1 -0
- data/xcmd/adv +1 -0
- data/xcmd/agsub +1 -0
- data/xcmd/aleng +1 -0
- data/xcmd/almcat +1 -0
- data/xcmd/almnow +1 -0
- data/xcmd/anum +1 -0
- data/xcmd/aoff +1 -0
- data/xcmd/aon +1 -0
- data/xcmd/appchr +1 -0
- data/xcmd/apprec +1 -0
- data/xcmd/arcl +1 -0
- data/xcmd/arcli +1 -0
- data/xcmd/arclrec +1 -0
- data/xcmd/arot +1 -0
- data/xcmd/ashf +1 -0
- data/xcmd/asin +1 -0
- data/xcmd/asroom +1 -0
- data/xcmd/asto +1 -0
- data/xcmd/asub +1 -0
- data/xcmd/atan +1 -0
- data/xcmd/atime +1 -0
- data/xcmd/atime24 +1 -0
- data/xcmd/atox +1 -0
- data/xcmd/aview +1 -0
- data/xcmd/aviewc +1 -0
- data/xcmd/beep +1 -0
- data/xcmd/bindec +1 -0
- data/xcmd/cat +1 -0
- data/xcmd/cf +1 -0
- data/xcmd/chs +2 -1
- data/xcmd/cla +2 -1
- data/xcmd/clalma +1 -0
- data/xcmd/clalmx +1 -0
- data/xcmd/cld +1 -0
- data/xcmd/clear +1 -0
- data/xcmd/clfl +2 -1
- data/xcmd/clk12 +2 -1
- data/xcmd/clk24 +2 -1
- data/xcmd/clkeys +1 -0
- data/xcmd/clock +1 -0
- data/xcmd/clp +1 -0
- data/xcmd/clralms +1 -0
- data/xcmd/clrg +2 -1
- data/xcmd/clrgx +2 -1
- data/xcmd/cls +2 -1
- data/xcmd/clst +2 -1
- data/xcmd/clx +2 -1
- data/xcmd/cmdadd +2 -1
- data/xcmd/cmddel +2 -1
- data/xcmd/cmdhelp +23 -0
- data/xcmd/correct +1 -0
- data/xcmd/cos +1 -0
- data/xcmd/crflas +2 -1
- data/xcmd/crfld +2 -1
- data/xcmd/cube +2 -1
- data/xcmd/d_r +2 -1
- data/xcmd/date +2 -1
- data/xcmd/dateplus +2 -1
- data/xcmd/ddate +2 -1
- data/xcmd/dec +2 -1
- data/xcmd/decbin +2 -1
- data/xcmd/dechex +2 -1
- data/xcmd/decoct +2 -1
- data/xcmd/deg +2 -1
- data/xcmd/degq +2 -1
- data/xcmd/delchr +2 -1
- data/xcmd/delrec +2 -1
- data/xcmd/divide +2 -1
- data/xcmd/dmy +2 -1
- data/xcmd/dot +1 -0
- data/xcmd/dow +2 -1
- data/xcmd/drop +2 -1
- data/xcmd/dropy +2 -1
- data/xcmd/dse +1 -0
- data/xcmd/ed +1 -0
- data/xcmd/emdir +2 -1
- data/xcmd/emdirx +2 -1
- data/xcmd/emroom +1 -0
- data/xcmd/end +1 -0
- data/xcmd/eng +1 -0
- data/xcmd/enter +2 -1
- data/xcmd/exp +2 -1
- data/xcmd/expx1 +2 -1
- data/xcmd/fact +2 -1
- data/xcmd/fc +1 -0
- data/xcmd/fcc +1 -0
- data/xcmd/fcs +1 -0
- data/xcmd/fix +1 -0
- data/xcmd/fixq +2 -1
- data/xcmd/flsize +1 -0
- data/xcmd/frc +2 -1
- data/xcmd/fs +1 -0
- data/xcmd/fsc +1 -0
- data/xcmd/fss +1 -0
- data/xcmd/geir +2 -1
- data/xcmd/getas +2 -1
- data/xcmd/getfile +2 -1
- data/xcmd/getfilea +2 -1
- data/xcmd/getkey +2 -1
- data/xcmd/getkeyx +2 -1
- data/xcmd/getp +2 -1
- data/xcmd/getr +2 -1
- data/xcmd/getrec +2 -1
- data/xcmd/getrx +2 -1
- data/xcmd/getsub +1 -0
- data/xcmd/getweb +2 -1
- data/xcmd/getx +2 -1
- data/xcmd/grad +2 -1
- data/xcmd/gsb +1 -0
- data/xcmd/gto +1 -0
- data/xcmd/help +2 -1
- data/xcmd/hexdec +2 -1
- data/xcmd/hms +2 -1
- data/xcmd/hmsminus +2 -1
- data/xcmd/hmsplus +2 -1
- data/xcmd/hr +2 -1
- data/xcmd/inschr +2 -1
- data/xcmd/insrec +2 -1
- data/xcmd/int +2 -1
- data/xcmd/invf +1 -0
- data/xcmd/isg +1 -0
- data/xcmd/lastx +2 -1
- data/xcmd/lbl +1 -0
- data/xcmd/lift +2 -1
- data/xcmd/ln +2 -1
- data/xcmd/ln1x +2 -1
- data/xcmd/log +1 -0
- data/xcmd/mdy +2 -1
- data/xcmd/mean +2 -1
- data/xcmd/mod +1 -0
- data/xcmd/multiply +1 -0
- data/xcmd/oct +2 -1
- data/xcmd/octdec +2 -1
- data/xcmd/off +2 -1
- data/xcmd/on +1 -0
- data/xcmd/p_r +2 -1
- data/xcmd/pack +1 -0
- data/xcmd/page +1 -0
- data/xcmd/pagedel +1 -0
- data/xcmd/pageq +2 -1
- data/xcmd/pageswap +2 -1
- data/xcmd/pasn +1 -0
- data/xcmd/pcat +2 -1
- data/xcmd/pclps +2 -1
- data/xcmd/percent +1 -0
- data/xcmd/percentch +1 -0
- data/xcmd/pi +2 -1
- data/xcmd/posa +2 -1
- data/xcmd/posfl +2 -1
- data/xcmd/pow +2 -1
- data/xcmd/pprg +2 -1
- data/xcmd/pprgx +1 -1
- data/xcmd/pra +2 -1
- data/xcmd/prflags +2 -1
- data/xcmd/prompt +2 -1
- data/xcmd/prp +2 -1
- data/xcmd/prregs +2 -1
- data/xcmd/prstk +2 -1
- data/xcmd/prx +2 -1
- data/xcmd/prxm +2 -1
- data/xcmd/pse +2 -1
- data/xcmd/psize +1 -0
- data/xcmd/purfl +2 -1
- data/xcmd/r_d +1 -0
- data/xcmd/r_p +2 -1
- data/xcmd/rad +2 -1
- data/xcmd/rand +2 -1
- data/xcmd/rcl +1 -0
- data/xcmd/rclaf +1 -0
- data/xcmd/rclflag +2 -1
- data/xcmd/rclpt +2 -1
- data/xcmd/rclpta +2 -1
- data/xcmd/rclsw +1 -0
- data/xcmd/rdn +2 -1
- data/xcmd/recip +1 -0
- data/xcmd/regmove +2 -1
- data/xcmd/regswap +2 -1
- data/xcmd/reload +2 -1
- data/xcmd/reszfl +1 -0
- data/xcmd/rnd +2 -1
- data/xcmd/root +2 -1
- data/xcmd/rtn +2 -1
- data/xcmd/rubycmd +2 -1
- data/xcmd/runsw +1 -0
- data/xcmd/rup +2 -1
- data/xcmd/saveas +2 -1
- data/xcmd/savep +2 -1
- data/xcmd/saver +2 -1
- data/xcmd/saverx +2 -1
- data/xcmd/savex +2 -1
- data/xcmd/savexm +2 -1
- data/xcmd/sci +1 -0
- data/xcmd/sdev +2 -1
- data/xcmd/seekpt +2 -1
- data/xcmd/seekpta +2 -1
- data/xcmd/sep +1 -0
- data/xcmd/setaf +1 -0
- data/xcmd/setsw +1 -0
- data/xcmd/sf +1 -0
- data/xcmd/shellcmd +2 -1
- data/xcmd/sign +2 -1
- data/xcmd/sin +1 -0
- data/xcmd/size +1 -0
- data/xcmd/sizeq +1 -0
- data/xcmd/sminus +1 -0
- data/xcmd/splus +1 -0
- data/xcmd/sqr +2 -1
- data/xcmd/sqrt +2 -1
- data/xcmd/sreg +1 -0
- data/xcmd/sregq +2 -1
- data/xcmd/stdivide +1 -0
- data/xcmd/stmultiply +1 -0
- data/xcmd/sto +1 -0
- data/xcmd/stoflag +2 -1
- data/xcmd/stop +2 -1
- data/xcmd/stopsw +1 -0
- data/xcmd/stplus +1 -0
- data/xcmd/stsubtract +1 -0
- data/xcmd/subtract +1 -0
- data/xcmd/sw +1 -0
- data/xcmd/swap +2 -1
- data/xcmd/swpt +1 -0
- data/xcmd/tan +1 -0
- data/xcmd/tenx +2 -1
- data/xcmd/time +2 -1
- data/xcmd/tx +1 -0
- data/xcmd/version +1 -0
- data/xcmd/view +1 -0
- data/xcmd/writefile +2 -1
- data/xcmd/xeq +1 -0
- data/xcmd/xeq0 +2 -1
- data/xcmd/xeqnn +2 -1
- data/xcmd/xeqy +2 -1
- data/xcmd/xf +1 -0
- data/xcmd/xgt0 +2 -1
- data/xcmd/xgteq0 +2 -1
- data/xcmd/xgteqnn +2 -1
- data/xcmd/xgteqy +2 -1
- data/xcmd/xgtnn +2 -1
- data/xcmd/xgty +2 -1
- data/xcmd/xlt0 +2 -1
- data/xcmd/xlteq0 +2 -1
- data/xcmd/xlteqnn +2 -1
- data/xcmd/xlteqy +2 -1
- data/xcmd/xltnn +2 -1
- data/xcmd/xlty +2 -1
- data/xcmd/xmexistq +2 -1
- data/xcmd/xmfileq +2 -1
- data/xcmd/xneq0 +2 -1
- data/xcmd/xneqnn +2 -1
- data/xcmd/xneqy +2 -1
- data/xcmd/xnn +1 -0
- data/xcmd/xtoa +2 -1
- data/xcmd/xy +2 -1
- data/xcmd/xyzalm +1 -0
- data/xlib/_xrpn_version +1 -1
- data/xlib/debug_mode +2 -18
- data/xlib/read_xcmd +4 -4
- data/xrpn.gemspec +1 -1
- metadata +3 -2
data/xlib/debug_mode
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
def debug_mode
|
2
|
-
prompt = TTY::Prompt.new
|
2
|
+
#prompt = TTY::Prompt.new
|
3
3
|
loop do
|
4
4
|
if $prompt
|
5
5
|
@line = prompt.ask(":")
|
@@ -7,23 +7,7 @@ def debug_mode
|
|
7
7
|
else
|
8
8
|
puts "─" * 30
|
9
9
|
@p.prstk
|
10
|
-
|
11
|
-
@ln = STDIN.getch
|
12
|
-
while IO.select([STDIN], [], [], 0) != nil # Flush STDIN (remove control chars)
|
13
|
-
STDIN.getch
|
14
|
-
end
|
15
|
-
if ["+", "-", "*", "/", "%"].include?(@ln)
|
16
|
-
print "\e[32m" + @ln + "\e[0m\n"
|
17
|
-
@ln = [@ln]
|
18
|
-
@line = hp_41(@ln)[0]
|
19
|
-
break
|
20
|
-
elsif @ln == "\r" # A simple ENTER
|
21
|
-
@line = "lift"
|
22
|
-
puts "\n"
|
23
|
-
break
|
24
|
-
end
|
25
|
-
print "\e[1G\e[K" # Clears from the beginning of line (removes getch prompt)
|
26
|
-
@line = prompt.ask(">", value: @ln)
|
10
|
+
@line = @debugprompt.ask(">")
|
27
11
|
unless @line == nil or @line.length == 1
|
28
12
|
@line = [@line]
|
29
13
|
@line = hp_41(@line)[0]
|
data/xlib/read_xcmd
CHANGED
@@ -3,15 +3,15 @@ def read_xcmd
|
|
3
3
|
if $gem
|
4
4
|
Dir[$gem+"/xcmd/*"].each do |file|
|
5
5
|
load file
|
6
|
-
l =
|
7
|
-
c = l
|
6
|
+
l = File.read(file)
|
7
|
+
c = l[/def .*\n/][4..-2]
|
8
8
|
$cmd.push(c)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
Dir[Dir.home+"/.xrpn/xcmd/*"].each do |file|
|
12
12
|
load file
|
13
|
-
l =
|
14
|
-
c = l
|
13
|
+
l = File.read(file)
|
14
|
+
c = l[/def .*\n/][4..-2]
|
15
15
|
$cmd.push(c)
|
16
16
|
end
|
17
17
|
$cmd.sort!
|
data/xrpn.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'xrpn'
|
3
|
-
s.version = '1.
|
3
|
+
s.version = '1.3'
|
4
4
|
s.licenses = ['Unlicense']
|
5
5
|
s.summary = "XRPN - The eXtended RPN (Reverse Polish Notation) programming language"
|
6
6
|
s.description = "A full programming language and environment extending the features of the venerable HP calculator programmable calculators. With XRPN you can accomplish a wide range of modern programming tasks as well as running existing HP-41 FOCAL programs directly. XRPN gives modern life to tens of thousands of old HP calculator programs and opens the possibilities to many, many more."
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xrpn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.3'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geir Isene
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-12-
|
11
|
+
date: 2022-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tty-prompt
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- xcmd/clx
|
94
94
|
- xcmd/cmdadd
|
95
95
|
- xcmd/cmddel
|
96
|
+
- xcmd/cmdhelp
|
96
97
|
- xcmd/correct
|
97
98
|
- xcmd/cos
|
98
99
|
- xcmd/crflas
|