Usando org-src-preserve-indentation apenas em blocos de código específicos (ou buffers, ou qualquer coisa além do contexto global, na verdade)

7

Eu tenho pesquisado no Google e pesquisado os org-babeldocumentos, mas está saindo muito pouco.

O problema é que uma das coisas em que estou trabalhando é usar org-babel para emaranhar a fonte do Makefile . Nele, a documentação declara, e eu entendo o porquê, que preciso avaliar o (setq org-src-preserve-indentation t)que tenho agora.

O problema é que não quero habilitar esse valor globalmente. Entendo que faz sentido para Python, Makefile ou outras linguagens sensíveis ao espaço em branco, mas eu realmente não quero que ele seja ativado em outro lugar. Além disso, o resultado final disso é que o arquivo organizacional final não funcionará para pessoas que não ativam o valor por padrão; portanto, o arquivo organizacional resultante é menos portátil de qualquer maneira.

Eu prefiro que se eu pudesse apenas permitir org-src-preserve-indentationem um por bloco de código base (é a digitação extra, mas eu posso viver com isso), mas mesmo uma configuração específica do tampão é aceitável. O problema é que não tenho certeza de como fazê-lo.

Eu suspeito que isso possa ser feito aproveitando como as #+HEADERconfigurações podem avaliar o código Lisp, mas isso não significa que toda vez que eu embaralhe o arquivo, ou algo assim, a configuração será mantida sempre? Prefiro não fazer isso, isso apenas torna o arquivo imprevisível de usar.

Tariq Kamal
fonte

Respostas:

5

Com base nos comentários que recebi do grupo do modo organizacional do Google+ , além de ler as variáveis ​​locais do buffer , finalmente acabei usando M-x add-file-local-variable RET org-src-preserve-indentation RET tpara finalmente adicionar esse bloco de código na parte inferior do meu arquivo organizacional:

# Local Variables:
# org-src-preserve-indentation: t
# End:

Uma vez que eu atualizar a configuração local (ie imprensa Cc nos argumentos de cabeçalho), Emacs me pergunta se eu quero usar a variável local buffer, em seguida, define org-src-preserve-indentationa tsó por esse buffer.

Isso parece resolver o problema ao meu gosto, por isso vou marcar esta pergunta como encerrada.

Tariq Kamal
fonte