anon-iclr-submission/benchname-bug-localization huggingface dataset:
Repository: pymeasure/pymeasure
Issue: recent changes break MKS937B check_set_errors

It was previously ok that `check_errors` returns `None` (or nothing) as for example in [MKS937B](https://github.com/pymeasure/pymeasure/blob/68f5487b0837e9f3c5debd144a7ddfeb7bddf3e5/pymeasure/instruments/mksinst/mks937b.py#L150).

Recently it got mandatory that the `check_set_errors` and `check_get_errors` return lists. This is correctly documented and some existing devices were also changed -> 1214d32.
`MKS937B` it seems was overlooked. 

https://github.com/pymeasure/pymeasure/blob/68f5487b0837e9f3c5debd144a7ddfeb7bddf3e5/pymeasure/instruments/mksinst/mks937b.py#L150-L162

Is the only change needed here to return an empty list upon no error?


Changed files:
tests/instruments/mksinst/test_mks937b.py, pymeasure/instruments/mksinst/mks937b.py

diff --git a/pymeasure/instruments/mksinst/mks937b.py b/pymeasure/instruments/mksinst/mks937b.py
index ab2265ab..9a752cf9 100644
--- a/pymeasure/instruments/mksinst/mks937b.py
+++ b/pymeasure/instruments/mksinst/mks937b.py
@@ -155,7 +155,8 @@ class MKS937B(Instrument):
         reply = self._re_response.search(ret)
         if reply:
             if reply.group('ack') == 'ACK':
-                return
+                self._check_extra_termination()
+                return []
         # no valid acknowledgement message found
         raise ValueError(f"invalid reply '{ret}' found in check_errors")
 
diff --git a/tests/instruments/mksinst/test_mks937b.py b/tests/instruments/mksinst/test_mks937b.py
index 4c9ea23a..385b625d 100644
--- a/tests/instruments/mksinst/test_mks937b.py
+++ b/tests/instruments/mksinst/test_mks937b.py
@@ -57,8 +57,18 @@ def test_ion_gauge_status_invalid_channel():
             inst.ch_2.ion_gauge_status
 
 
-def test_unit():
-    """Verify the communication of the voltage getter."""
+def test_unit_setter():
+    """Verify the communication of the unit setter."""
+    with expected_protocol(
+        MKS937B,
+        [("@253U!TORR", "@253ACKTORR"),
+         (None, b"FF")],
+    ) as inst:
+        inst.unit = "Torr"
+
+
+def test_unit_getter():
+    """Verify the communication of the unit getter."""
     with expected_protocol(
         MKS937B,
         [("@253U?", "@253ACKTORR"),
@@ -68,7 +78,7 @@ def test_unit():
 
 
 def test_power_enabled():
-    """Verify the communication of the voltage getter."""
+    """Verify the communication of the channel power getter."""
     with expected_protocol(
         MKS937B,
         [("@253CP1?", "@253ACKON"),
Repository: pymeasure/pymeasure
Issue: Python 3.8 incompatibility

I have just found that the line below gives an error with python 3.8.
https://github.com/pymeasure/pymeasure/blob/ead6fe5033872a0e9243c2f270ea95b6fe2fded4/pymeasure/display/widgets/plot_frame.py#L73

Possibly this dictionary 'oring' has been introduced in a subsequent version of python (3.9 is OK for example).


Changed files:
pymeasure/display/widgets/plot_frame.py

diff --git a/pymeasure/display/widgets/plot_frame.py b/pymeasure/display/widgets/plot_frame.py
index e6b422bf..6460cac1 100644
--- a/pymeasure/display/widgets/plot_frame.py
+++ b/pymeasure/display/widgets/plot_frame.py
@@ -70,7 +70,7 @@ class PlotFrame(QtWidgets.QFrame):
 
         self.plot = self.plot_widget.getPlotItem()
 
-        style = dict(self.LABEL_STYLE | {'justify': 'right'})
+        style = dict(self.LABEL_STYLE, justify='right')
         if "font-size" in style:  # LabelItem wants the size as 'size' rather than 'font-size'
             style["size"] = style.pop("font-size")
         self.coordinates = pg.LabelItem("", parent=self.plot, **style)
Repository: pymeasure/pymeasure
Issue: report code error found within Instrument.py, while Measuring with Keithley 6517B Electrometer

This is the basic code

`pAmeter=Keithley6517B('ASRL6::INSTR')
id=pAmeter.id
print(id)
#pAmeter.reset()
df=pAmeter.measure_current(0.1,1.05e-11)
sleep(0.1)
a=pAmeter.current
print(a)`

Type error see below:

> KEITHLEY INSTRUMENTS INC.,MODEL 6517B,4402161,A13/700x
Traceback (most recent call last):
  File "path\\to\\file/pAmeter_6517B_test.py", line 24, in <module>
    a=pAmeter.current
  File "path\\to\\python\\lib\\site-packages\\pymeasure\\instruments\\instrument.py", line 233, in fget
    return get_process(vals)
TypeError: extract_value() missing 1 required positional argument: 'result'

Correction
###  in instrument.py line 233, 
the return of method fget() should be:
`return get_process(self,vals)`  instead of `return get_process(vals)`

I hope this issure will be fixed soon^OO^


Changed files:
pymeasure/instruments/keithley/keithley6517b.py

diff --git a/pymeasure/instruments/keithley/keithley6517b.py b/pymeasure/instruments/keithley/keithley6517b.py
index 8dd931be..d0b5e37a 100644
--- a/pymeasure/instruments/keithley/keithley6517b.py
+++ b/pymeasure/instruments/keithley/keithley6517b.py
@@ -66,7 +66,8 @@ class Keithley6517B(Instrument, KeithleyBuffer):
         cast=bool
     )
 
-    def extract_value(self, result):
+    @staticmethod
+    def extract_value(result):
         """ extracts the physical value from a result object returned
             by the instrument """
         m = re.fullmatch(r'([+\\-0-9E.]+)[A-Z]{4}', result[0])