GNU bug report logs - #70356
30.0.50; [wishlist] Expose UTF-8 parse error to Lisp

Previous Next

Package: emacs;

Reported by: Michael Albinus <michael.albinus <at> gmx.de>

Date: Fri, 12 Apr 2024 16:00:02 UTC

Severity: wishlist

Tags: notabug

Found in version 30.0.50

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 70356 in the body.
You can then email your comments to 70356 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#70356; Package emacs. (Fri, 12 Apr 2024 16:00:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Albinus <michael.albinus <at> gmx.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 12 Apr 2024 16:00:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; [wishlist] Expose UTF-8 parse error to Lisp
Date: Fri, 12 Apr 2024 17:59:08 +0200
json_parse_string checks for a valid UTF-8 byte sequence, and raises an
error in case of. It would be useful, if this error handling would be
exposed to Lisp. For example, it could be used to check a D-Bus
byte-array for proper UTF-8 syntax in dbus-byte-array-to-string.


In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.41, cairo version 1.18.0) of 2024-04-07 built on gandalf
Repository revision: 8ee1dc8f1f9aa47260f8151c9eea30fb1ccf878a
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12302004
System Description: Fedora Linux 39 (Workstation Edition)

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LIBOTF LIBSELINUX LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8

Major mode: Group

Minor modes in effect:
  gnus-undo-mode: t
  display-time-mode: t
  delete-selection-mode: t
  icomplete-mode: t
  global-goto-address-mode: t
  goto-address-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/albinus/src/elpa/packages/debbugs/debbugs hides /home/albinus/.emacs.d/elpa/debbugs-0.40/debbugs
/home/albinus/src/elpa/packages/debbugs/debbugs-org hides /home/albinus/.emacs.d/elpa/debbugs-0.40/debbugs-org
/home/albinus/src/elpa/packages/debbugs/debbugs-gnu hides /home/albinus/.emacs.d/elpa/debbugs-0.40/debbugs-gnu
/home/albinus/src/elpa/packages/debbugs/debbugs-guix hides /home/albinus/.emacs.d/elpa/debbugs-0.40/debbugs-guix
/home/albinus/src/elpa/packages/debbugs/debbugs-browse hides /home/albinus/.emacs.d/elpa/debbugs-0.40/debbugs-browse
/home/albinus/src/elpa/packages/debbugs/debbugs-pkg hides /home/albinus/.emacs.d/elpa/debbugs-0.40/debbugs-pkg
/home/albinus/src/elpa/packages/debbugs/debbugs-autoloads hides /home/albinus/.emacs.d/elpa/debbugs-0.40/debbugs-autoloads
/home/albinus/src/elpa/packages/debbugs/debbugs-compat hides /home/albinus/.emacs.d/elpa/debbugs-0.40/debbugs-compat
/home/albinus/.emacs.d/elpa/helm-3.9.7/helm-packages hides /home/albinus/.emacs.d/elpa/helm-core-3.9.7/helm-packages
~/lisp/telepathy hides /home/albinus/.emacs.d/elpa/telepathy-20131209.1258/telepathy
/home/albinus/src/elpa/packages/tramp-theme/tramp-theme-autoloads hides /home/albinus/.emacs.d/elpa/tramp-theme-0.2/tramp-theme-autoloads
/home/albinus/src/elpa/packages/tramp-theme/tramp-theme hides /home/albinus/.emacs.d/elpa/tramp-theme-0.2/tramp-theme
/home/albinus/src/elpa/packages/tramp-theme/tramp-theme-pkg hides /home/albinus/.emacs.d/elpa/tramp-theme-0.2/tramp-theme-pkg
/home/albinus/.emacs.d/elpa/hydra-0.15.0/lv hides /home/albinus/.emacs.d/elpa/lv-0.15.0/lv
/home/albinus/.emacs.d/elpa/transient-20240405.1443/transient hides /usr/local/share/emacs/30.0.50/lisp/transient
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-texinfo hides /usr/local/share/emacs/30.0.50/lisp/org/ox-texinfo
/home/albinus/.emacs.d/elpa/org-9.6.25/oc hides /usr/local/share/emacs/30.0.50/lisp/org/oc
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-rmail hides /usr/local/share/emacs/30.0.50/lisp/org/ol-rmail
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-matlab hides /usr/local/share/emacs/30.0.50/lisp/org/ob-matlab
/home/albinus/.emacs.d/elpa/org-9.6.25/org-refile hides /usr/local/share/emacs/30.0.50/lisp/org/org-refile
/home/albinus/.emacs.d/elpa/org-9.6.25/org-habit hides /usr/local/share/emacs/30.0.50/lisp/org/org-habit
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-eshell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-eshell
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-icalendar hides /usr/local/share/emacs/30.0.50/lisp/org/ox-icalendar
/home/albinus/.emacs.d/elpa/org-9.6.25/org-crypt hides /usr/local/share/emacs/30.0.50/lisp/org/org-crypt
/home/albinus/.emacs.d/elpa/org-9.6.25/org-inlinetask hides /usr/local/share/emacs/30.0.50/lisp/org/org-inlinetask
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-sed hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sed
/home/albinus/.emacs.d/elpa/org-9.6.25/org-goto hides /usr/local/share/emacs/30.0.50/lisp/org/org-goto
/home/albinus/.emacs.d/elpa/org-9.6.25/ox hides /usr/local/share/emacs/30.0.50/lisp/org/ox
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-python hides /usr/local/share/emacs/30.0.50/lisp/org/ob-python
/home/albinus/.emacs.d/elpa/org-9.6.25/org-agenda hides /usr/local/share/emacs/30.0.50/lisp/org/org-agenda
/home/albinus/.emacs.d/elpa/org-9.6.25/org-macs hides /usr/local/share/emacs/30.0.50/lisp/org/org-macs
/home/albinus/.emacs.d/elpa/org-9.6.25/org-archive hides /usr/local/share/emacs/30.0.50/lisp/org/org-archive
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-haskell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-haskell
/home/albinus/.emacs.d/elpa/org-9.6.25/org-footnote hides /usr/local/share/emacs/30.0.50/lisp/org/org-footnote
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-md hides /usr/local/share/emacs/30.0.50/lisp/org/ox-md
/home/albinus/.emacs.d/elpa/org-9.6.25/org-src hides /usr/local/share/emacs/30.0.50/lisp/org/org-src
/home/albinus/.emacs.d/elpa/org-9.6.25/org-list hides /usr/local/share/emacs/30.0.50/lisp/org/org-list
/home/albinus/.emacs.d/elpa/org-9.6.25/org-loaddefs hides /usr/local/share/emacs/30.0.50/lisp/org/org-loaddefs
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-R hides /usr/local/share/emacs/30.0.50/lisp/org/ob-R
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-gnus hides /usr/local/share/emacs/30.0.50/lisp/org/ol-gnus
/home/albinus/.emacs.d/elpa/org-9.6.25/ol hides /usr/local/share/emacs/30.0.50/lisp/org/ol
/home/albinus/.emacs.d/elpa/org-9.6.25/org-faces hides /usr/local/share/emacs/30.0.50/lisp/org/org-faces
/home/albinus/.emacs.d/elpa/org-9.6.25/org-datetree hides /usr/local/share/emacs/30.0.50/lisp/org/org-datetree
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-exp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-exp
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-sass hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sass
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-processing hides /usr/local/share/emacs/30.0.50/lisp/org/ob-processing
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-beamer hides /usr/local/share/emacs/30.0.50/lisp/org/ox-beamer
/home/albinus/.emacs.d/elpa/org-9.6.25/org-cycle hides /usr/local/share/emacs/30.0.50/lisp/org/org-cycle
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-scheme hides /usr/local/share/emacs/30.0.50/lisp/org/ob-scheme
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-lua hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lua
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-eval hides /usr/local/share/emacs/30.0.50/lisp/org/ob-eval
/home/albinus/.emacs.d/elpa/org-9.6.25/org-persist hides /usr/local/share/emacs/30.0.50/lisp/org/org-persist
/home/albinus/.emacs.d/elpa/org-9.6.25/oc-biblatex hides /usr/local/share/emacs/30.0.50/lisp/org/oc-biblatex
/home/albinus/.emacs.d/elpa/org-9.6.25/oc-basic hides /usr/local/share/emacs/30.0.50/lisp/org/oc-basic
/home/albinus/.emacs.d/elpa/org-9.6.25/org-keys hides /usr/local/share/emacs/30.0.50/lisp/org/org-keys
/home/albinus/.emacs.d/elpa/org-9.6.25/org-attach hides /usr/local/share/emacs/30.0.50/lisp/org/org-attach
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-gnuplot hides /usr/local/share/emacs/30.0.50/lisp/org/ob-gnuplot
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-docview hides /usr/local/share/emacs/30.0.50/lisp/org/ol-docview
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-css hides /usr/local/share/emacs/30.0.50/lisp/org/ob-css
/home/albinus/.emacs.d/elpa/org-9.6.25/org-capture hides /usr/local/share/emacs/30.0.50/lisp/org/org-capture
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-w3m hides /usr/local/share/emacs/30.0.50/lisp/org/ol-w3m
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-julia hides /usr/local/share/emacs/30.0.50/lisp/org/ob-julia
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-makefile hides /usr/local/share/emacs/30.0.50/lisp/org/ob-makefile
/home/albinus/.emacs.d/elpa/org-9.6.25/org-mouse hides /usr/local/share/emacs/30.0.50/lisp/org/org-mouse
/home/albinus/.emacs.d/elpa/org-9.6.25/org-pcomplete hides /usr/local/share/emacs/30.0.50/lisp/org/org-pcomplete
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-sql hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sql
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-mhe hides /usr/local/share/emacs/30.0.50/lisp/org/ol-mhe
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-doi hides /usr/local/share/emacs/30.0.50/lisp/org/ol-doi
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-fortran hides /usr/local/share/emacs/30.0.50/lisp/org/ob-fortran
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-calc hides /usr/local/share/emacs/30.0.50/lisp/org/ob-calc
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-awk hides /usr/local/share/emacs/30.0.50/lisp/org/ob-awk
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-odt hides /usr/local/share/emacs/30.0.50/lisp/org/ox-odt
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-lilypond hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lilypond
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-groovy hides /usr/local/share/emacs/30.0.50/lisp/org/ob-groovy
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-org hides /usr/local/share/emacs/30.0.50/lisp/org/ob-org
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-ruby hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ruby
/home/albinus/.emacs.d/elpa/org-9.6.25/org-plot hides /usr/local/share/emacs/30.0.50/lisp/org/org-plot
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-ref hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ref
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-forth hides /usr/local/share/emacs/30.0.50/lisp/org/ob-forth
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-emacs-lisp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-emacs-lisp
/home/albinus/.emacs.d/elpa/org-9.6.25/org-indent hides /usr/local/share/emacs/30.0.50/lisp/org/org-indent
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-ascii hides /usr/local/share/emacs/30.0.50/lisp/org/ox-ascii
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-table hides /usr/local/share/emacs/30.0.50/lisp/org/ob-table
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-core hides /usr/local/share/emacs/30.0.50/lisp/org/ob-core
/home/albinus/.emacs.d/elpa/org-9.6.25/oc-csl hides /usr/local/share/emacs/30.0.50/lisp/org/oc-csl
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-koma-letter hides /usr/local/share/emacs/30.0.50/lisp/org/ox-koma-letter
/home/albinus/.emacs.d/elpa/org-9.6.25/org-fold-core hides /usr/local/share/emacs/30.0.50/lisp/org/org-fold-core
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-shell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-shell
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-bibtex hides /usr/local/share/emacs/30.0.50/lisp/org/ol-bibtex
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-java hides /usr/local/share/emacs/30.0.50/lisp/org/ob-java
/home/albinus/.emacs.d/elpa/org-9.6.25/org-attach-git hides /usr/local/share/emacs/30.0.50/lisp/org/org-attach-git
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-info hides /usr/local/share/emacs/30.0.50/lisp/org/ol-info
/home/albinus/.emacs.d/elpa/org-9.6.25/org-macro hides /usr/local/share/emacs/30.0.50/lisp/org/org-macro
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-man hides /usr/local/share/emacs/30.0.50/lisp/org/ox-man
/home/albinus/.emacs.d/elpa/org-9.6.25/org-tempo hides /usr/local/share/emacs/30.0.50/lisp/org/org-tempo
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-sqlite hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sqlite
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-lisp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lisp
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-lob hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lob
/home/albinus/.emacs.d/elpa/org-9.6.25/oc-natbib hides /usr/local/share/emacs/30.0.50/lisp/org/oc-natbib
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-screen hides /usr/local/share/emacs/30.0.50/lisp/org/ob-screen
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-bbdb hides /usr/local/share/emacs/30.0.50/lisp/org/ol-bbdb
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-comint hides /usr/local/share/emacs/30.0.50/lisp/org/ob-comint
/home/albinus/.emacs.d/elpa/org-9.6.25/org-timer hides /usr/local/share/emacs/30.0.50/lisp/org/org-timer
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-ditaa hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ditaa
/home/albinus/.emacs.d/elpa/org-9.6.25/org-ctags hides /usr/local/share/emacs/30.0.50/lisp/org/org-ctags
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-publish hides /usr/local/share/emacs/30.0.50/lisp/org/ox-publish
/home/albinus/.emacs.d/elpa/org-9.6.25/org-clock hides /usr/local/share/emacs/30.0.50/lisp/org/org-clock
/home/albinus/.emacs.d/elpa/org-9.6.25/org-feed hides /usr/local/share/emacs/30.0.50/lisp/org/org-feed
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-html hides /usr/local/share/emacs/30.0.50/lisp/org/ox-html
/home/albinus/.emacs.d/elpa/org-9.6.25/ob hides /usr/local/share/emacs/30.0.50/lisp/org/ob
/home/albinus/.emacs.d/elpa/org-9.6.25/org-lint hides /usr/local/share/emacs/30.0.50/lisp/org/org-lint
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-maxima hides /usr/local/share/emacs/30.0.50/lisp/org/ob-maxima
/home/albinus/.emacs.d/elpa/org-9.6.25/org-fold hides /usr/local/share/emacs/30.0.50/lisp/org/org-fold
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-latex hides /usr/local/share/emacs/30.0.50/lisp/org/ob-latex
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-man hides /usr/local/share/emacs/30.0.50/lisp/org/ol-man
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-latex hides /usr/local/share/emacs/30.0.50/lisp/org/ox-latex
/home/albinus/.emacs.d/elpa/org-9.6.25/org-element hides /usr/local/share/emacs/30.0.50/lisp/org/org-element
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-dot hides /usr/local/share/emacs/30.0.50/lisp/org/ob-dot
/home/albinus/.emacs.d/elpa/org-9.6.25/oc-bibtex hides /usr/local/share/emacs/30.0.50/lisp/org/oc-bibtex
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-eshell hides /usr/local/share/emacs/30.0.50/lisp/org/ol-eshell
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-perl hides /usr/local/share/emacs/30.0.50/lisp/org/ob-perl
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-ocaml hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ocaml
/home/albinus/.emacs.d/elpa/org-9.6.25/org-duration hides /usr/local/share/emacs/30.0.50/lisp/org/org-duration
/home/albinus/.emacs.d/elpa/org-9.6.25/ox-org hides /usr/local/share/emacs/30.0.50/lisp/org/ox-org
/home/albinus/.emacs.d/elpa/org-9.6.25/org-protocol hides /usr/local/share/emacs/30.0.50/lisp/org/org-protocol
/home/albinus/.emacs.d/elpa/org-9.6.25/org-num hides /usr/local/share/emacs/30.0.50/lisp/org/org-num
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-plantuml hides /usr/local/share/emacs/30.0.50/lisp/org/ob-plantuml
/home/albinus/.emacs.d/elpa/org-9.6.25/org-compat hides /usr/local/share/emacs/30.0.50/lisp/org/org-compat
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-clojure hides /usr/local/share/emacs/30.0.50/lisp/org/ob-clojure
/home/albinus/.emacs.d/elpa/org-9.6.25/org-table hides /usr/local/share/emacs/30.0.50/lisp/org/org-table
/home/albinus/.emacs.d/elpa/org-9.6.25/org-mobile hides /usr/local/share/emacs/30.0.50/lisp/org/org-mobile
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-C hides /usr/local/share/emacs/30.0.50/lisp/org/ob-C
/home/albinus/.emacs.d/elpa/org-9.6.25/org hides /usr/local/share/emacs/30.0.50/lisp/org/org
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-tangle hides /usr/local/share/emacs/30.0.50/lisp/org/ob-tangle
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-js hides /usr/local/share/emacs/30.0.50/lisp/org/ob-js
/home/albinus/.emacs.d/elpa/org-9.6.25/org-version hides /usr/local/share/emacs/30.0.50/lisp/org/org-version
/home/albinus/.emacs.d/elpa/org-9.6.25/org-colview hides /usr/local/share/emacs/30.0.50/lisp/org/org-colview
/home/albinus/.emacs.d/elpa/org-9.6.25/org-entities hides /usr/local/share/emacs/30.0.50/lisp/org/org-entities
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-eww hides /usr/local/share/emacs/30.0.50/lisp/org/ol-eww
/home/albinus/.emacs.d/elpa/org-9.6.25/org-id hides /usr/local/share/emacs/30.0.50/lisp/org/org-id
/home/albinus/.emacs.d/elpa/org-9.6.25/ol-irc hides /usr/local/share/emacs/30.0.50/lisp/org/ol-irc
/home/albinus/.emacs.d/elpa/org-9.6.25/ob-octave hides /usr/local/share/emacs/30.0.50/lisp/org/ob-octave
~/lisp/dbus hides /usr/local/share/emacs/30.0.50/lisp/net/dbus
/home/albinus/src/tramp/lisp/tramp-sh hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-sh
/home/albinus/src/tramp/lisp/tramp-fuse hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-fuse
/home/albinus/src/tramp/lisp/tramp-androidsu hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-androidsu
/home/albinus/src/tramp/lisp/tramp-loaddefs hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-loaddefs
/home/albinus/src/tramp/lisp/tramp-ftp hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-ftp
/home/albinus/src/tramp/lisp/tramp hides /usr/local/share/emacs/30.0.50/lisp/net/tramp
/home/albinus/src/tramp/lisp/tramp-cache hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-cache
/home/albinus/src/tramp/lisp/tramp-uu hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-uu
/home/albinus/src/tramp/lisp/tramp-rclone hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-rclone
/home/albinus/src/tramp/lisp/tramp-integration hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-integration
/home/albinus/src/tramp/lisp/tramp-archive hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-archive
/home/albinus/src/tramp/lisp/tramp-adb hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-adb
/home/albinus/src/tramp/lisp/tramp-cmds hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-cmds
/home/albinus/src/tramp/lisp/tramp-compat hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-compat
/home/albinus/src/tramp/lisp/tramp-sudoedit hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-sudoedit
/home/albinus/src/tramp/lisp/tramp-container hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-container
/home/albinus/src/tramp/lisp/tramp-gvfs hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-gvfs
/home/albinus/src/tramp/lisp/tramp-crypt hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-crypt
/home/albinus/src/tramp/lisp/tramp-message hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-message
/home/albinus/src/tramp/lisp/tramp-smb hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-smb
/home/albinus/src/tramp/lisp/trampver hides /usr/local/share/emacs/30.0.50/lisp/net/trampver
/home/albinus/src/tramp/lisp/tramp-sshfs hides /usr/local/share/emacs/30.0.50/lisp/net/tramp-sshfs
/home/albinus/.emacs.d/elpa/faceup-20170925.1946/faceup hides /usr/local/share/emacs/30.0.50/lisp/emacs-lisp/faceup

Features:
(shadow comp-run emacsbug shr-color url-queue mailalias whitespace
log-edit smerge-mode diff flow-fill pop3 utf-7 nndraft nnmh nnml nnnil
smtpmail sort smiley gnus-cite mail-extr textsec uni-scripts
idna-mapping ucs-normalize uni-confusable textsec-check qp gnus-async
gnus-bcklg gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp
gnus-ml gnus-msg disp-table nndoc gnus-cache gnus-dup gnus-art mm-uu
mml2015 mm-view mml-smime smime dig gnus-sum shr pixel-fill kinsoku
url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud
nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range
gnus-win gnus nnheader range mm-archive message sendmail yank-media
rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util
mailabbrev gmm-utils mailheader mail-utils gnutls network-stream
url-cache crm debbugs-gnu debbugs-compat debbugs soap-client mm-decode
mm-bodies mm-encode url-http url-auth mail-parse rfc2231 rfc2047 rfc2045
mm-util ietf-drums mail-prsvr url-gw nsm puny warnings rng-xsd rng-dt
rng-util xsd-regexp emacs-news-mode noutline outline dbus xml mule-util
texinfo texinfo-loaddefs add-log macrostep-c cmacexp macrostep cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs pulse color find-dired xref project grep display-line-numbers
cl-print debug backtrace find-func dired-aux time-stamp ediff-vers ediff
ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init
ediff-util shortdoc comp-common help-fns radix-tree misearch
multi-isearch debbugs-browse bug-reference cl-extra compile
text-property-search vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn
vc-cvs vc-rcs log-view easy-mmode pcvs-util vc-dir ewoc face-remap
ob-shell ob ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint
ob-core org-cycle org-fold org-fold-core ob-eval org-keys oc org-compat
org-version org-macs vc vc-dispatcher time tramp-sh lxc-tramp lxd-tramp
tramp trampver tramp-integration files-x tramp-message help-mode
tramp-compat xdg shell pcomplete comint ansi-osc ring parse-time iso8601
time-date format-spec ansi-color tramp-loaddefs rx delsel ido jka-compr
icomplete cus-edit pp cus-load wid-edit dired dired-loaddefs goto-addr
thingatpt alert-autoloads android-mode-autoloads
auth-source-gopass-autoloads auth-source-keytar-autoloads
auth-source-kwallet-autoloads auth-source-xoauth2-autoloads
auto-sudoedit-autoloads auto-virtualenv-autoloads
auto-virtualenvwrapper-autoloads boxquote-autoloads
clang-format-autoloads company-shell-autoloads company-autoloads
counsel-toki-autoloads counsel-tramp-autoloads counsel-autoloads
dbus-codegen-autoloads debbugs-autoloads dired-du-autoloads
dired-rsync-autoloads dired-toggle-sudo-autoloads direnv-autoloads
disk-usage-autoloads dockerfile-mode-autoloads
editorconfig-charset-extras-autoloads
editorconfig-custom-majormode-autoloads
editorconfig-domain-specific-autoloads editorconfig-autoloads
editorconfig-generate-autoloads ednc-autoloads el-get-autoloads
envrc-autoloads etc-sudoers-mode-autoloads
exec-path-from-shell-autoloads faceup-autoloads fontaine-autoloads
forge-autoloads closql-autoloads emacsql-autoloads
friendly-tramp-path-autoloads fzf-autoloads ggtags-autoloads
ghub-autoloads gited-autoloads gitlab-ci-mode-flycheck-autoloads
gitlab-ci-mode-autoloads flycheck-autoloads gntp-autoloads
helm-gitlab-autoloads helm-projectile-autoloads helm-autoloads
helm-core-autoloads async-autoloads ibuffer-tramp-autoloads
inheritenv-autoloads ivy-gitlab-autoloads gitlab-autoloads
journalctl-mode-autoloads keepass-mode-autoloads keytar-autoloads
kubernetes-autoloads log4e-autoloads lsp-java-autoloads
dap-mode-autoloads lsp-docker-autoloads bui-autoloads
lsp-latex-autoloads consult-autoloads lsp-treemacs-autoloads
lsp-mode-autoloads f-autoloads lxc-tramp-autoloads lxd-tramp-autoloads
magit-filenotify-autoloads magit-autoloads pcase git-commit-autoloads
magit-popup-autoloads magit-section-autoloads marcopolo-autoloads
mastodon-autoloads nexus-autoloads oauth2-autoloads
ob-restclient-autoloads orderless-autoloads org-autoloads
password-menu-autoloads persist-autoloads pkg-info-autoloads
epl-autoloads popup-autoloads projectile-autoloads promise-autoloads
pylint-autoloads python-environment-autoloads deferred-autoloads
pyvenv-autoloads recentf-remove-sudo-tramp-prefix-autoloads
request-autoloads restclient-test-autoloads restclient-autoloads
s3ed-autoloads shell-maker-autoloads finder-inf slime-autoloads
macrostep-autoloads spinner-autoloads ssh-deploy-autoloads su-autoloads
sudo-edit-autoloads sudo-ext-autoloads sudo-utils-autoloads
swiper-autoloads ivy-autoloads sx-autoloads markdown-mode-autoloads
telepathy-autoloads totp-autoloads totp-auth-autoloads base32-autoloads
tramp-theme-autoloads transient-dwim-autoloads transient-autoloads
treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads treepy-autoloads
uuid-autoloads vdiff-autoloads hydra-autoloads lv-autoloads
vertico-autoloads virtualenv-autoloads virtualenvwrapper-autoloads
s-autoloads dash-autoloads web-server-autoloads wfnames-autoloads info
with-editor-autoloads yaml-autoloads yaml-mode-autoloads package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs icons
password-cache json subr-x map byte-opt gv bytecomp byte-compile
url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset
image regexp-opt fringe tabulated-list replace newcomment text-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine 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 emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo gtk
x-toolkit xinput2 x multi-tty move-toolbar make-network-process
native-compile emacs)

Memory information:
((conses 16 739215 210867)
 (symbols 48 31263 3)
 (strings 32 131292 11556)
 (string-bytes 1 4075180)
 (vectors 16 76367)
 (vector-slots 8 1773982 93652)
 (floats 8 630 21596)
 (intervals 56 26858 2075)
 (buffers 992 32))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#70356; Package emacs. (Fri, 12 Apr 2024 18:24:02 GMT) Full text and rfc822 format available.

Message #8 received at 70356 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: 70356 <at> debbugs.gnu.org
Subject: Re: bug#70356: 30.0.50; [wishlist] Expose UTF-8 parse error to Lisp
Date: Fri, 12 Apr 2024 21:22:36 +0300
> Date: Fri, 12 Apr 2024 17:59:08 +0200
> From:  Michael Albinus via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> 
> json_parse_string checks for a valid UTF-8 byte sequence, and raises an
> error in case of. It would be useful, if this error handling would be
> exposed to Lisp. For example, it could be used to check a D-Bus
> byte-array for proper UTF-8 syntax in dbus-byte-array-to-string.

Sorry, I don't understand: errors we signal are always "exposed to
Lisp": e.g., your program could catch the error and do whatever it
wants.  What exactly is missing?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#70356; Package emacs. (Sat, 13 Apr 2024 07:25:05 GMT) Full text and rfc822 format available.

Message #11 received at 70356 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 70356 <at> debbugs.gnu.org
Subject: Re: bug#70356: 30.0.50; [wishlist] Expose UTF-8 parse error to Lisp
Date: Sat, 13 Apr 2024 09:24:37 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

Hi Eli,

>> json_parse_string checks for a valid UTF-8 byte sequence, and raises an
>> error in case of. It would be useful, if this error handling would be
>> exposed to Lisp. For example, it could be used to check a D-Bus
>> byte-array for proper UTF-8 syntax in dbus-byte-array-to-string.
>
> Sorry, I don't understand: errors we signal are always "exposed to
> Lisp": e.g., your program could catch the error and do whatever it
> wants.  What exactly is missing?

I'm not interested in JSON here. I've mentioned json_parse_string
because it contains the functionality I'm looking for.

What I'd like to get is a function, which takes a sequence of bytes as
arguments, and which indicates, whether this is a valid UTF-8 byte
sequence. This indication could be an error, or a respective return
value.

Best regards, Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#70356; Package emacs. (Sat, 13 Apr 2024 07:43:03 GMT) Full text and rfc822 format available.

Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andreas Schwab <schwab <at> linux-m68k.org>
To: Michael Albinus via "Bug reports for GNU Emacs, the Swiss army knife of
 text editors" <bug-gnu-emacs <at> gnu.org>
Cc: Eli Zaretskii <eliz <at> gnu.org>, Michael Albinus <michael.albinus <at> gmx.de>,
 70356 <at> debbugs.gnu.org
Subject: Re: bug#70356: 30.0.50; [wishlist] Expose UTF-8 parse error to Lisp
Date: Sat, 13 Apr 2024 09:41:52 +0200
On Apr 13 2024, Michael Albinus via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote:

> What I'd like to get is a function, which takes a sequence of bytes as
> arguments, and which indicates, whether this is a valid UTF-8 byte
> sequence. This indication could be an error, or a respective return
> value.

That function could do the decoding and then check whether the result
contains any eight-bit characters (which mark the non-decodable parts).

-- 
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#70356; Package emacs. (Sat, 13 Apr 2024 07:43:05 GMT) Full text and rfc822 format available.

Reply sent to Michael Albinus <michael.albinus <at> gmx.de>:
You have taken responsibility. (Sat, 13 Apr 2024 08:30:12 GMT) Full text and rfc822 format available.

Notification sent to Michael Albinus <michael.albinus <at> gmx.de>:
bug acknowledged by developer. (Sat, 13 Apr 2024 08:30:14 GMT) Full text and rfc822 format available.

Message #22 received at 70356-done <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Andreas Schwab <schwab <at> linux-m68k.org>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 70356-done <at> debbugs.gnu.org
Subject: Re: bug#70356: 30.0.50; [wishlist] Expose UTF-8 parse error to Lisp
Date: Sat, 13 Apr 2024 10:29:26 +0200
Andreas Schwab <schwab <at> linux-m68k.org> writes:

Hi Andreas,

>> What I'd like to get is a function, which takes a sequence of bytes as
>> arguments, and which indicates, whether this is a valid UTF-8 byte
>> sequence. This indication could be an error, or a respective return
>> value.
>
> That function could do the decoding and then check whether the result
> contains any eight-bit characters (which mark the non-decodable parts).

Hmm. Thinking about, the following code does already what I want:

(string-to-unibyte (apply #'string bytes))

Closing the bug.

Best regards, Michael.




Added tag(s) notabug. Request was from Michael Albinus <michael.albinus <at> gmx.de> to control <at> debbugs.gnu.org. (Sat, 13 Apr 2024 08:32:13 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 11 May 2024 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 5 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.