xrpn 1.8.1 → 1.9

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: b361a70885bcf614bc14cffea4083b8ea63d6d5ca5ab7e4291c9d2f03747553b
4
- data.tar.gz: 6954b5084467a0aca973067db24b17b5ed1fdc1af209bf7a375e49dec3efed3e
3
+ metadata.gz: 1af3ec05af142258d3a307d379c116cd097e76cc6d78d8952ea5eb3c91ad9e5f
4
+ data.tar.gz: 54cbf3e384d18e4aa66db8fc52e8c315bc4911d25541559a144c71420749dcef
5
5
  SHA512:
6
- metadata.gz: 16f238ac510881d457d0d54fe1cbc477a9bc29e80ac16a1e9ac60085b9c08e491e6a0cc2efcecca2e84c883f54261a9c54ae169f8b47b092c4635f73c7663e0b
7
- data.tar.gz: c8cd801cfa0b080697a4c1318d91a92e8efc15c7d59dfb702b5dec217aba75c329195911657ea7cefa8e4704e882ec4018a242f1cccba35f99664f4da6c97aa3
6
+ metadata.gz: a7b6fb839bd6d486a999b97b8b7826deb72aaac9bcd4988a4f619e12fb8c4625b20505f8b870e40a7d5d806ac5106f804982f3259a7b6aa0411b60157ba2a65c
7
+ data.tar.gz: '05718632faa6cd186110379e1383eea04cdb842684df717a253312a150680fcc3b69de0062b0eb8fc6ac9ab116ff0ee1e67e6b215fa4c24f62f287bec9ddf44f'
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")
@@ -134,19 +138,19 @@ until @p.pc == @p.prg[@p.pg].length do
134
138
  begin
135
139
  l2 ? ret = @p.send(l1.downcase, l2) : ret = @p.send(l1.downcase)
136
140
  rescue ArgumentError
137
- puts "Command needs an argument."
141
+ puts "Command needs an argument (#{@line})"
138
142
  exit if $exe
139
143
  rescue TypeError
140
- error("ERROR: Wrong type.")
144
+ error("ERROR: Wrong type (#{@line})")
141
145
  exit if $exe
142
146
  rescue ZeroDivisionError
143
- error("ERROR: Division by zero.")
147
+ error("ERROR: Division by zero (#{@line})")
144
148
  exit if $exe
145
149
  rescue FloatDomainError
146
- error("ERROR: Number out of range.")
150
+ error("ERROR: Number out of range (#{@line})")
147
151
  exit if $exe
148
152
  rescue Math::DomainError
149
- error("ERROR: Number out of domain.")
153
+ error("ERROR: Number out of domain (#{@line})")
150
154
  exit if $exe
151
155
  end
152
156
  puts ret if $debug and ret.instance_of? String
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/xlib/_xrpn_version CHANGED
@@ -1,5 +1,5 @@
1
1
  def xrpn_version
2
- puts "XRPN version: 1.8.1"
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.1'
3
+ s.version = '1.9'
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: Better error handling - especially for the rsh integration (https://github.com/isene/rsh). 1.8.1: Minor bug fix."
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' (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.1
4
+ version: '1.9'
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-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-prompt
@@ -28,10 +28,8 @@ 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: Better error handling
33
- - especially for the rsh integration (https://github.com/isene/rsh). 1.8.1: Minor
34
- bug fix.'
31
+ programs and opens the possibilities to many, many more. New in 1.9: Added functions
32
+ ''lastpage'' and ''load'' (see GitHub wiki)'
35
33
  email: g@isene.com
36
34
  executables:
37
35
  - xrpn
@@ -169,11 +167,13 @@ files:
169
167
  - xcmd/int
170
168
  - xcmd/invf
171
169
  - xcmd/isg
170
+ - xcmd/lastpage
172
171
  - xcmd/lastx
173
172
  - xcmd/lbl
174
173
  - xcmd/lift
175
174
  - xcmd/ln
176
175
  - xcmd/ln1x
176
+ - xcmd/load
177
177
  - xcmd/log
178
178
  - xcmd/mdy
179
179
  - xcmd/mean