У меня была такая же проблема, но я решил ее следующий:
1) Установить jdk1.8 ...
2) В AndroidStudio File-> Project Structure- > Местоположение SDK, выберите каталог, в котором находится JDK, по умолчанию Studio использует встроенный JDK, но по какой-то причине он выдает ошибку = 216.
3) Нажмите Ok.
Почему не просто используют
(replace-string "\x53979" "'")
или
(while (search-forward "\x53979" nil t)
(replace-match "'" nil t))
как рекомендуется в документации для строки замены?
который, конечно, был бы лучше с символом замены. Какой-либо способ улучшить мой код?
Это на самом деле медленно до такой степени, когда, это имеет значение? Мой elisp обычно смехотворно неэффективен, и я никогда не замечаю. (Я только использую его для инструментов редактора, хотя, YMMV, если Вы создаете следующий MS живой поиск с ним.)
Кроме того, чтение документов:
This function is usually the wrong thing to use in a Lisp program.
What you probably want is a loop like this:
(while (search-forward "’" nil t)
(replace-match "'" nil t))
Этим ответом является, вероятно, GPL, лицензируемый теперь.
А как насчет этого
(defun my-replace-smart-quotes (beg end)
"replaces ’ (the curly typographical quote, unicode hexa 2019) to ' (ordinary ascii quote)."
(interactive "r")
(save-excursion
(format-replace-strings '(("\x2019" . "'")) nil beg end)))
После того, как вы установили это в свои dotemacs, вы можете вставить примеры кодов elisp (из блогов и т. Д.) В буфер обработки данных, а затем сразу нажать CM- \ (для отступа это правильно), а затем Mx my-replace-smart-quotes (для исправления умных кавычек) и, наконец, Cx Ce (для запуска).
Я считаю, что фигурная цитата всегда шестнадцатеричная 2019, вы уверены, что это 53979 в вашем кейс? Вы можете проверять символы в буфере с помощью Cu Cx =.
Я думаю, вы можете написать «'» вместо «\ x2019» в определении my-replace-smart-quotes и все будет в порядке. Это просто на всякий случай.