aboutsummaryrefslogtreecommitdiffstats
path: root/emacs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'emacs.patch')
-rw-r--r--emacs.patch345
1 files changed, 345 insertions, 0 deletions
diff --git a/emacs.patch b/emacs.patch
new file mode 100644
index 0000000..ed1c155
--- /dev/null
+++ b/emacs.patch
@@ -0,0 +1,345 @@
+
+
+---
+ clients/emacs/bbj.el | 211 +++++++++++++++++++++++++++----------------
+ 1 file changed, 132 insertions(+), 79 deletions(-)
+
+diff --git a/clients/emacs/bbj.el b/clients/emacs/bbj.el
+index 2602ffe..626682a 100644
+--- a/clients/emacs/bbj.el
++++ b/clients/emacs/bbj.el
+@@ -135,7 +135,7 @@ or can be ommitted to send no data."
+ (condition-case nil
+ (setq json (json-read))
+ (error
+- (user-error "BBJ response error"))))
++ (user-error "Error de respuesta BBJ"))))
+
+ (case (setq error (alist-get 'error json)
+ edesc (alist-get 'description error)
+@@ -191,37 +191,37 @@ You can restore anon status on demand by using `bbj-logout'"
+ (let ((bbj-noheaders t) check done)
+ (setq bbj-user
+ (bbj-sane-value
+- "(BBJ Username)> "
++ "(Nombre de usuario BBJ)> "
+ "user_name"))
+ (cond
+ ((bbj-request! 'user_is_registered 'target_user bbj-user)
+ (if (bbj-request! 'check_auth
+ 'target_user bbj-user
+ 'target_hash (bbj-sethash))
+- (message "Logged in as %s!" bbj-user)
++ (message "¡Sesión iniciada como %s!" bbj-user)
+ (setq bbj-hash nil)
+- (if (y-or-n-p (format "Invalid credentials for %s. Try again? " bbj-user))
++ (if (y-or-n-p (format "Credenciales inválidas para %s. ¿Intentar de nuevo? " bbj-user))
+ (bbj-login)
+ (setq bbj-user nil))))
+
+- ((y-or-n-p (format "Register for BBJ as %s? " bbj-user))
++ ((y-or-n-p (format "¿Registrar en BBJ como %s? " bbj-user))
+ (while (not done)
+ (condition-case error-response
+ (let* ((init (bbj-sethash
+- (format "(Select a password for %s)> " bbj-user)))
++ (format "(Selecciona una contraseña para %s)> " bbj-user)))
+ (conf (bbj-sethash
+ (if (equal init (secure-hash 'sha256 ""))
+- "(Confirm empty password)> "
+- "(Confirm it)> "))))
++ "(Confirma contraseña vacía)> "
++ "(Confírmala)> "))))
+ (unless (equal init conf)
+- (error "Passwords do not match."))
++ (error "Las contraseñas no coinciden."))
+ (bbj-request 'user_register
+ 'user_name bbj-user
+ 'auth_hash bbj-hash)
+- (message "Registered and logged in as %s!" bbj-user)
++ (message "¡Registrado y sesión iniciada como %s!" bbj-user)
+ (setq done t))
+ (error
+- (unless (y-or-n-p (format "%s Try again? " (cadr error-response)))
++ (unless (y-or-n-p (format "%s ¿Intentar de nuevo? " (cadr error-response)))
+ (setq done t
+ bbj-user nil
+ bbj-hash nil)))))))))
+@@ -231,7 +231,7 @@ You can restore anon status on demand by using `bbj-logout'"
+ "Sets the user data back to nil so you can use BBJ as an anon"
+ (interactive)
+ (unless nomessage
+- (message "You're now set as an anon."))
++ (message "Ahora eres anónimo."))
+ (setq bbj-user "anonymous"
+ bbj-hash nil))
+
+@@ -241,7 +241,7 @@ You can restore anon status on demand by using `bbj-logout'"
+ Sets it globally and also returns it."
+ (setq bbj-hash
+ (secure-hash 'sha256 (read-from-minibuffer
+- (or prompt "(Password)> ")))))
++ (or prompt "(Contraseña)> ")))))
+
+
+ ;;;; user navigation shit. a LOT of user navigation shit. ;;;;
+@@ -345,7 +345,7 @@ just hunts for a specific text property."
+ (goto-char (point-min))
+ (when (not (setq p2
+ (bbj-next-pos (format ">>%s " id) nil 'head)))
+- (message "post %s not found" id))
++ (message "post %s no encontrado" id))
+ (goto-char (or p2 p1))
+ (recenter t)))))
+
+@@ -389,21 +389,21 @@ is sent using C-c C-c."
+ (interactive)
+ (let ((params (case bbj-buffer-type
+ (index
+- `("Composing a new thread (C-c C-c to send)"
++ `("Escribiendo nuevo hilo (C-c C-c para enviar)"
+ (lambda ()
+ (let* ((message (bbj-consume-window (current-buffer)))
+ (request (bbj-request 'thread_create
+ 'body message
+- 'title ,(bbj-sane-value "(Title)> " "title"))))
++ 'title ,(bbj-sane-value "(Título)> " "title"))))
+ (bbj-browse-index)
+- (message "thread submitted")))))
++ (message "hilo publicado")))))
+ (thread
+- `("Replying to thread (C-c C-c to send)"
++ `("Respondiendo al hilo (C-c C-c para enviar)"
+ (lambda ()
+ (let* ((message (bbj-consume-window (current-buffer)))
+ (request (bbj-request 'thread_reply
+ 'body message 'thread_id ,thread-id)))
+- (message "reply submitted")
++ (message "respuesta publicada")
+ (bbj-enter-thread ,thread-id)
+ (goto-char (point-max))
+ (bbj-point-to-post 'prev)
+@@ -415,7 +415,7 @@ is sent using C-c C-c."
+ (defun bbj-compose-in-window (title callback &rest cbargs)
+ "Create a new buffer, pop it, set TITLE as the header line, and
+ assign CALLBACK to C-c C-c."
+- (let ((buffer (get-buffer-create "BBJ: Compose")))
++ (let ((buffer (get-buffer-create "BBJ: Escribir")))
+ (pop-to-buffer buffer)
+ (with-current-buffer buffer
+ (erase-buffer)
+@@ -486,7 +486,7 @@ and renders the content in the current buffer."
+ (concat "~" (alist-get 'user_name userdata) " ")
+ 'face 'font-lock-keyword-face))
+ (insert (if (eq bbj-buffer-type 'index)
+- (propertize (format "@ %s\n%s replies; last active %s\n"
++ (propertize (format "@ %s\n%s respuestas; activo %s\n"
+ (bbj-timestring (alist-get 'created post))
+ (alist-get 'reply_count post)
+ (bbj-timestring (alist-get 'last_mod post)))
+@@ -541,61 +541,114 @@ maimed until it worked on emacs 24."
+ "Displays the help text."
+ (interactive)
+ ;; yes lets embed this shit in the source code haha epic
+- (let ((help "hi this is help pleased to meet ye 8)
+-
+-Please note the keys described below apply to thread and index buffers,
+-not this help page.
+-
+-n, j, down arrow, and spacebar all move down by a whole post.
+-p, k, up arrow, and backspace go up, again by a whole post.
+-
+-for n/p/j/k, hold shift (or use caps lock if you're into that) to scroll up or
+-down by one exactly one line. You can also use shift with the arrow keys, and
+-space/backspace, but if you are using terminal emacs, your terminal emulator may
+-not work properly with these combos.
+-
+-The normal emacs paging and cursor movement keys (besides arrows) are not
+-affected, if you are already familiar with them. C-n goes down a line, C-p goes
+-up, C-v pages down, M-v pages up. (reminder: M means alt here in Emacs lala
+-land) The keyboard's dedicated paging keys will work too.
+-
+-Open a thread with enter, or the o key.
+-
+-The make-a-post keys are c and + (the plus key). If you are in the index, it
+-will make a new thread and prompt you at the minibuffer for a title and some
+-tags. If you dont want tags, just press enter again. If you're in a thread, this
+-will begin composing a new reply.
+-
+-In the composure window, press control-c twice to fire it off to the server. If
+-you would like to discard the post, you can kill or hide this buffer using the
+-standard emacs keys. C-x 4 0 will kill the buffer and the window. C-x 0 will
+-just hide the window. C-x k RET will kill the buffer but not the window.
+-
+-In addition to the composure keys, r is bound to insert a quote element for the
+-post at point after popping a reply window. Post quotes look like >>32, that is,
+-they are two angle brackets pointing at a number. They currently dont do
+-anything special. Later versions of the client will support navigation features
+-using them. r is not required to use these: you can also type them in yourself.
+-
+-Pressing e on a post will pop a new window to edit it, given that the post is
+-yours and is not older than 24 hours. Currently this returns the html-rendered
+-output of the markdown parser, which is quite clunky and i will fix that. But
+-pressing C-c C-c will update it for everyone with the new data.
+-
+-g or f5 will reload whatever buffer you are in, thread or index. If you are in a
+-thread, it will save whatever post your cursor is positioned at. Use this to
+-check for new messages.
+-
+-q will get out of a thread and back to the index. If you're on the index, it
+-will kill that too. If you've killed the index, you can get back using the
+-command alt+x bbj-browse-index (tab completion is available)
+-
+-The command names to log in, and browse to the index are bbj-login and
+-bbj-browse-index respectively.
+-
+-Thats about it for now.
++ (let ((help "hola esta es la ayuda un gustazo 8)
++
++Ten en cuenta que las teclas descritas abajo aplican a los buffers de hilo e
++índice, no esta página de ayuda.
++
++Las teclas n, j, flecha abajo y barra espaciadora se mueven abajo un post
++entero. p, k, flecha arriba y backspace se mueven arriba, igual, un post entero.
++
++Para n/p/j/k, mantén apretado shift (o usa bloq mayús si eres de esos) para
++moverte arriba o abajo exactamente una línea. También puedes usar shift con tus
++flechas, y espacio/backspace, pero si estás usando el Emacs de terminal, tu
++emulador puede no funcionar propiamente con estos combos.
++
++El empaginado normal de emacs y las teclas de movimiento del cursor (salvo las
++flechas) no se afectan, si ya estás familiarizado con ellas. C-n baja una
++línea, C-p sube, C-v baja una página, M-v sube. (recordatorio: M significa alt
++en Emacs la la land) Las teclas de empaginado dedicadas funcionarán también.
++
++Abre un hilo con enter, o con la tecla o.
++
++Las teclas para crear posts son c y + (la tecla más). Si estás en el índice,
++hará un nuevo hilo y te enviará al minibuffer para un título y algunas
++etiquetas. Si no quieres etiquetas, solo presiona enter de nuevo. Si estás en
++un hilo, empezarás a escribir una nueva respuesta.
++
++En la ventana de escritura, presiona C-c dos veces para enviárselo al server.
++Si quieres descartar el post, puedes matar o esconder este buffer usando las
++teclas estándar de Emacs. C-x 4 0 matará el buffer y la ventana. C-x 0
++solamente esconderá la ventana. C-x k RET matará el buffer pero no la ventana.
++
++Además de las teclas para escribir, r está enlazado a insertar un elemento de
++cita para el post apuntado después de mostrar la ventana de respuesta. Las
++citas de posts se ven como >>32, esto es, son dos flechas \" mayor que\"
++apuntando a un número.
++
++Presionar e en un post hará saltar una ventana para editarla, dado que el post
++es tuyo y no tiene una edad mayor a 24 horas. Actualmente esto regresa la
++salida renderizada en HTML del parser de Markdown, que es bastante tosco y lo
++arreglaré. Pero presionar C-c C-c lo actualizará para todos con la nueva data.
++
++g o f5 recargarán cualquier buffer en el que estés, sea hilo o índice, si estás
++en un hilo, guardará cualquier post que tenga apuntado tu cursor. Úsalo para
++chequear nuevos mensajes.
++
++q sirve para salir de un hilo y volver al índice. Si estás en el índice, lo
++matará también. Si has matado el índice, puedes volver usando M-x
++bbj-browse-index (se puede autocompletar con tab)
++
++Los comandos para iniciar sesión y navegar el índice son bbj-login y
++bbj-browse-index, respectivamente.
++
++Eso es todo por ahora.
+ "))
+- (let ((buffer (get-buffer-create "BBJ: Help"))
++;hi this is help pleased to meet ye 8)
++;
++;Please note the keys described below apply to thread and index buffers,
++;not this help page.
++;
++;n, j, down arrow, and spacebar all move down by a whole post.
++;p, k, up arrow, and backspace go up, again by a whole post.
++;
++;for n/p/j/k, hold shift (or use caps lock if you're into that) to scroll up or
++;down by one exactly one line. You can also use shift with the arrow keys, and
++;space/backspace, but if you are using terminal emacs, your terminal emulator may
++;not work properly with these combos.
++
++;The normal emacs paging and cursor movement keys (besides arrows) are not
++;affected, if you are already familiar with them. C-n goes down a line, C-p goes
++;up, C-v pages down, M-v pages up. (reminder: M means alt here in Emacs lala
++;land) The keyboard's dedicated paging keys will work too.
++;
++;Open a thread with enter, or the o key.
++;
++;The make-a-post keys are c and + (the plus key). If you are in the index, it
++;will make a new thread and prompt you at the minibuffer for a title and some
++;tags. If you dont want tags, just press enter again. If you're in a thread, this
++;will begin composing a new reply.
++;
++;In the composure window, press control-c twice to fire it off to the server. If
++;you would like to discard the post, you can kill or hide this buffer using the
++;standard emacs keys. C-x 4 0 will kill the buffer and the window. C-x 0 will
++;just hide the window. C-x k RET will kill the buffer but not the window.
++;
++;In addition to the composure keys, r is bound to insert a quote element for the
++;post at point after popping a reply window. Post quotes look like >>32, that is,
++;they are two angle brackets pointing at a number. They currently dont do
++;anything special. Later versions of the client will support navigation features
++;using them. r is not required to use these: you can also type them in yourself.
++;
++;Pressing e on a post will pop a new window to edit it, given that the post is
++;yours and is not older than 24 hours. Currently this returns the html-rendered
++;output of the markdown parser, which is quite clunky and i will fix that. But
++;pressing C-c C-c will update it for everyone with the new data.
++;
++;g or f5 will reload whatever buffer you are in, thread or index. If you are in a
++;thread, it will save whatever post your cursor is positioned at. Use this to
++;check for new messages.
++;
++;q will get out of a thread and back to the index. If you're on the index, it
++;will kill that too. If you've killed the index, you can get back using the
++;command alt+x bbj-browse-index (tab completion is available)
++;
++;The command names to log in, and browse to the index are bbj-login and
++;bbj-browse-index respectively.
++;
++;Thats about it for now.
++
++ (let ((buffer (get-buffer-create "BBJ: Ayuda"))
+ (inhibit-read-only t))
+ (with-current-buffer buffer
+ (erase-buffer)
+@@ -605,7 +658,7 @@ Thats about it for now.
+ (use-local-map (copy-keymap text-mode-map))
+ (local-set-key (kbd "q") 'kill-buffer-and-window)
+ (setq header-line-format
+- "Press q or C-x 4 0 to get out. Arrows can scroll."
++ "Presiona q o C-x 4 0 para salir. Las flechas sirven para moverse."
+ buffer-read-only t))
+ (pop-to-buffer buffer)
+ (ignore-errors
+@@ -650,7 +703,7 @@ Thats about it for now.
+ (bbj-enter-thread ,thread-id)
+ (bbj-seek-post ,post-id)))))
+
+- (bbj-compose-in-window "Editing post (including html) (C-c C-c to send)" callback)
++ (bbj-compose-in-window "Editando post (incluyendo html) (C-c C-c para enviar)" callback)
+ (insert body)
+ (goto-char (point-min))))
+
+@@ -658,7 +711,7 @@ Thats about it for now.
+ (defun bbj-browse-index ()
+ (interactive)
+ (let* ((inhibit-read-only t)
+- (buffer (get-buffer-create "BBJ Index"))
++ (buffer (get-buffer-create "Índice BBJ"))
+ (response (bbj-request 'thread_index))
+ (count 0))
+ (with-current-buffer buffer
+@@ -673,7 +726,7 @@ Thats about it for now.
+ (incf count))
+ (bbj-postprocess)
+ (setq header-line-format (format
+- "%d posts. g to refresh. Control+h then spacebar for help."
++ "%d posts. g para refrescar. <C-h Espacio> para ayuda."
+ count)))
+ (switch-to-buffer buffer)
+ (setq buffer-read-only t)))
+
Un proyecto texto-plano.xyz