Yes, thats because of two problems
1. display_selection is a std_logic_vector, and there are no standard definitions for + in vhdl 1993 (there is in 2008 if you include numeric_std_unsigned). Redeclare display_selection as unsigned
2. there is no definition for unsigned + std_logic, only unsigned + integer and unsigned + unsigned. So you either need:
display_selection + 1; -- unsigned + integer
or
display_selection + to_unsigned(1, 1); -- converts integer 1 to unsigned with 1 bit length - unsigned + unsigned.