xrpn 2.1 → 2.2

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: 9b24dce24109f4a7222e21c8512f6d94abc5249627b5c5fcb3c445ad3f6fd6d4
4
- data.tar.gz: c1f0dcc7aeb1b15e9f2301305069c8845b02da91fae7a955f39bf29c533835b0
3
+ metadata.gz: 5ffb9be2c7f2d0322a75cc674de598d9606afa71b467ac55e65dbef3aae512d7
4
+ data.tar.gz: 7cda743855ab4708bff10c7e12cadadbcd8484605fb2f9526805988f0a06adad
5
5
  SHA512:
6
- metadata.gz: 6f900855140a10644b1a83bfa50de31e74c2ac1468e7fc2284f698187e69538515a19744893b0f4c1d7cb3fe88a9b749628386803be304d72a99538685ecb0ed
7
- data.tar.gz: 25471831a90d05f1138baad38554922c3ef43efe7d7195313d521ed1e29665b459b67dbc94b99fa2d94360665204117684ca532836fbaed76a426d015826ac14
6
+ metadata.gz: 5bfe087a054e763f342bbe111a2e2ba9924a37719be5784e494deb6be75d3412d7f2442bdc84156dcc3a9389af69ed7a5cf42e3ba824d875ecb3f0fb04f3a3ec
7
+ data.tar.gz: f9400c2544b32edc95db3c243a6490ce4f1860a6dc9c9379042b51710845c542474053127bfd5c8cefbb2d579eaf58e01f8ed04958240b2c802a3162f0866b3e
data/bin/xrpn CHANGED
@@ -137,7 +137,12 @@ until @p.pc == @p.prg[@p.pg].length do
137
137
  read_xcmd
138
138
  elsif XRPN.method_defined?(l1.downcase) # Or execute the command with either 1 or 2 parts
139
139
  begin
140
- l2 ? ret = @p.send(l1.downcase, l2) : ret = @p.send(l1.downcase)
140
+ if @p.flg["25"] == true
141
+ @p.flg["25"] = false
142
+ unerror { l2 ? ret = @p.send(l1.downcase, l2) : ret = @p.send(l1.downcase) }
143
+ else
144
+ l2 ? ret = @p.send(l1.downcase, l2) : ret = @p.send(l1.downcase)
145
+ end
141
146
  rescue ArgumentError
142
147
  puts "Command needs an argument (#{@line})"
143
148
  exit if $exe
data/xcmd/error ADDED
@@ -0,0 +1,8 @@
1
+ class XRPN
2
+ # Clears Flag 25 (error flag)
3
+ def error
4
+ @p.flg["25"] = false
5
+ end
6
+ end
7
+
8
+ # vim:ft=ruby:
data/xcmd/unerror ADDED
@@ -0,0 +1,8 @@
1
+ class XRPN
2
+ # Sets Flag 25 (error flag)
3
+ def error
4
+ @p.flg["25"] = true
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: 2.1"
2
+ puts "XRPN version: 2.2"
3
3
  puts "RubyGem version: " + Gem.latest_spec_for("xrpn").version.to_s
4
4
  end
5
5
 
data/xlib/unerror ADDED
@@ -0,0 +1,6 @@
1
+ def unerror
2
+ begin
3
+ yield
4
+ rescue Exception
5
+ end
6
+ end
data/xrpn.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'xrpn'
3
- s.version = '2.1'
3
+ s.version = '2.2'
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 2.0: Startup speed 4X. Added command 'cmds'. 2.1: Fixed rounding overflow bug. Added : commands to access underlying Ruby."
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 2.0: Startup speed 4X. Added command 'cmds'. 2.1: Fixed rounding overflow bug. Added : commands to access underlying Ruby. 2.2: Added error exception (flag 25) with commands 'error'=CF 25 and 'unerror'=SF 25"
7
7
 
8
8
  s.authors = ["Geir Isene"]
9
9
  s.email = 'g@isene.com'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xrpn
3
3
  version: !ruby/object:Gem::Version
4
- version: '2.1'
4
+ version: '2.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
@@ -30,7 +30,8 @@ description: 'A full programming language and environment extending the features
30
30
  programs directly. XRPN gives modern life to tens of thousands of old HP calculator
31
31
  programs and opens the possibilities to many, many more. New in 2.0: Startup speed
32
32
  4X. Added command ''cmds''. 2.1: Fixed rounding overflow bug. Added : commands to
33
- access underlying Ruby.'
33
+ access underlying Ruby. 2.2: Added error exception (flag 25) with commands ''error''=CF
34
+ 25 and ''unerror''=SF 25'
34
35
  email: g@isene.com
35
36
  executables:
36
37
  - xrpn
@@ -129,6 +130,7 @@ files:
129
130
  - xcmd/end
130
131
  - xcmd/eng
131
132
  - xcmd/enter
133
+ - xcmd/error
132
134
  - xcmd/exp
133
135
  - xcmd/expx1
134
136
  - xcmd/fact
@@ -283,6 +285,7 @@ files:
283
285
  - xcmd/tone
284
286
  - xcmd/tonexy
285
287
  - xcmd/tx
288
+ - xcmd/unerror
286
289
  - xcmd/version
287
290
  - xcmd/view
288
291
  - xcmd/writefile
@@ -336,6 +339,7 @@ files:
336
339
  - xlib/setpt
337
340
  - xlib/string
338
341
  - xlib/theme
342
+ - xlib/unerror
339
343
  - xlib/xrpn_class
340
344
  - xrpn.gemspec
341
345
  homepage: https://github.com/isene/XRPN