xrpn 1.8.1 → 1.9

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: 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