Emac'lerdeki ESS/Stata modu, operatörler arasında biten satırları takip eden satırları hatalı olarak girintiler. Bu satırları çok satırlı komutlar olarak yanlış yorumluyor gibi görünüyor. Örneğinİstenmeyen EMACS sekme davranışı, ESS/Stata'da düzeltildi
:
gen foo = 1
/* generate another variable */
gen bar = 1
hattı "gen bar = 1" girintili olmamalıdır. Görünüşe göre, EMACS, yorumdaki izleyen çizgiyi bir operatör olarak yorumluyor ve bu kod satırının iki satırı kapsadığını düşünüyor.
Aslında, Stata içinde satırlı komutlar açıklamada sonunu göstermektedir 3 arka eğik çizgiler olmayan 3 arka eğik ve yeni satır bulunmaktadır. Örneğin. Aşağıdaki girinti doğru olacaktır: Ben bu davranışı düzeltmek için benim .emacs koyabilirsiniz şey
gen bar = 1
gen ///
foo = 1
var mı? Otomatik sekmeyi tamamen vazgeçmek istemiyorum -/* bunun gibi görünen yorumlar hariç her şey için çok iyi çalışıyor * /.
sayesinde
PNJ
[ 'defadvice'] (http://www.gnu.org/software/emacs/elisp/html_node/Advising-Functions.html) temiz alternatif burada olabilir. – jfs
Tyler, Kodunuzu .emac'lere kopyaladım, ancak davranış değişmedi. * Mesajlar * tamponunda hiçbir hata veya açık bir şey yok. Tanıya yardımcı olmak için yapabileceğim başka öneriler veya şeyler var mı? – pnj
Yeniden tanımlanmış işleve bir doc-string eklerseniz, 'C-h f ess-continue-statement-p' ile yüklendiğini kontrol edebilirsiniz. Doküman dizini görmüyorsanız, değiştirilen kod değerlendirilmiyor. Bu, yanlış modda belirtildiği gibi, 'load-after-load' komutuyla çalıştırılan bir şeyin var olduğunu gösterir. Yukarıdaki bir doc-string ekleyeceğim. – Tyler