Secuencias de comandos de TeXstudio con llamada al sistema y "?"

Secuencias de comandos de TeXstudio con llamada al sistema y "?"

Quiero crear un script simple en texstudio, que pueda usar para buscar una palabra seleccionada en mi navegador.

Todo funciona bastante bien, excepto que no puedo ejecutar el comando de consulta correctamente.

El "?" parece ser un corte. Pero reemplazar, codificar URL, lo que sea tampoco funciona.

¿Cómo puedo codificar el "?" en la URL o hay alguna bandera que pueda probar?

Probé system() y buildManager.runCommand(), ambos hacen lo mismo en este caso.

%SCRIPT
u=encodeURI("https://ecosia.org/search?q="+cursor.selectedText())
//u=encodeURI("https://ecosia.org/search\?q="+cursor.selectedText())
//u="https://ecosia.org/search\\%3Fq="+cursor.selectedText()
//u="https://ecosia.org/search%3Fq="+cursor.selectedText()
//u="https://ecosia.org/search?q="+cursor.selectedText()
//u="https://ecosia.org/search\?q="+cursor.selectedText()
//buildManager.runCommand("\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \""+u+"\"")
system("\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \""+u+"\"")

Estas son algunas de las combinaciones que probé... pero ninguna funciona como se esperaba. El resultado en el registro se ve así:

Prozess gestartet: "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" "https://ecosia.org/search

Cualquier idea es apreciada. Gracias

Respuesta1

Encontré la respuesta yo mismo y la publicaré para aquellos que puedan estar interesados.

Mientras profundizaba en el código fuente en buildmanager.cpp:

else if (str.at(i) == QChar('?')) {
if (str.at(++i) == QChar('?')) add = "?";

Esto significa que mi script de macro funciona cuando hago esto:

%SCRIPT
u="https://ecosia.org/search??q="+cursor.selectedText()
system("\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \""+u+"\"")

Nota la "??" se convierte en "?" en la llamada al sistema. Lo mismo para % y @

Ahora puedo buscar el texto resaltado directamente. (Me deshice de urlencode, ya que no se comporta como se esperaba debido a que falta %)

información relacionada