xrpn 1.8.2 → 1.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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