Glfw: рдЪрдпрдиреЛрдВ рдХреЗ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдЕрдкреНрд░реИрд▓ 2014  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: glfw/glfw

рдЖрдк рдкрд░реАрдХреНрд╖рдг рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдРрдк рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд░реАрдкреНрд░реЛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рдПрдХ рдЬрдВрдХ рдлрд╛рдЗрд▓ рд╣реИ , рдЗрд╕реЗ рд╕рднреА рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдорд┐рд▓реЗрдЧрд╛:

Error: X11: Failed to convert selection to string
Clipboard does not contain a string

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдЦреБрдж рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХреБрдЫ рдЕрдиреБрднрд╡ рдХрд┐рд╕реА рдФрд░ рдХрд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ ICCCM рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ INCR рдкрд░рдорд╛рдгреБ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВрдЧреЗ:

рдиреАрдЪреЗ, рдЬрдм _glfwPlatformGetClipboardString рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрд╣рд╛рдВ X11 рдмрд╣реБрдд рдЙрджрд╛рд╕ рд╣реЛ рдЧрдпрд╛ рд╣реИ:

if (_glfwGetWindowPropertyX11(event.xselection.requestor,
                              event.xselection.property,
                              event.xselection.target,
                              (unsigned char**) &data))
    _glfw.x11.clipboardString = strdup(data);

рдФрд░ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо event.xselection.target UTF8_STRING event.xselection.target рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЬрдм рд╣рдо рдЪрдпрди рд╕реНрд╡рд╛рдореА рдХреЗ рдЕрдзрд┐рдХрддрдо рдЕрдиреБрдордд рдПрдХрд▓-рдмреИрдЪ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдЖрдХрд╛рд░ (262146 рдмрд╛рдЗрдЯреНрд╕) рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рджреЗрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ)ред рдЪрдпрди рд╕реНрд╡рд╛рдореА рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ actualType INCR рдЬреЛ рдХрд┐ рдЕрдиреБрд░реЛрдзрд┐рдд рдкреНрд░рдХрд╛рд░ UTF8_STRING ред рдорд╛рд▓рд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдХрдИ XGetWindowProperty s рдореЗрдВ UTF8_STRING s рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ ICCCM рд╕рд┐рдлрд╛рд░рд┐рд╢ "INCR рдкреНрд░реЙрдкрд░реНрдЯреАрдЬ" рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:

  1. INCR -atom рдХреЗ рд╕рд╛рде XInternAtom рдЙрджрд╛ рдЬреИрд╕реЗ INCR_STRING рд╕рд╛рде рдПрдХ рд╣реИрдВрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  2. _glfwGetWindowPropertyX11 рдЕрдЧрд░ рд╣рдореЗрдВ actualType INCR_STRING , рдпрджрд┐ рдРрд╕рд╛ рд╣реИ:
    рдХ) INCR_STRING XGetWindowProperty рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕рдореЗрдВ рдПрдХ рдХрдо рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдмрд╛рдзреНрдп рд╣реИред
    рдЦ) рдЗрд╕ INCR_STRING рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рддрд╛рдХрд┐ рдорд╛рд▓рд┐рдХ рд╣рдореЗрдВ рдЕрдЪреНрдЫреА рдЪреАрдЬреЗрдВ рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗрдВред
    рдЧ) рдкреВрд░реНрдг рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдХреЗ рд╕рдВрдХреЗрдд PropertyNotify рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред
    d) XGetWindowProperty рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрдВрдХ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕реЗ рдПрдХ рдмрдлрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
    рдИ) рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд╛рдВрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐, рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рд╕реНрд╡рд╛рдореА рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
    рдЪ) рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░ рд╢реВрдиреНрдп рд╣реИ, рдпрджрд┐ рд▓реВрдк рдмреИрдХ рдЯреВ рд╕реА рдирд╣реАрдВ рд╣реИред
    g) рдкреВрд░реНрдг рд╕реНрдерд╛рдирд╛рдВрддрд░рдг, рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреВрд░рд╛ рдбреЗрдЯрд╛ рд╣реИ!

рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЪрдпрдиреЛрдВ рдХрд╛ рдПрдХ рдЖрдзрд╛-рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ред
рдпрд╣рд╛рдБ рдХреБрдЫ рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗ:

  • ICCCM "INCR рдЧреБрдг" рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ GLFW рдХреЛ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдкрд░ рдХреИрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред
  • рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЪрдпрди рдорд╛рдирдХ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП XGetWindowProperty рд╕рдВрджрд░реНрдн рдХрд╛ рдХрд╛рдлреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • emacs / xselect.c: IC_M рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдореИрдВ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GLFW рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╕реНрд╡рдпрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: UTF8_STRING

рдореИрдВ рдЦреБрдж рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХреБрдЫ рдЕрдиреБрднрд╡ рдХрд┐рд╕реА рдФрд░ рдХрд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ ICCCM рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ INCR рдкрд░рдорд╛рдгреБ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВрдЧреЗ:

рдиреАрдЪреЗ, рдЬрдм _glfwPlatformGetClipboardString рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрд╣рд╛рдВ X11 рдмрд╣реБрдд рдЙрджрд╛рд╕ рд╣реЛ рдЧрдпрд╛ рд╣реИ:

if (_glfwGetWindowPropertyX11(event.xselection.requestor,
                              event.xselection.property,
                              event.xselection.target,
                              (unsigned char**) &data))
    _glfw.x11.clipboardString = strdup(data);

рдФрд░ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо event.xselection.target UTF8_STRING event.xselection.target рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЬрдм рд╣рдо рдЪрдпрди рд╕реНрд╡рд╛рдореА рдХреЗ рдЕрдзрд┐рдХрддрдо рдЕрдиреБрдордд рдПрдХрд▓-рдмреИрдЪ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдЖрдХрд╛рд░ (262146 рдмрд╛рдЗрдЯреНрд╕) рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рджреЗрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ)ред рдЪрдпрди рд╕реНрд╡рд╛рдореА рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ actualType INCR рдЬреЛ рдХрд┐ рдЕрдиреБрд░реЛрдзрд┐рдд рдкреНрд░рдХрд╛рд░ UTF8_STRING ред рдорд╛рд▓рд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдХрдИ XGetWindowProperty s рдореЗрдВ UTF8_STRING s рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ ICCCM рд╕рд┐рдлрд╛рд░рд┐рд╢ "INCR рдкреНрд░реЙрдкрд░реНрдЯреАрдЬ" рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:

  1. INCR -atom рдХреЗ рд╕рд╛рде XInternAtom рдЙрджрд╛ рдЬреИрд╕реЗ INCR_STRING рд╕рд╛рде рдПрдХ рд╣реИрдВрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  2. _glfwGetWindowPropertyX11 рдЕрдЧрд░ рд╣рдореЗрдВ actualType INCR_STRING , рдпрджрд┐ рдРрд╕рд╛ рд╣реИ:
    рдХ) INCR_STRING XGetWindowProperty рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕рдореЗрдВ рдПрдХ рдХрдо рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдмрд╛рдзреНрдп рд╣реИред
    рдЦ) рдЗрд╕ INCR_STRING рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рддрд╛рдХрд┐ рдорд╛рд▓рд┐рдХ рд╣рдореЗрдВ рдЕрдЪреНрдЫреА рдЪреАрдЬреЗрдВ рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗрдВред
    рдЧ) рдкреВрд░реНрдг рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдХреЗ рд╕рдВрдХреЗрдд PropertyNotify рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред
    d) XGetWindowProperty рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрдВрдХ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕реЗ рдПрдХ рдмрдлрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
    рдИ) рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд╛рдВрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐, рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рд╕реНрд╡рд╛рдореА рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
    рдЪ) рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░ рд╢реВрдиреНрдп рд╣реИ, рдпрджрд┐ рд▓реВрдк рдмреИрдХ рдЯреВ рд╕реА рдирд╣реАрдВ рд╣реИред
    g) рдкреВрд░реНрдг рд╕реНрдерд╛рдирд╛рдВрддрд░рдг, рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреВрд░рд╛ рдбреЗрдЯрд╛ рд╣реИ!

рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЪрдпрдиреЛрдВ рдХрд╛ рдПрдХ рдЖрдзрд╛-рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ред
рдпрд╣рд╛рдБ рдХреБрдЫ рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗ:

  • ICCCM "INCR рдЧреБрдг" рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ GLFW рдХреЛ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдкрд░ рдХреИрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред
  • рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЪрдпрди рдорд╛рдирдХ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП XGetWindowProperty рд╕рдВрджрд░реНрдн рдХрд╛ рдХрд╛рдлреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • emacs / xselect.c: IC_M рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдореИрдВ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред

рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡рд░реНрдгрди рд╣реИ! рдпрд╣ рдереЛрдбрд╝рд╛ рдмреЗрддреБрдХрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рд╣реИрдВред

рдореИрдВрдиреЗ рджреЛ рджрд┐рди рдкрд╣рд▓реЗ INCR рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдкрдврд╝рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде STRING / рд▓реИрдЯрд┐рди -1 рд╕реЗ рд░реВрдкрд╛рдВрддрд░рдг рднреА рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд░рд╛рд╢рд╛ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХреНрд╖рдг рдерд╛ рдЬрдм рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ INCR, MULTIPLE рдФрд░ STRING рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рд╕рдВрдпреЛрдЬрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рдкреБрдирд░реНрдЧрдарди рдХреНрд░рдо рдореЗрдВ рд╣реИ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╕рдлрд╛рдИ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЭрд╛рдВрдХрдирд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдЕрднреА selection-fixes рд╢рд╛рдЦрд╛ рдореЗрдВ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПред

рдореБрдЭреЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓рд▓рд┐рдд рдХреЛрдб рд░рдЦреЗ рд╣реИрдВ рдЬреЛ рд╢рд░реНрдордирд╛рдХ рд╕рдордп рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдЗрд╕ рдмреАрдЪ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХреГрдкрдпрд╛ рдХрд░реЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕