xrpn 1.8.2 → 1.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 12914b57a8fff50199cbc83042b0f6c05b5647434752a8554eb4b04680b2fa48
4
- data.tar.gz: d96268b3a519d92d1c38d2e48ecd5ac2069b602850fe397194a2ec98414568e6
3
+ metadata.gz: a506c2229e1ac07680bb7885f8ee929e6fe24208070b1f6be31b13974796cb17
4
+ data.tar.gz: cc2e596c179dc3b2fe86c434d9545d71b21f505059920359e8ebf7d0f548d213
5
5
  SHA512:
6
- metadata.gz: 2c06c7454ba8b085d02ad5fb0f9d18383438b104ea68d457b62f2f56b42831e8e6228cd9028ee2c5f09d1a451febd91b53f25ec3036f2a787fe254619bac3dd8
7
- data.tar.gz: 00d0b29e11921699b5f93a670673314d65dd19c456700572fb0a5f4f7502b7069ab120a586b7f0291d065331d56e01c4535de47cf280da757cccde1dbbe540e8
6
+ metadata.gz: 8231b1b1bd0d11121da97380a52c944c932532ce67348a3587f699add4d094465cd778bfb903cccc7080c0c4e63982893c9a0e50b5ddb415f78502338975754f
7
+ data.tar.gz: 8815fa3fca80c8cf7e7210952162167d6e4ca8ed2ecbac09e6a7ca47b76d3fb57fc045d6358fb64071a80d6549bd2f0fd2fbf1e284e7325fdc49936bcb625024
data/bin/xrpn CHANGED
@@ -24,7 +24,11 @@ require 'open-uri'
24
24
  require 'json'
25
25
  require 'tty-prompt'
26
26
 
27
- $gem = Gem.latest_spec_for("xrpn").gem_dir
27
+ $gem = nil
28
+ begin
29
+ $gem = Gem.latest_spec_for("xrpn").gem_dir
30
+ rescue
31
+ end
28
32
 
29
33
  # ENSURE DIRs
30
34
  Dir.mkdir(Dir.home + "/.xrpn") unless File.exist?(Dir.home + "/.xrpn")
data/xcmd/lastpage ADDED
@@ -0,0 +1,9 @@
1
+ class XRPN
2
+ # Get the index/number of the last page
3
+ def lastpage
4
+ lift
5
+ @x = self.prg.length
6
+ end
7
+ end
8
+
9
+ # vim:ft=ruby:
data/xcmd/load ADDED
@@ -0,0 +1,8 @@
1
+ class XRPN
2
+ # Load program named in Alpha into new page
3
+ def load
4
+ self.prg[self.prg.length] = hp_41(File.read(@a).split("\n"))
5
+ end
6
+ end
7
+
8
+ # vim:ft=ruby:
data/xcmd/pprgtofile ADDED
@@ -0,0 +1,30 @@
1
+ class XRPN
2
+ # Print program
3
+ def pprgtofile
4
+ page = @pg
5
+ pos = 0
6
+ if @a != ""
7
+ pr = "\"#{@a}\""
8
+ page, pos, prgm = locate_prg (pr)
9
+ if pos == nil
10
+ puts "No such program to print #{pr}"
11
+ return
12
+ end
13
+ end
14
+ prog = ""
15
+ @prg[page].each_index do |i|
16
+ next if i < pos
17
+ prog += "#{format('%02d', i + 1)}"
18
+ if @prg[page][i].downcase.match(/lbl/)
19
+ prog += "◆"
20
+ else
21
+ prog += " "
22
+ end
23
+ prog += "#{@prg[page][i]}\n"
24
+ break if @prg[page][i] == "END"
25
+ end
26
+ File.write(@x, prog)
27
+ end
28
+ end
29
+
30
+ # vim:ft=ruby:
data/xlib/_xrpn_version CHANGED
@@ -1,5 +1,5 @@
1
1
  def xrpn_version
2
- puts "XRPN version: 1.8.2"
2
+ puts "XRPN version: 1.9"
3
3
  end
4
4
 
5
5
  # vim:ft=ruby:
data/xrpn.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'xrpn'
3
- s.version = '1.8.2'
3
+ s.version = '1.9.1'
4
4
  s.licenses = ['Unlicense']
5
5
  s.summary = "XRPN - The eXtended RPN (Reverse Polish Notation) programming language"
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. New in 1.7: Added function 'stdout' that writes content of X to STDOUT. New in 1.8.2: Better error handling - especially for the rsh integration (https://github.com/isene/rsh)"
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. New in 1.9: Added functions 'lastpage' and 'load' and also added 'pprgtofile' in version 1.9.1 (see GitHub wiki)"
7
7
 
8
8
  s.authors = ["Geir Isene"]
9
9
  s.email = 'g@isene.com'
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.8.2
4
+ version: 1.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-07 00:00:00.000000000 Z
11
+ date: 2023-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-prompt
@@ -28,9 +28,9 @@ description: 'A full programming language and environment extending the features
28
28
  the venerable HP calculator programmable calculators. With XRPN you can accomplish
29
29
  a wide range of modern programming tasks as well as running existing HP-41 FOCAL
30
30
  programs directly. XRPN gives modern life to tens of thousands of old HP calculator
31
- programs and opens the possibilities to many, many more. New in 1.7: Added function
32
- ''stdout'' that writes content of X to STDOUT. New in 1.8.2: Better error handling
33
- - especially for the rsh integration (https://github.com/isene/rsh)'
31
+ programs and opens the possibilities to many, many more. New in 1.9: Added functions
32
+ ''lastpage'' and ''load'' and also added ''pprgtofile'' in version 1.9.1 (see GitHub
33
+ wiki)'
34
34
  email: g@isene.com
35
35
  executables:
36
36
  - xrpn
@@ -168,11 +168,13 @@ files:
168
168
  - xcmd/int
169
169
  - xcmd/invf
170
170
  - xcmd/isg
171
+ - xcmd/lastpage
171
172
  - xcmd/lastx
172
173
  - xcmd/lbl
173
174
  - xcmd/lift
174
175
  - xcmd/ln
175
176
  - xcmd/ln1x
177
+ - xcmd/load
176
178
  - xcmd/log
177
179
  - xcmd/mdy
178
180
  - xcmd/mean
@@ -201,6 +203,7 @@ files:
201
203
  - xcmd/pow
202
204
  - xcmd/pprg
203
205
  - xcmd/pprg1
206
+ - xcmd/pprgtofile
204
207
  - xcmd/pprgx
205
208
  - xcmd/pra
206
209
  - xcmd/prflags