unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#40914: 27.0.91; erc send is failing on pretest
@ 2020-04-27 22:22 Andrés Ramírez
  2020-04-28  9:10 ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Andrés Ramírez @ 2020-04-27 22:22 UTC (permalink / raw)
  To: 40914


Hi. When connecting to irc And pressing return for sending this string:
--8<---------------cut here---------------start------------->8---
"Hi Guys. Ethernet connection drops from time to time. Has anyone
experienced this behaviour before?"
--8<---------------cut here---------------end--------------->8---

I am getting this Backtrace.
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (wrong-type-argument listp utf-8)
  erc-split-line("Hi Guys. Ethernet connection drops from time to ti...")
  #f(compiled-function (line) #<bytecode 0x985e39>)("Hi Guys. Ethernet connection drops from time to ti...")
  mapc(#f(compiled-function (line) #<bytecode 0x985e39>) ("Hi Guys. Ethernet connection drops from time to ti..."))
  erc-send-input("Hi Guys. Ethernet connection drops from time to ti...")
  erc-send-current-line()
  funcall-interactively(erc-send-current-line)
  call-interactively(erc-send-current-line nil nil)
  command-execute(erc-send-current-line)
--8<---------------cut here---------------end--------------->8---

BTW. Same works on 26.3.
AR


In GNU Emacs 27.0.91 (build 1, armv7l-unknown-linux-gnueabihf, X toolkit, Xaw3d scroll bars)
Windowing system distributor 'The X.Org Foundation', version 11.0.12099001
System Description: Arch Linux ARM

Recent messages:
chacrape/erc-connect
Decrypting /home/olla/.netrc.gpg...done
Connecting to irc.freenode.net:6667... 
Logging in as `sunshavi'...
Logging in as ‘sunshavi’... done
ERC: irc.freenode.net:6667: <sunshavi> has changed mode for sunshavi to +i
Decrypting /home/olla/.authinfo.gpg...done
Entering debugger...
Quit
Making completion list...

Configured using:
 'configure '--program-transform-name=s/^ctags$/ctags.emacs/'
 --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/usr/share --with-x-toolkit=lucid
 --mandir=/usr/share/man --pdfdir=/usr/share/doc/emacs --with-modules
 --with-xft --without-gconf --without-gsettings --with-imagemagick
 --without-xwidgets --without-pop --with-gameuser=:games
 --disable-build-details 'CFLAGS=-march=armv7-a -mfloat-abi=hard
 -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector-strong -fno-plt'
 CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GLIB NOTIFY
INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON
PDUMPER LCMS2 GMP

Important settings:
  value of $LC_COLLATE: C
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Debugger

Minor modes in effect:
  erc-list-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-button-mode: t
  erc-netsplit-mode: t
  display-time-mode: t
  which-function-mode: t
  savehist-mode: t
  show-paren-mode: t
  erc-networks-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec gnus-util rmail rmail-loaddefs text-property-search
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils help-fns radix-tree cl-print debug backtrace help-mode
erc-list erc-ring erc-pcomplete erc-button browse-url wid-edit
erc-netsplit rot13 disp-table epa-file epa epg epg-config misearch
multi-isearch add-log my-noexternals server time org-wl org ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint
org-pcomplete pcomplete comint ansi-color org-list org-faces
org-entities time-date noutline outline org-version ob-emacs-lisp
ob-core ob-eval org-table ol org-keys org-compat org-macs org-loaddefs
find-func cal-menu calendar cal-loaddefs sm-c-mode derived pcase smie
netrc ace-window avy ring god-mode emms-get-lyrics mbsync rx
my-misc-setup ido which-func savehist paren vc-git diff-mode easy-mmode
em-alias esh-mode esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util my-erc-setup erc-services erc-networks
erc-track erc-match erc-sasl cl erc-menu erc-join erc-fill erc-stamp
erc-goodies erc erc-backend erc-compat format-spec auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map
seq byte-opt gv bytecomp byte-compile cconv pp erc-loaddefs
my-defuns-setup imenu thingatpt info-look info google-c-style gtags
cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs edmacro kmacro cl-loaddefs cl-lib jka-compr
advice lemacs-public tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame minibuffer cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads dbusbind
inotify lcms2 dynamic-setting font-render-setting x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 8 221078 132580)
 (symbols 24 21597 1)
 (strings 16 69970 5000)
 (string-bytes 1 2292424)
 (vectors 8 31494)
 (vector-slots 4 370002 110490)
 (floats 8 125 604)
 (intervals 28 1649 0)
 (buffers 576 22))





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#40914: 27.0.91; erc send is failing on pretest
  2020-04-27 22:22 bug#40914: 27.0.91; erc send is failing on pretest Andrés Ramírez
@ 2020-04-28  9:10 ` Eli Zaretskii
  2020-04-28 15:48   ` andrés ramírez
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2020-04-28  9:10 UTC (permalink / raw)
  To: Andrés Ramírez; +Cc: 40914

> From: Andrés Ramírez <rrandresf@gmail.com>
> Date: Mon, 27 Apr 2020 22:22:17 +0000
> 
> Hi. When connecting to irc And pressing return for sending this string:
> --8<---------------cut here---------------start------------->8---
> "Hi Guys. Ethernet connection drops from time to time. Has anyone
> experienced this behaviour before?"
> --8<---------------cut here---------------end--------------->8---
> 
> I am getting this Backtrace.
> --8<---------------cut here---------------start------------->8---
> Debugger entered--Lisp error: (wrong-type-argument listp utf-8)
>   erc-split-line("Hi Guys. Ethernet connection drops from time to ti...")
>   #f(compiled-function (line) #<bytecode 0x985e39>)("Hi Guys. Ethernet connection drops from time to ti...")
>   mapc(#f(compiled-function (line) #<bytecode 0x985e39>) ("Hi Guys. Ethernet connection drops from time to ti..."))
>   erc-send-input("Hi Guys. Ethernet connection drops from time to ti...")
>   erc-send-current-line()
>   funcall-interactively(erc-send-current-line)
>   call-interactively(erc-send-current-line nil nil)
>   command-execute(erc-send-current-line)
> --8<---------------cut here---------------end--------------->8---

I cannot reproduce this, so I guess this is triggered by something
specific in your environment.

What does the following yield in a session that fails like this?

  M-: (erc-coding-system-for-target nil) RET






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#40914: 27.0.91; erc send is failing on pretest
  2020-04-28  9:10 ` Eli Zaretskii
@ 2020-04-28 15:48   ` andrés ramírez
  2020-04-28 16:10     ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: andrés ramírez @ 2020-04-28 15:48 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 40914

Hi Eli.
>>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:


[...]


    Eli> I cannot reproduce this, so I guess this is triggered by
    Eli> something specific in your environment.

My enviroment is going to be shared below.

    Eli> What does the following yield in a session that fails like
    Eli> this?

    Eli>   M-: (erc-coding-system-for-target nil) RET

--8<---------------cut here---------------start------------->8---
utf-8
--8<---------------cut here---------------end--------------->8---

It is needed a couple of files. file 1:
--8<---------------cut here---------------start------------->8---
;-*- mode: emacs-lisp; encoding: utf-8; -*-
(require 'erc nil 'nonil4noerror)

(when (fboundp 'erc)
  (require 'erc-fill)
  (require 'erc-join)             ; autojoin support is implemented by erc-join.el
  (require 'erc-menu)
					;(require 'erc-sasl)
  (require 'erc-sasl "~/.emacs.d/lisp/erc-sasl.el" 'nonil4noerror)

  (when (boundp 'erc-sasl-server-regexp-list)
    (add-to-list 'erc-sasl-server-regexp-list "irc\\.freenode\\.net")
    )
  (erc-fill-mode t)
 
 (erc-autojoin-enable)           ; enable channel autojoin support, by default
  (setq
   erc-autojoin-channels-alist '(("freenode.net"
                                  ))
   erc-autojoin-timing 'ident
   erc-fill-function 'erc-fill-static
   erc-lurker-hide-list '("JOIN" "PART" "QUIT")
   erc-lurker-threshold-time 43200
                                        ;erc-prompt-for-nickserv-password nil)
   erc-server-reconnect-attempts 5
   erc-server-reconnect-timeout 3
   )

  (setq
   erc-nick-uniquifier "_"
   erc-kill-queries-on-quit t
   erc-server-coding-system (quote utf-8)
   )

  ;; check channels
  (erc-track-mode t)
  (setq erc-track-exclude-types '("JOIN" "NICK" "PART" "QUIT" "MODE" ))

  ;; don't show any of this
  (setq erc-hide-list '("JOIN" "PART" "QUIT" "NICK"))

  (require 'erc-services)

					; http://emacswiki.org/emacs/ErcChannelTracking
  (setq erc-format-query-as-channel-p t
        erc-track-priority-faces-only 'all
        erc-track-faces-priority-list '(erc-error-face
                                        erc-current-nick-face
                                        erc-keyword-face
                                        erc-nick-msg-face
                                        erc-direct-msg-face
                                        erc-dangerous-host-face
                                        erc-notice-face
                                        erc-prompt-face))
  (defun chacrape/erc-connect ()
    "Connect to IM networks using sasl on n800 do this from terminal."
    (interactive)
    (progn
					; could not connect to here cos of sasl
      (erc-select :server "irc.freenode.net" :port 6667 :nick "inka" :password "mypwd")
      )
    )

  ;; notify me when someone mentions me (4 now just 4 maemo n800)
  (require 'erc-match)
  (setq erc-keywords '("n800" "n900" "emacs" "h3" "mesa" "lima" "mali"))
  (setq erc-pals '("pal1" "pal1"))
	
  (erc-match-mode 1)
  (defun erc-global-notify (matched-type nick msg)
    (interactive)
    (let (
          (previous-content)
          )    

      (when (and (eq matched-type 'current-nick)
                 (not (string-match "^NickServ" nick))
                 (not (string-match "^[sS]erver" nick))
                                        ;(not (string-match "^.*has changed mode for .*" nick)) ;this line is not working
                 (not (string-match (format "^%s!" (erc-current-nick)) nick)))
                                        ;(pushover-notify (concat "ERC: " (buffer-name)) (concat "<" (car (split-string nick "!")) "> " message))
        
        (if (string-match "arm" system-configuration)
            (shell-command-to-string  "if  which espeak  > /dev/null 2>&1 ; then espeak -v es --stdout message\ message | gst-launch-1.0 -v fdsrc ! wavparse ! audioconvert ! autoaudiosink; fi")
          (noemacswiki/espeak "new message "))
        (setq previous-content (with-temp-buffer "ERC Notifications"
                                                 (buffer-string)))
        (display-message-or-buffer (concat "ERC: " (buffer-name) ": <" (car (split-string nick "!")) "> " previous-content msg) "ERC Notifications")
        )
      )
    )
  (add-hook 'erc-text-matched-hook 'erc-global-notify)

  ;;overwrite for sasl
  (defun erc-login ()
    "Perform user authentication at the IRC server."
    (erc-log (format "login: nick: %s, user: %s %s %s :%s"
		     (erc-current-nick)
		     (user-login-name)
		     (or erc-system-name (system-name))
		     erc-session-server
		     erc-session-user-full-name))
    (if erc-session-password
	(erc-server-send (format "PASS %s" erc-session-password))
      (message "Logging in without password"))
    (when (and (featurep 'erc-sasl) (erc-sasl-use-sasl-p))
      (erc-server-send "CAP REQ :sasl"))
    (erc-server-send (format "NICK %s" (erc-current-nick)))
    (erc-server-send
     (format "USER %s %s %s :%s"
	     ;; hacked - S.B.
	     (if erc-anonymous-login erc-email-userid (user-login-name))
	     "0" "*"
	     erc-session-user-full-name))
    (erc-update-mode-line))

  (provide 'my-erc-setup)
  )
--8<---------------cut here---------------end--------------->8---

file 2 comes from
{https://gitlab.com/psachin/erc-sasl/-/blob/master/erc-sasl.el}. It is
the one referenced by emacswiki.

Launch emacs with:
emacs -Q
M-x load-file erc-sasl.el
M-x find-file  file 1. 
 Change user and password on funct chacrape/erc-connect
M-x eval-buffer  from file 1. 
M-x toggle-debug-on-error
M-x chacrape/erc-connect
M-x erc-join-channel "any". type hi and press Return key; *Backtrace* should appear.

Best Regards







^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#40914: 27.0.91; erc send is failing on pretest
  2020-04-28 15:48   ` andrés ramírez
@ 2020-04-28 16:10     ` Eli Zaretskii
  2020-04-28 17:03       ` andrés ramírez
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2020-04-28 16:10 UTC (permalink / raw)
  To: andrés ramírez; +Cc: 40914

> From: andrés ramírez <rrandresf@gmail.com>
> Cc: 40914@debbugs.gnu.org
> Date: Tue, 28 Apr 2020 15:48:32 +0000
> 
>     Eli> What does the following yield in a session that fails like
>     Eli> this?
> 
>     Eli>   M-: (erc-coding-system-for-target nil) RET
> 
> --8<---------------cut here---------------start------------->8---
> utf-8
> --8<---------------cut here---------------end--------------->8---

That's the problem.  The question is: how did that happen?

And here's the answer:

>   (setq
>    erc-nick-uniquifier "_"
>    erc-kill-queries-on-quit t
>    erc-server-coding-system (quote utf-8)
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

So does the patch below fix the problem?

diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el
index 0e3495e..526e854 100644
--- a/lisp/erc/erc-backend.el
+++ b/lisp/erc/erc-backend.el
@@ -466,7 +466,8 @@ erc-split-line
 The length is specified in `erc-split-line-length'.
 
 Currently this is called by `erc-send-input'."
-  (let ((charset (car (erc-coding-system-for-target nil))))
+  (let* ((coding (erc-coding-system-for-target nil))
+         (charset (if (consp coding) (car coding) coding)))
     (with-temp-buffer
       (insert longline)
       ;; The line lengths are in octets, not characters (because these





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#40914: 27.0.91; erc send is failing on pretest
  2020-04-28 16:10     ` Eli Zaretskii
@ 2020-04-28 17:03       ` andrés ramírez
  2020-04-28 17:25         ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: andrés ramírez @ 2020-04-28 17:03 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 40914

Hi Eli.
>>>>> "Eli" == Eli Zaretskii <eliz@gnu.org> writes:


[...]


    Eli> So does the patch below fix the problem?


[...]


Yes Eli. It has fixed It.

Thanks. Best Regards





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#40914: 27.0.91; erc send is failing on pretest
  2020-04-28 17:03       ` andrés ramírez
@ 2020-04-28 17:25         ` Eli Zaretskii
  0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2020-04-28 17:25 UTC (permalink / raw)
  To: andrés ramírez; +Cc: 40914-done

> From: andrés ramírez <rrandresf@gmail.com>
> Cc: 40914@debbugs.gnu.org
> Date: Tue, 28 Apr 2020 17:03:06 +0000
> 
>     Eli> So does the patch below fix the problem?
> 
> 
> [...]
> 
> 
> Yes Eli. It has fixed It.

Thanks, pushed to the emacs-27 branch.





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-04-28 17:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-27 22:22 bug#40914: 27.0.91; erc send is failing on pretest Andrés Ramírez
2020-04-28  9:10 ` Eli Zaretskii
2020-04-28 15:48   ` andrés ramírez
2020-04-28 16:10     ` Eli Zaretskii
2020-04-28 17:03       ` andrés ramírez
2020-04-28 17:25         ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).