¿Qué problema puede ocurrir si la función goto-line
se utiliza en un programa elisp no interactivo? Su docstring da una advertencia que dice que:¿Por qué es "goto-line" en Emacs solo para uso interactivo?
Esta función es generalmente lo incorrecto de usar en un programa Lisp. Lo que es probable que desee en cambio, es algo así como:
(goto-char (point-min)) (forward-line (1- N))
Por otra parte, cuando intento byte-compile-file
mi archivo init incluyendo goto-line
, recibo una advertencia desagradable como esto una vez más:
.emacs:170:19:Warning: `goto-line' used from Lisp code
That command is designed for interactive use only
Es usando goto-line
en un programa no interactivo realmente tan peligroso? En relación con esto, ¿por qué es preferible la solución forward-line
sugerida?
No estoy seguro de cómo goto-line funcionaría de forma no interactiva, va a una línea en el búfer actual –
@JonLin Puede encontrar un ejemplo que no usa interactivamente 'goto-line' en [EmacsWiki: AUCTeX] (http://emacswiki.org/emacs/AUCTeX#toc20):' th-evince-sync'. – dkim
event_jr ha respondido a su pregunta como se planteó, pero aún * ¿por qué * estás tratando de hacer esto? Puede haber una mejor manera de lograr lo que realmente quieres. Además, señalaría que si el búfer se ha reducido yendo a cierta línea probablemente no vaya a hacer lo que usted cree que es. – scottfrazer