Revisé la documentación de ambas funciones, pero no parecen arrojar mucha información. ¿Cuál es la diferencia real entre ellos además del hecho de que loades una función incorporada en el código fuente C, mientras que el archivo de carga es una función compilada de lista interactiva?
¿Cuál es la función recomendada para usar init.elya que ambos parecen estar haciendo el mismo trabajo?

M-x report-emacs-bug. Como dice @shosti, y como lo indica claramente el documento,load-file" no usaload-pathy no agrega sufijos ", para dos diferencias importantes.Respuestas:
Hay varias formas de cargar archivos Lisp en Emacs:
load-filetoma un nombre de archivo literal (relativo o absoluto) y carga el código. Ejemplo:(load-file "/usr/local/share/site-lisp/foo.el")loades comoload-file, excepto que es más flexible: puede omitir la extensión y cargará automáticamente el archivo "elc" o "el" según corresponda.También se ve en los
load-pathdirectorios.Ejemplo:
(load "foo")(si "foo.el" está en el directorio actual o en la ruta de carga ").load-libraryes una interfaz interactiva paraload.requirees similar aload, excepto que evita que el archivo se cargue más de una vez (también requiere unaprovidedeclaración correspondiente al final del archivo en cuestión). Ejemplo:(require 'foo)fuente
requireejemplo es unloadejemplo. ;-)load-fileejemplo usaload. :)loadhace mirada hacia el load-path.load-fileyload-libraryson comandos para uso interactivo (donde la diferencia principal está en el contenido inicial de la solicitud).loades la función subyacente a usar cuando escribe Elisp (como en sus .emacs).fuente