unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
@ 2020-11-10 14:04 Vladimir Nikishkin
  2020-11-10 14:57 ` Lars Ingebrigtsen
                   ` (2 more replies)
  0 siblings, 3 replies; 28+ messages in thread
From: Vladimir Nikishkin @ 2020-11-10 14:04 UTC (permalink / raw)
  To: 44554


Honourable Emacs developers.

As Emacs Lisp is becoming more and more a general purpose and high
performance language, would the development team consider extending the
Emacs Lisp reader syntax to allow for a more flexible kind of comments?

A formal specification can be found at
https://srfi.schemers.org/srfi-62/srfi-62.html

However, and informal specification would be illustrated by the
following example:

```
#;(defvar demo-variable nil
  "This is a demo-variable declared to illustrate SRFI-62.")
```

The special reader syntax "#;" means "please, ignore the next valid
s-expression completely".
The comment itself is almost and s-expression, which allows to maintain
full homoiconicity of the source file, and manipulate the comment
contents easier.

I hope that this proposal may be useful not just for me, but for other
Emacs Lisp developers.

In GNU Emacs 27.1 (build 1, x86_64-slackware-linux-gnu, GTK+ Version 3.24.22)
 of 2020-08-12 built on z-mp.slackware.lan
Windowing system distributor 'The X.Org Foundation', version 11.0.12009000
System Description: Slackware 14.2 x86_64 (post 14.2 -current)

Recent messages:
Wrote /home/lockywolf/.emacs.d/init.el
Auto-saving...done
Mark set [2 times]
Saving file /home/lockywolf/.emacs.d/init.el...
Wrote /home/lockywolf/.emacs.d/init.el
(No changes need to be saved)
Found ‘; for commenting’ in Index.  (17 total; use ‘,’ for next)
[mu4e] Indexing... processed 270000, updated 0
scroll-up-command: End of buffer
[mu4e] Indexing completed; processed 270070, updated 0, cleaned-up 0
Quit
Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
--program-prefix= --program-suffix= --mandir=/usr/man
--infodir=/usr/info --without-gconf --without-gsettings --with-modules
--with-x --with-x-toolkit=gtk3 --build=x86_64-slackware-linux
'CFLAGS=-O2 -fPIC''

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

Important settings:
  value of $LC_COLLATE: C
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=SCIM
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  erc-xdcc-mode: t
  erc-track-mode: t
  erc-spelling-mode: t
  flyspell-mode: t
  erc-sound-mode: t
  erc-services-mode: t
  erc-ring-mode: t
  erc-page-mode: t
  erc-notifications-mode: t
  erc-notify-mode: t
  erc-networks-mode: t
  erc-netsplit-mode: t
  erc-menu-mode: t
  erc-match-mode: t
  erc-log-mode: t
  erc-list-mode: t
  erc-identd-mode: t
  erc-dcc-mode: t
  erc-pcomplete-mode: t
  erc-capab-identify-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-autojoin-mode: t
  auto-insert-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  pdf-occur-global-minor-mode: t
  form-feed-mode: t
  async-bytecomp-package-mode: t
  erc-smiley-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  erc-scrolltobottom-mode: t
  global-auto-revert-mode: t
  electric-pair-mode: t
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  global-hi-lock-mode: t
  hi-lock-mode: t
  ido-ubiquitous-mode: t
  ido-everywhere: t
  shell-dirtrack-mode: t
  idle-org-agenda-mode: t
  override-global-mode: t
  global-discover-mode: t
  discover-mode: t
  global-company-mode: t
  company-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  global-srecode-minor-mode: t
  global-ede-mode: t
  ede-minor-mode: t
  global-semanticdb-minor-mode: t
  global-semantic-decoration-mode: t
  global-semantic-mru-bookmark-mode: t
  global-semantic-idle-completions-mode: t
  global-semantic-idle-scheduler-mode: t
  global-semantic-idle-summary-mode: t
  global-semantic-highlight-func-mode: t
  global-semantic-stickyfunc-mode: t
  semantic-mode: t
  savehist-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-layout-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-mode: t
  prettify-symbols-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-save-visited-mode: t
  abbrev-mode: t

Load-path shadows:
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ledger hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-ledger
/home/lockywolf/.emacs.d/elpa/org-20201102/org-num hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-num
/home/lockywolf/.emacs.d/elpa/org-20201102/org-table hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-table
/home/lockywolf/.emacs.d/elpa/org-20201102/org-duration hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-duration
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-awk hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-awk
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-tangle hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-tangle
/home/lockywolf/.emacs.d/elpa/org-20201102/org-id hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-id
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-calc hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-calc
/home/lockywolf/.emacs.d/elpa/org-20201102/org-element hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-element
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-perl hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-perl
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-js hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-js
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-lilypond hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-lilypond
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ebnf hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-ebnf
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-eshell hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-eshell
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-mscgen hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-mscgen
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-scheme hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-scheme
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-exp hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-exp
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-beamer hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-beamer
/home/lockywolf/.emacs.d/elpa/org-20201102/org-agenda hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-agenda
/home/lockywolf/.emacs.d/elpa/org-20201102/org-clock hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-clock
/home/lockywolf/.emacs.d/elpa/org-20201102/org-ctags hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-ctags
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-sass hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-sass
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-R hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-R
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ref hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-ref
/home/lockywolf/.emacs.d/elpa/org-20201102/org-tempo hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-tempo
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-rmail hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-rmail
/home/lockywolf/.emacs.d/elpa/org-20201102/org-pcomplete hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-pcomplete
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-ascii hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-ascii
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-texinfo hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-texinfo
/home/lockywolf/.emacs.d/elpa/org-20201102/org-src hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-src
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-html hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-html
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-sqlite hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-sqlite
/home/lockywolf/.emacs.d/elpa/org-20201102/org-inlinetask hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-inlinetask
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-icalendar hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-icalendar
/home/lockywolf/.emacs.d/elpa/org-20201102/org-attach-git hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-attach-git
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-docview hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-docview
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-mhe hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-mhe
/home/lockywolf/.emacs.d/elpa/org-20201102/org-goto hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-goto
/home/lockywolf/.emacs.d/elpa/org-20201102/org hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-sed hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-sed
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-vala hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-vala
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-processing hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-processing
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-clojure hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-clojure
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-picolisp hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-picolisp
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-fortran hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-fortran
/home/lockywolf/.emacs.d/elpa/org-20201102/org-version hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-version
/home/lockywolf/.emacs.d/elpa/org-20201102/org-indent hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-indent
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-screen hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-screen
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-org hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-org
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-forth hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-forth
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-maxima hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-maxima
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-lua hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-lua
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-abc hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-abc
/home/lockywolf/.emacs.d/elpa/org-20201102/org-datetree hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-datetree
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-gnus hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-gnus
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-groovy hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-groovy
/home/lockywolf/.emacs.d/elpa/org-20201102/org-macro hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-macro
/home/lockywolf/.emacs.d/elpa/org-20201102/org-protocol hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-protocol
/home/lockywolf/.emacs.d/elpa/org-20201102/org-archive hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-archive
/home/lockywolf/.emacs.d/elpa/org-20201102/org-compat hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-compat
/home/lockywolf/.emacs.d/elpa/org-20201102/ob hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ocaml hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-ocaml
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-core hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-core
/home/lockywolf/.emacs.d/elpa/org-20201102/org-attach hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-attach
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-octave hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-octave
/home/lockywolf/.emacs.d/elpa/org-20201102/org-install hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-install
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-bbdb hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-bbdb
/home/lockywolf/.emacs.d/elpa/org-20201102/org-crypt hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-crypt
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-publish hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-publish
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-makefile hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-makefile
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-latex hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-latex
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-asymptote hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-asymptote
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-lob hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-lob
/home/lockywolf/.emacs.d/elpa/org-20201102/org-keys hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-keys
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-dot hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-dot
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-coq hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-coq
/home/lockywolf/.emacs.d/elpa/org-20201102/org-list hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-list
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-eval hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-eval
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-shen hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-shen
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-info hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-info
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-plantuml hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-plantuml
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-md hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-md
/home/lockywolf/.emacs.d/elpa/org-20201102/org-capture hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-capture
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-java hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-java
/home/lockywolf/.emacs.d/elpa/org-20201102/org-timer hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-timer
/home/lockywolf/.emacs.d/elpa/org-20201102/org-entities hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-entities
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-table hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-table
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ruby hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-ruby
/home/lockywolf/.emacs.d/elpa/org-20201102/org-loaddefs hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-loaddefs
/home/lockywolf/.emacs.d/elpa/org-20201102/ox hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox
/home/lockywolf/.emacs.d/elpa/org-20201102/org-mobile hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-mobile
/home/lockywolf/.emacs.d/elpa/org-20201102/org-feed hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-feed
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-w3m hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-w3m
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-python hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-python
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-gnuplot hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-gnuplot
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-stan hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-stan
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-C hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-C
/home/lockywolf/.emacs.d/elpa/org-20201102/org-faces hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-faces
/home/lockywolf/.emacs.d/elpa/org-20201102/org-habit hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-habit
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-org hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-org
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-latex hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-latex
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-comint hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-comint
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-eshell hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-eshell
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-lisp hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-lisp
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-man hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-man
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-J hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-J
/home/lockywolf/.emacs.d/elpa/org-20201102/org-mouse hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-mouse
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ditaa hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-ditaa
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-hledger hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-hledger
/home/lockywolf/.emacs.d/elpa/org-20201102/org-colview hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-colview
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-io hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-io
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-eww hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-eww
/home/lockywolf/.emacs.d/elpa/org-20201102/ol hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol
/home/lockywolf/.emacs.d/elpa/org-20201102/org-lint hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-lint
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-bibtex hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-bibtex
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-irc hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ol-irc
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-css hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-css
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-sql hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-sql
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-shell hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-shell
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-matlab hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-matlab
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-haskell hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-haskell
/home/lockywolf/.emacs.d/elpa/org-20201102/org-macs hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-macs
/home/lockywolf/.emacs.d/elpa/org-20201102/org-plot hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-plot
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-odt hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ox-odt
/home/lockywolf/.emacs.d/elpa/org-20201102/org-refile hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-refile
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-emacs-lisp hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/ob-emacs-lisp
/home/lockywolf/.emacs.d/elpa/org-20201102/org-footnote hides /home/lockywolf/.emacs.d/elpa/org-plus-contrib-20201102/org-footnote
/home/lockywolf/.emacs.d/elpa/company-cmake-0.1/company-cmake hides /home/lockywolf/.emacs.d/elpa/company-20201028.136/company-cmake
/home/lockywolf/.emacs.d/elpa/org-20201102/ox hides /usr/share/emacs/27.1/lisp/org/ox
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-texinfo hides /usr/share/emacs/27.1/lisp/org/ox-texinfo
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-publish hides /usr/share/emacs/27.1/lisp/org/ox-publish
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-org hides /usr/share/emacs/27.1/lisp/org/ox-org
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-odt hides /usr/share/emacs/27.1/lisp/org/ox-odt
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-md hides /usr/share/emacs/27.1/lisp/org/ox-md
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-man hides /usr/share/emacs/27.1/lisp/org/ox-man
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-icalendar hides /usr/share/emacs/27.1/lisp/org/ox-icalendar
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-html hides /usr/share/emacs/27.1/lisp/org/ox-html
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-ascii hides /usr/share/emacs/27.1/lisp/org/ox-ascii
/home/lockywolf/.emacs.d/elpa/org-20201102/org-timer hides /usr/share/emacs/27.1/lisp/org/org-timer
/home/lockywolf/.emacs.d/elpa/org-20201102/org-tempo hides /usr/share/emacs/27.1/lisp/org/org-tempo
/home/lockywolf/.emacs.d/elpa/org-20201102/org-table hides /usr/share/emacs/27.1/lisp/org/org-table
/home/lockywolf/.emacs.d/elpa/org-20201102/org-protocol hides /usr/share/emacs/27.1/lisp/org/org-protocol
/home/lockywolf/.emacs.d/elpa/org-20201102/org-plot hides /usr/share/emacs/27.1/lisp/org/org-plot
/home/lockywolf/.emacs.d/elpa/org-20201102/org-pcomplete hides /usr/share/emacs/27.1/lisp/org/org-pcomplete
/home/lockywolf/.emacs.d/elpa/org-20201102/org-num hides /usr/share/emacs/27.1/lisp/org/org-num
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-latex hides /usr/share/emacs/27.1/lisp/org/ox-latex
/home/lockywolf/.emacs.d/elpa/org-20201102/ox-beamer hides /usr/share/emacs/27.1/lisp/org/ox-beamer
/home/lockywolf/.emacs.d/elpa/org-20201102/org hides /usr/share/emacs/27.1/lisp/org/org
/home/lockywolf/.emacs.d/elpa/org-20201102/org-version hides /usr/share/emacs/27.1/lisp/org/org-version
/home/lockywolf/.emacs.d/elpa/org-20201102/org-src hides /usr/share/emacs/27.1/lisp/org/org-src
/home/lockywolf/.emacs.d/elpa/org-20201102/org-mouse hides /usr/share/emacs/27.1/lisp/org/org-mouse
/home/lockywolf/.emacs.d/elpa/org-20201102/org-mobile hides /usr/share/emacs/27.1/lisp/org/org-mobile
/home/lockywolf/.emacs.d/elpa/org-20201102/org-macs hides /usr/share/emacs/27.1/lisp/org/org-macs
/home/lockywolf/.emacs.d/elpa/org-20201102/org-macro hides /usr/share/emacs/27.1/lisp/org/org-macro
/home/lockywolf/.emacs.d/elpa/org-20201102/org-loaddefs hides /usr/share/emacs/27.1/lisp/org/org-loaddefs
/home/lockywolf/.emacs.d/elpa/org-20201102/org-list hides /usr/share/emacs/27.1/lisp/org/org-list
/home/lockywolf/.emacs.d/elpa/org-20201102/org-lint hides /usr/share/emacs/27.1/lisp/org/org-lint
/home/lockywolf/.emacs.d/elpa/org-20201102/org-keys hides /usr/share/emacs/27.1/lisp/org/org-keys
/home/lockywolf/.emacs.d/elpa/org-20201102/org-install hides /usr/share/emacs/27.1/lisp/org/org-install
/home/lockywolf/.emacs.d/elpa/org-20201102/org-inlinetask hides /usr/share/emacs/27.1/lisp/org/org-inlinetask
/home/lockywolf/.emacs.d/elpa/org-20201102/org-indent hides /usr/share/emacs/27.1/lisp/org/org-indent
/home/lockywolf/.emacs.d/elpa/org-20201102/org-id hides /usr/share/emacs/27.1/lisp/org/org-id
/home/lockywolf/.emacs.d/elpa/org-20201102/org-habit hides /usr/share/emacs/27.1/lisp/org/org-habit
/home/lockywolf/.emacs.d/elpa/org-20201102/org-goto hides /usr/share/emacs/27.1/lisp/org/org-goto
/home/lockywolf/.emacs.d/elpa/org-20201102/org-footnote hides /usr/share/emacs/27.1/lisp/org/org-footnote
/home/lockywolf/.emacs.d/elpa/org-20201102/org-feed hides /usr/share/emacs/27.1/lisp/org/org-feed
/home/lockywolf/.emacs.d/elpa/org-20201102/org-faces hides /usr/share/emacs/27.1/lisp/org/org-faces
/home/lockywolf/.emacs.d/elpa/org-20201102/org-entities hides /usr/share/emacs/27.1/lisp/org/org-entities
/home/lockywolf/.emacs.d/elpa/org-20201102/org-element hides /usr/share/emacs/27.1/lisp/org/org-element
/home/lockywolf/.emacs.d/elpa/org-20201102/org-duration hides /usr/share/emacs/27.1/lisp/org/org-duration
/home/lockywolf/.emacs.d/elpa/org-20201102/org-datetree hides /usr/share/emacs/27.1/lisp/org/org-datetree
/home/lockywolf/.emacs.d/elpa/org-20201102/org-ctags hides /usr/share/emacs/27.1/lisp/org/org-ctags
/home/lockywolf/.emacs.d/elpa/org-20201102/org-crypt hides /usr/share/emacs/27.1/lisp/org/org-crypt
/home/lockywolf/.emacs.d/elpa/org-20201102/org-compat hides /usr/share/emacs/27.1/lisp/org/org-compat
/home/lockywolf/.emacs.d/elpa/org-20201102/org-colview hides /usr/share/emacs/27.1/lisp/org/org-colview
/home/lockywolf/.emacs.d/elpa/org-20201102/org-clock hides /usr/share/emacs/27.1/lisp/org/org-clock
/home/lockywolf/.emacs.d/elpa/org-20201102/org-capture hides /usr/share/emacs/27.1/lisp/org/org-capture
/home/lockywolf/.emacs.d/elpa/org-20201102/org-attach hides /usr/share/emacs/27.1/lisp/org/org-attach
/home/lockywolf/.emacs.d/elpa/org-20201102/org-attach-git hides /usr/share/emacs/27.1/lisp/org/org-attach-git
/home/lockywolf/.emacs.d/elpa/org-20201102/org-archive hides /usr/share/emacs/27.1/lisp/org/org-archive
/home/lockywolf/.emacs.d/elpa/org-20201102/org-agenda hides /usr/share/emacs/27.1/lisp/org/org-agenda
/home/lockywolf/.emacs.d/elpa/org-20201102/ol hides /usr/share/emacs/27.1/lisp/org/ol
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-w3m hides /usr/share/emacs/27.1/lisp/org/ol-w3m
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-rmail hides /usr/share/emacs/27.1/lisp/org/ol-rmail
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-mhe hides /usr/share/emacs/27.1/lisp/org/ol-mhe
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-irc hides /usr/share/emacs/27.1/lisp/org/ol-irc
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-info hides /usr/share/emacs/27.1/lisp/org/ol-info
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-gnus hides /usr/share/emacs/27.1/lisp/org/ol-gnus
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-eww hides /usr/share/emacs/27.1/lisp/org/ol-eww
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-eshell hides /usr/share/emacs/27.1/lisp/org/ol-eshell
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-docview hides /usr/share/emacs/27.1/lisp/org/ol-docview
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-bibtex hides /usr/share/emacs/27.1/lisp/org/ol-bibtex
/home/lockywolf/.emacs.d/elpa/org-20201102/ol-bbdb hides /usr/share/emacs/27.1/lisp/org/ol-bbdb
/home/lockywolf/.emacs.d/elpa/org-20201102/ob hides /usr/share/emacs/27.1/lisp/org/ob
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-vala hides /usr/share/emacs/27.1/lisp/org/ob-vala
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-tangle hides /usr/share/emacs/27.1/lisp/org/ob-tangle
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-table hides /usr/share/emacs/27.1/lisp/org/ob-table
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-stan hides /usr/share/emacs/27.1/lisp/org/ob-stan
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-sqlite hides /usr/share/emacs/27.1/lisp/org/ob-sqlite
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-sql hides /usr/share/emacs/27.1/lisp/org/ob-sql
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-shen hides /usr/share/emacs/27.1/lisp/org/ob-shen
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-shell hides /usr/share/emacs/27.1/lisp/org/ob-shell
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-sed hides /usr/share/emacs/27.1/lisp/org/ob-sed
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-screen hides /usr/share/emacs/27.1/lisp/org/ob-screen
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-scheme hides /usr/share/emacs/27.1/lisp/org/ob-scheme
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-sass hides /usr/share/emacs/27.1/lisp/org/ob-sass
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ruby hides /usr/share/emacs/27.1/lisp/org/ob-ruby
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ref hides /usr/share/emacs/27.1/lisp/org/ob-ref
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-python hides /usr/share/emacs/27.1/lisp/org/ob-python
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-processing hides /usr/share/emacs/27.1/lisp/org/ob-processing
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-plantuml hides /usr/share/emacs/27.1/lisp/org/ob-plantuml
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-picolisp hides /usr/share/emacs/27.1/lisp/org/ob-picolisp
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-perl hides /usr/share/emacs/27.1/lisp/org/ob-perl
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-org hides /usr/share/emacs/27.1/lisp/org/ob-org
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-octave hides /usr/share/emacs/27.1/lisp/org/ob-octave
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ocaml hides /usr/share/emacs/27.1/lisp/org/ob-ocaml
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-mscgen hides /usr/share/emacs/27.1/lisp/org/ob-mscgen
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-maxima hides /usr/share/emacs/27.1/lisp/org/ob-maxima
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-matlab hides /usr/share/emacs/27.1/lisp/org/ob-matlab
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-makefile hides /usr/share/emacs/27.1/lisp/org/ob-makefile
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-lua hides /usr/share/emacs/27.1/lisp/org/ob-lua
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-lob hides /usr/share/emacs/27.1/lisp/org/ob-lob
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-lisp hides /usr/share/emacs/27.1/lisp/org/ob-lisp
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-lilypond hides /usr/share/emacs/27.1/lisp/org/ob-lilypond
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ledger hides /usr/share/emacs/27.1/lisp/org/ob-ledger
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-latex hides /usr/share/emacs/27.1/lisp/org/ob-latex
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-js hides /usr/share/emacs/27.1/lisp/org/ob-js
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-java hides /usr/share/emacs/27.1/lisp/org/ob-java
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-io hides /usr/share/emacs/27.1/lisp/org/ob-io
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-hledger hides /usr/share/emacs/27.1/lisp/org/ob-hledger
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-haskell hides /usr/share/emacs/27.1/lisp/org/ob-haskell
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-groovy hides /usr/share/emacs/27.1/lisp/org/ob-groovy
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-gnuplot hides /usr/share/emacs/27.1/lisp/org/ob-gnuplot
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-fortran hides /usr/share/emacs/27.1/lisp/org/ob-fortran
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-forth hides /usr/share/emacs/27.1/lisp/org/ob-forth
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-exp hides /usr/share/emacs/27.1/lisp/org/ob-exp
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-eval hides /usr/share/emacs/27.1/lisp/org/ob-eval
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-eshell hides /usr/share/emacs/27.1/lisp/org/ob-eshell
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-emacs-lisp hides /usr/share/emacs/27.1/lisp/org/ob-emacs-lisp
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ebnf hides /usr/share/emacs/27.1/lisp/org/ob-ebnf
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-dot hides /usr/share/emacs/27.1/lisp/org/ob-dot
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-ditaa hides /usr/share/emacs/27.1/lisp/org/ob-ditaa
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-css hides /usr/share/emacs/27.1/lisp/org/ob-css
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-core hides /usr/share/emacs/27.1/lisp/org/ob-core
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-coq hides /usr/share/emacs/27.1/lisp/org/ob-coq
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-comint hides /usr/share/emacs/27.1/lisp/org/ob-comint
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-clojure hides /usr/share/emacs/27.1/lisp/org/ob-clojure
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-calc hides /usr/share/emacs/27.1/lisp/org/ob-calc
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-awk hides /usr/share/emacs/27.1/lisp/org/ob-awk
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-asymptote hides /usr/share/emacs/27.1/lisp/org/ob-asymptote
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-abc hides /usr/share/emacs/27.1/lisp/org/ob-abc
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-R hides /usr/share/emacs/27.1/lisp/org/ob-R
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-J hides /usr/share/emacs/27.1/lisp/org/ob-J
/home/lockywolf/.emacs.d/elpa/org-20201102/ob-C hides /usr/share/emacs/27.1/lisp/org/ob-C
/home/lockywolf/.emacs.d/elpa/flim-20201029.232/sasl hides /usr/share/emacs/27.1/lisp/net/sasl

Features:
(shadow emacsbug magit-utils reftex-auc reftex-dcr reftex-global
reftex-index reftex-ref reftex-parse reftex-sel reftex-toc debug
backtrace dired-aux finder skeleton hippie-exp expand ecb-speedbar
ecb-layout ecb-create-layout ecb-compilation ecb-common-browser
ecb-navigate ecb-mode-line ecb-face tree-buffer ecb-cedet-wrapper
ecb-util ede/dired cus-dep autoload cus-theme eieio-opt cl-print
bib-cite auctex-lua lua-mode mm-archive gnutls network-stream url-cache
org-clock lisp-mnt time-stamp misearch multi-isearch ffap view cal-china
lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs
diary-lib diary-loaddefs cal-iso org-duration image-file org-eldoc
cdlatex ol-eww eww mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir
gnus-sum shr svg dom gnus-group gnus-undo gnus-start gnus-cloud nnimap
nnmail mail-source utf7 netrc nnoo parse-time iso8601 gnus-spec gnus-int
gnus-range gnus-win gnus nnheader ol-docview ol-bbdb ol-w3m org-habit
face-remap company-oddmuse company-keywords company-etags company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-capf company-cmake company-semantic company-template
company-bbdb erc-xdcc erc-track erc-spelling flyspell erc-sound
erc-services erc-ring erc-page erc-desktop-notifications erc-notify
erc-networks erc-netsplit erc-menu erc-match erc-log erc-list erc-identd
erc-dcc erc-pcomplete erc-capab erc-button erc-fill erc-stamp erc-join
hideshow autoinsert ispell bibtex-utils auctex-latexmk tex-buf latex
latex-flymake flymake-proc flymake tex-ispell tex-style tex texmathp
org-noter-pdftools org-pdftools pdf-occur ibuf-ext ibuffer
ibuffer-loaddefs pdf-isearch pdf-annot tablist tablist-filter
semantic/wisent/comp pdf-misc imenu org-id org-noter pdf-tools pdf-view
bookmark pdf-cache pdf-info tq pdf-util org-ref org-ref-helm-bibtex
org-ref-helm helm-utils helm-bibtex bibtex-completion org-capture biblio
biblio-download biblio-dissemin biblio-ieee biblio-hal biblio-dblp
biblio-crossref biblio-arxiv biblio-doi biblio-core let-alist url-queue
helm-net helm-help helm-config org-ref-core warnings reftex-cite
org-ref-glossary org-ref-bibtex semantic/tag-file form-feed
semantic/db-file data-debug cedet-files org-ref-citeproc key-chord hydra
lv doi-utils org-ref-utils org-ref-pdf url-http url url-proxy
url-privacy url-expand url-methods url-history mailcap url-auth
url-cookie url-domsuf url-util url-gw nsm ol-bibtex htmlize f s org-ebib
ebib ebib-reading-list ebib-notes ebib-filters ebib-keywords ebib-utils
ebib-db parsebib crm bibtex reftex reftex-loaddefs reftex-vars khardel
yaml-mode vdirel helm async-bytecomp helm-global-bindings helm-easymenu
helm-source eieio-compat helm-multi-match helm-lib async org-vcard
sauron-ams-org sauron-elfeed sauron-identica sauron-jabber sauron-mu4e
sauron-twittering sauron-notifications notifications sauron-org
sauron-erc erc-goodies erc erc-backend erc-compat erc-loaddefs
sauron-dbus sauron cl bbdb bbdb-site timezone gnus-dired mu4e desktop
frameset mu4e-org mu4e-main mu4e-view thingatpt mu4e-headers
mu4e-compose mu4e-context mu4e-draft mu4e-actions rfc2368 mu4e-mark
mu4e-message flow-fill mu4e-proc mu4e-utils doc-view jka-compr
image-mode exif mu4e-lists mule-util hl-line mu4e-vars message rmc puny
dired-x dired dired-loaddefs rfc822 mml mml-sec epa derived epg
epg-config gnus-util rmail rmail-loaddefs text-property-search mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
mu4e-meta smtpmail-multi smtpmail sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils autorevert filenotify prettify-greek
elec-pair keywiz gamegrid display-line-numbers hi-lock org-tempo tempo
secrets dbus ido-completing-read+ memoize minibuf-eldef ido xml
ox-beamer ox-org ox-md ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar ox-html table ox-ascii ox-publish ox org-element avl-tree
ob-fortran ob-shell shell ob-latex ob-scheme geiser-impl help-fns
radix-tree geiser-custom geiser-base ob-C ob-plantuml org-protocol
idle-org-agenda org-agenda org-refile org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete
pcomplete org-list org-faces org-entities time-date foldout noutline
outline org-version ob-emacs-lisp ob-core ob-eval org-table org-keys
org-loaddefs cal-menu calendar cal-loaddefs ol org-compat advice
org-macs format-spec use-package-bind-key bind-key easy-mmode mic-paren
discover makey paredit-menu paredit geiser manoj-dark-theme company
pcase ggtags compile comint ewoc flycheck-clang-analyzer flycheck
ansi-color rx dash cl-extra help-mode use-package-ensure
use-package-core function-args semantic-directory semantic/ia ivy delsel
ivy-faces ivy-overlay colir color etags fileloop generator xref project
edmacro kmacro srecode/mode semantic/senator semantic/wisent
semantic/wisent/wisent srecode/insert srecode/filters srecode/args
ede/speedbar ede/files ede ede/detect ede/base ede/auto ede/source
eieio-speedbar speedbar sb-image dframe eieio-custom srecode/find
srecode/map srecode/ctxt srecode/compile srecode/dictionary
srecode/fields srecode/table srecode semantic/db-mode semantic/bovine/c
hideif cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs semantic/bovine/c-by semantic/lex-spp
semantic/bovine/gcc semantic/dep semantic/bovine semantic/analyze/refs
semantic/db-find semantic/db-ref semantic/decorate/mode
semantic/decorate pulse semantic/mru-bookmark ring semantic/idle
semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn
semantic/db eieio-base semantic/format ezimage semantic/tag-ls
semantic/find semantic/ctxt semantic/util-modes semantic/util semantic
pp semantic/tag semantic/lex semantic/fw mode-local find-func cedet
hamburger-menu tmm savehist cus-edit wid-edit cus-start cus-load server
finder-inf tex-site org2blog-autoloads slime-autoloads w3m-load info
package easymenu browse-url url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
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 move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 2640822 123710)
 (symbols 48 69587 1)
 (strings 32 348665 27737)
 (string-bytes 1 11746856)
 (vectors 16 122136)
 (vector-slots 8 2341003 99070)
 (floats 8 1192 508)
 (intervals 56 142598 3435)
 (buffers 1000 38))

-- 
Vladimir Nikishkin (MiEr, lockywolf)
(Laptop)





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-10 14:04 bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp Vladimir Nikishkin
@ 2020-11-10 14:57 ` Lars Ingebrigtsen
  2020-11-10 15:11   ` Vladimir Nikishkin
                     ` (2 more replies)
  2020-11-10 17:17 ` Francesco Potortì
  2020-11-11 16:10 ` Mattias Engdegård
  2 siblings, 3 replies; 28+ messages in thread
From: Lars Ingebrigtsen @ 2020-11-10 14:57 UTC (permalink / raw)
  To: Vladimir Nikishkin; +Cc: 44554

Vladimir Nikishkin <lockywolf@gmail.com> writes:

> #;(defvar demo-variable nil
>   "This is a demo-variable declared to illustrate SRFI-62.")
> ```
>
> The special reader syntax "#;" means "please, ignore the next valid
> s-expression completely".

Sexp-based comments would certainly be nice, but I wonder whether
comment blocks would be even more useful (if we have to prioritise):

#| this is
a comment |#

The advantage is that you don't have to have syntactically valid things
in comment blocks, while #; requires that you do.  #; also looks like
slightly hard to read if you do stuff like

(foo #;(foobar
        ...
        1)
     zot)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-10 14:57 ` Lars Ingebrigtsen
@ 2020-11-10 15:11   ` Vladimir Nikishkin
  2020-11-10 17:17   ` Drew Adams
  2020-11-10 19:31   ` Jean Louis
  2 siblings, 0 replies; 28+ messages in thread
From: Vladimir Nikishkin @ 2020-11-10 15:11 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 44554

[-- Attachment #1: Type: text/plain, Size: 1348 bytes --]

Well, fontification usually solves the problem of "slightly hard to read"
for me, because it's usually very different in co colour.

Speaking of block comments, I have no opinion about that. The point of
s-comments is exactly that they keep sexp syntax intact.
Block comments are not expected to do that (even for the human languages
within the comments).

--
Yours sincerely, Vladimir Nikishkin
(Sent with Google mail mobile.)

Lars Ingebrigtsen <larsi@gnus.org> 于 2020年11月10日周二 22:57写道:

> Vladimir Nikishkin <lockywolf@gmail.com> writes:
>
> > #;(defvar demo-variable nil
> >   "This is a demo-variable declared to illustrate SRFI-62.")
> > ```
> >
> > The special reader syntax "#;" means "please, ignore the next valid
> > s-expression completely".
>
> Sexp-based comments would certainly be nice, but I wonder whether
> comment blocks would be even more useful (if we have to prioritise):
>
> #| this is
> a comment |#
>
> The advantage is that you don't have to have syntactically valid things
> in comment blocks, while #; requires that you do.  #; also looks like
> slightly hard to read if you do stuff like
>
> (foo #;(foobar
>         ...
>         1)
>      zot)
>
> --
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no
>

[-- Attachment #2: Type: text/html, Size: 2072 bytes --]

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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-10 14:04 bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp Vladimir Nikishkin
  2020-11-10 14:57 ` Lars Ingebrigtsen
@ 2020-11-10 17:17 ` Francesco Potortì
  2020-11-10 23:18   ` Jose A. Ortega Ruiz
  2020-11-11 16:10 ` Mattias Engdegård
  2 siblings, 1 reply; 28+ messages in thread
From: Francesco Potortì @ 2020-11-10 17:17 UTC (permalink / raw)
  To: Vladimir Nikishkin; +Cc: 44554

>```
>#;(defvar demo-variable nil
>  "This is a demo-variable declared to illustrate SRFI-62.")
>```
>
>The special reader syntax "#;" means "please, ignore the next valid
>s-expression completely".

I have always dreamt of this :)





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-10 14:57 ` Lars Ingebrigtsen
  2020-11-10 15:11   ` Vladimir Nikishkin
@ 2020-11-10 17:17   ` Drew Adams
  2020-11-13 18:32     ` João Távora
  2020-11-10 19:31   ` Jean Louis
  2 siblings, 1 reply; 28+ messages in thread
From: Drew Adams @ 2020-11-10 17:17 UTC (permalink / raw)
  To: Lars Ingebrigtsen, Vladimir Nikishkin; +Cc: 44554

> I wonder whether comment blocks would be even more useful
> (if we have to prioritise):
> 
> #| this is
> a comment |#
> 
> The advantage is that you don't have to have syntactically valid things
> in comment blocks, while #; requires that you do.  #; also looks like
> slightly hard to read if you do stuff like
> 
> (foo #;(foobar
>         ...
>         1)
>      zot)

+1 for Common-Lisp block comments.

(And for reader macros, FWIW...)





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-10 14:57 ` Lars Ingebrigtsen
  2020-11-10 15:11   ` Vladimir Nikishkin
  2020-11-10 17:17   ` Drew Adams
@ 2020-11-10 19:31   ` Jean Louis
  2020-11-11  5:40     ` Richard Stallman
  2 siblings, 1 reply; 28+ messages in thread
From: Jean Louis @ 2020-11-10 19:31 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Vladimir Nikishkin, 44554

* Lars Ingebrigtsen <larsi@gnus.org> [2020-11-10 18:03]:
> Vladimir Nikishkin <lockywolf@gmail.com> writes:
> 
> > #;(defvar demo-variable nil
> >   "This is a demo-variable declared to illustrate SRFI-62.")
> > ```
> >
> > The special reader syntax "#;" means "please, ignore the next valid
> > s-expression completely".
> 
> Sexp-based comments would certainly be nice, but I wonder whether
> comment blocks would be even more useful (if we have to prioritise):
> 
> #| this is
> a comment |#

Voting for CL comment blocks.

It will increase documenting ability of Emacs.

I am using such to accept input from customers online, their human
readable data is shown in the comment blocks, and it is all LISP data
that can be processed.






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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-10 17:17 ` Francesco Potortì
@ 2020-11-10 23:18   ` Jose A. Ortega Ruiz
  0 siblings, 0 replies; 28+ messages in thread
From: Jose A. Ortega Ruiz @ 2020-11-10 23:18 UTC (permalink / raw)
  To: 44554


since people are voting, here's my +1 for sexp (#;) comments.  i've been
programming in languages that have them almost daily for the last ten
years, and find them invaluable, and better than block comments.

for me, their main advantages are that i commonly have my point at the
beginning of the sexp and don't need to move around to comment it out,
and that they can nest very easily (by that i mean that #;#; would
comment out the next 2 sexps, and so on).  

sexp comments also combine nicely with the fact that most of my
movements over lispy code are sexp-based, and help me not commenting out
by mistake closing parens.

in the much fewer occasions i need a block comment, it's normally easy
to use comment-region, and packages like paredit help there.

(of course if we end up having only block comments, it's trivial writing
an emacs command commenting out the next n sexps using them (or, heck,
even /not/ using them) so i'm fine either way at the end of the day.)

cheers,
jao
-- 
And what should they know of England who only England know? - Kipling






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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-10 19:31   ` Jean Louis
@ 2020-11-11  5:40     ` Richard Stallman
  2020-11-11  5:48       ` Jean Louis
  0 siblings, 1 reply; 28+ messages in thread
From: Richard Stallman @ 2020-11-11  5:40 UTC (permalink / raw)
  To: Jean Louis; +Cc: larsi, lockywolf, 44554

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > > #| this is
  > > a comment |#

  > Voting for CL comment blocks.

Before deciding to add any syntax to Emacs Lisp,
we must make sure that all the Lisp-parsing commands
can handle them.

If some other Lisp mode handles them already, that suggests
it won't be hard; but we have to verify it works in the context of Emacs Lisp mode before making the decision to add that synatx to EMacs Lisp.

-- 
Dr Richard Stallman
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)







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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-11  5:40     ` Richard Stallman
@ 2020-11-11  5:48       ` Jean Louis
  2020-11-11  8:18         ` Vladimir Nikishkin
  0 siblings, 1 reply; 28+ messages in thread
From: Jean Louis @ 2020-11-11  5:48 UTC (permalink / raw)
  To: Richard Stallman; +Cc: larsi, lockywolf, 44554

* Richard Stallman <rms@gnu.org> [2020-11-11 08:42]:
> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> 
>   > > #| this is
>   > > a comment |#
> 
>   > Voting for CL comment blocks.
> 
> Before deciding to add any syntax to Emacs Lisp, we must make sure
> that all the Lisp-parsing commands can handle them.
> 
> If some other Lisp mode handles them already, that suggests it won't
> be hard; but we have to verify it works in the context of Emacs Lisp
> mode before making the decision to add that synatx to EMacs Lisp.

Oh, yes! Thank you, it is understandable. In addition it would cause
many compatibility problems with outside packages and previous
versions of Emacs. 






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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-11  5:48       ` Jean Louis
@ 2020-11-11  8:18         ` Vladimir Nikishkin
  2020-11-11  8:25           ` Jean Louis
  2020-11-11  8:29           ` Andreas Schwab
  0 siblings, 2 replies; 28+ messages in thread
From: Vladimir Nikishkin @ 2020-11-11  8:18 UTC (permalink / raw)
  To: Jean Louis; +Cc: Lars Ingebrigtsen, Richard Stallman, 44554

Just to clarify,

I am not asking that exactly the syntax of srfi-62 as it is be added.
(Although Emacs Lisp already uses #'symbol as a reader-syntax switch,
so I suspect that it is possible)
I am asking for _some_ syntax to comment out valid sexps, whichever
fits Emacs Lisp most.

Vlad

On Wed, 11 Nov 2020 at 15:46, Jean Louis <bugs@gnu.support> wrote:
>
> * Richard Stallman <rms@gnu.org> [2020-11-11 08:42]:
> > [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> > [[[ whether defending the US Constitution against all enemies,     ]]]
> > [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> >
> >   > > #| this is
> >   > > a comment |#
> >
> >   > Voting for CL comment blocks.
> >
> > Before deciding to add any syntax to Emacs Lisp, we must make sure
> > that all the Lisp-parsing commands can handle them.
> >
> > If some other Lisp mode handles them already, that suggests it won't
> > be hard; but we have to verify it works in the context of Emacs Lisp
> > mode before making the decision to add that synatx to EMacs Lisp.
>
> Oh, yes! Thank you, it is understandable. In addition it would cause
> many compatibility problems with outside packages and previous
> versions of Emacs.
>


-- 
Yours sincerely, Vladimir Nikishkin
(Sent from GMail web interface.)





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-11  8:18         ` Vladimir Nikishkin
@ 2020-11-11  8:25           ` Jean Louis
  2020-11-11 14:18             ` Vladimir Nikishkin
  2020-11-12 23:55             ` Eduardo Ochs
  2020-11-11  8:29           ` Andreas Schwab
  1 sibling, 2 replies; 28+ messages in thread
From: Jean Louis @ 2020-11-11  8:25 UTC (permalink / raw)
  To: Vladimir Nikishkin; +Cc: Lars Ingebrigtsen, Richard Stallman, 44554

* Vladimir Nikishkin <lockywolf@gmail.com> [2020-11-11 11:19]:
> Just to clarify,
> 
> I am not asking that exactly the syntax of srfi-62 as it is be added.
> (Although Emacs Lisp already uses #'symbol as a reader-syntax switch,
> so I suspect that it is possible)
> I am asking for _some_ syntax to comment out valid sexps, whichever
> fits Emacs Lisp most.

Would this work?

'(

)

Or there could be some macro to comment out anything:

(do-not-process

Put anything you wish here.

)






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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-11  8:18         ` Vladimir Nikishkin
  2020-11-11  8:25           ` Jean Louis
@ 2020-11-11  8:29           ` Andreas Schwab
  2020-11-11 22:50             ` Jose A. Ortega Ruiz
  1 sibling, 1 reply; 28+ messages in thread
From: Andreas Schwab @ 2020-11-11  8:29 UTC (permalink / raw)
  To: Vladimir Nikishkin; +Cc: Lars Ingebrigtsen, Richard Stallman, Jean Louis, 44554

On Nov 11 2020, Vladimir Nikishkin wrote:

> I am asking for _some_ syntax to comment out valid sexps, whichever
> fits Emacs Lisp most.

The easiest way is to quote it.

Andreas.

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





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-11  8:25           ` Jean Louis
@ 2020-11-11 14:18             ` Vladimir Nikishkin
  2020-11-12 23:55             ` Eduardo Ochs
  1 sibling, 0 replies; 28+ messages in thread
From: Vladimir Nikishkin @ 2020-11-11 14:18 UTC (permalink / raw)
  To: Jean Louis; +Cc: Lars Ingebrigtsen, Richard Stallman, 44554

[-- Attachment #1: Type: text/plain, Size: 943 bytes --]

Well, as a "poor man's substitute". A quoted expression is still an
expression, and a macro can't expand to nothing, it will always expand to
at least an empty list.

I would still prefer a robust solution, even if it takes longer.

--
Yours sincerely, Vladimir Nikishkin
(Sent with Google mail mobile.)

Jean Louis <bugs@gnu.support> 于 2020年11月11日周三 21:57写道:

> * Vladimir Nikishkin <lockywolf@gmail.com> [2020-11-11 11:19]:
> > Just to clarify,
> >
> > I am not asking that exactly the syntax of srfi-62 as it is be added.
> > (Although Emacs Lisp already uses #'symbol as a reader-syntax switch,
> > so I suspect that it is possible)
> > I am asking for _some_ syntax to comment out valid sexps, whichever
> > fits Emacs Lisp most.
>
> Would this work?
>
> '(
>
> )
>
> Or there could be some macro to comment out anything:
>
> (do-not-process
>
> Put anything you wish here.
>
> )
>
>

[-- Attachment #2: Type: text/html, Size: 1447 bytes --]

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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for  Emacs Lisp.
  2020-11-10 14:04 bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp Vladimir Nikishkin
  2020-11-10 14:57 ` Lars Ingebrigtsen
  2020-11-10 17:17 ` Francesco Potortì
@ 2020-11-11 16:10 ` Mattias Engdegård
  2020-11-11 16:14   ` Vladimir Nikishkin
  2 siblings, 1 reply; 28+ messages in thread
From: Mattias Engdegård @ 2020-11-11 16:10 UTC (permalink / raw)
  To: Vladimir Nikishkin; +Cc: Lars Ingebrigtsen, Richard Stallman, 44554

mark-sexp (C-M-SPC) followed by comment-region already works, doesn't it? Not obvious that SRFI-62 comments would be substantially better.

I would very much like not having to update code that parses, lexes, searches, matches, pretty-prints, fontifies, navigates in, browses, indexes or otherwise recognises elisp surface syntax, that I have written over the years in various places -- at least not without a really good reason. Likely I'm not alone.

Sorry about the downbeat tone! I really don't mind syntax improvements, but here it seems unclear that the benefits would outweigh the costs.






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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-11 16:10 ` Mattias Engdegård
@ 2020-11-11 16:14   ` Vladimir Nikishkin
  2020-11-11 16:25     ` Mattias Engdegård
  0 siblings, 1 reply; 28+ messages in thread
From: Vladimir Nikishkin @ 2020-11-11 16:14 UTC (permalink / raw)
  To: Mattias Engdegård; +Cc: Lars Ingebrigtsen, Richard Stallman, 44554

[-- Attachment #1: Type: text/plain, Size: 918 bytes --]

Well, if your parsers and fontifiers recognize #'symbol constructions,
wouldn't they recognise #; in almost the same way?

--
Yours sincerely, Vladimir Nikishkin
(Sent with Google mail mobile.)

Mattias Engdegård <mattiase@acm.org> 于 2020年11月12日周四 00:11写道:

> mark-sexp (C-M-SPC) followed by comment-region already works, doesn't it?
> Not obvious that SRFI-62 comments would be substantially better.
>
> I would very much like not having to update code that parses, lexes,
> searches, matches, pretty-prints, fontifies, navigates in, browses, indexes
> or otherwise recognises elisp surface syntax, that I have written over the
> years in various places -- at least not without a really good reason.
> Likely I'm not alone.
>
> Sorry about the downbeat tone! I really don't mind syntax improvements,
> but here it seems unclear that the benefits would outweigh the costs.
>
>

[-- Attachment #2: Type: text/html, Size: 1237 bytes --]

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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-11 16:14   ` Vladimir Nikishkin
@ 2020-11-11 16:25     ` Mattias Engdegård
  2020-11-12 12:50       ` Lars Ingebrigtsen
  0 siblings, 1 reply; 28+ messages in thread
From: Mattias Engdegård @ 2020-11-11 16:25 UTC (permalink / raw)
  To: Vladimir Nikishkin; +Cc: Lars Ingebrigtsen, Richard Stallman, 44554

11 nov. 2020 kl. 17.14 skrev Vladimir Nikishkin <lockywolf@gmail.com>:

> Well, if your parsers and fontifiers recognize #'symbol constructions, wouldn't they recognise #; in almost the same way?

No, not without modification. For example, #; would be treated as # and a comment removing the rest of the line by most existing lexers.

And it's not just my code.






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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-11  8:29           ` Andreas Schwab
@ 2020-11-11 22:50             ` Jose A. Ortega Ruiz
  0 siblings, 0 replies; 28+ messages in thread
From: Jose A. Ortega Ruiz @ 2020-11-11 22:50 UTC (permalink / raw)
  To: 44554

On Wed, Nov 11 2020, Andreas Schwab wrote:

> On Nov 11 2020, Vladimir Nikishkin wrote:
>
>> I am asking for _some_ syntax to comment out valid sexps, whichever
>> fits Emacs Lisp most.
>
> The easiest way is to quote it.

(+ 3 '2 1) -> 6
(+ 3 #;2 1) -> 4

(+ 3 '(+ 1 2)) -> error
(+ 3 #;(+ 1 2)) -> 3






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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-11 16:25     ` Mattias Engdegård
@ 2020-11-12 12:50       ` Lars Ingebrigtsen
  2020-11-12 18:16         ` Drew Adams
  2020-11-13  0:38         ` Stefan Kangas
  0 siblings, 2 replies; 28+ messages in thread
From: Lars Ingebrigtsen @ 2020-11-12 12:50 UTC (permalink / raw)
  To: Mattias Engdegård; +Cc: Vladimir Nikishkin, Richard Stallman, 44554

Mattias Engdegård <mattiase@acm.org> writes:

> No, not without modification. For example, #; would be treated as #
> and a comment removing the rest of the line by most existing lexers.
>
> And it's not just my code.

Sure, it would be a new feature, and older lexers wouldn't understand
the new grammar, but that's true of (almost) any new language feature.
The question is whether this feature is useful enough to warrant the
pain inflicted, and...  I guess there isn't all that much enthusiasm for
it?  To me it sounds more like "that'd be neat" instead of "yeah, I can
see myself using it all the time".

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-12 12:50       ` Lars Ingebrigtsen
@ 2020-11-12 18:16         ` Drew Adams
  2020-11-12 20:11           ` Juri Linkov
  2020-11-13  0:38         ` Stefan Kangas
  1 sibling, 1 reply; 28+ messages in thread
From: Drew Adams @ 2020-11-12 18:16 UTC (permalink / raw)
  To: Lars Ingebrigtsen, Mattias Engdegård
  Cc: Vladimir Nikishkin, Richard Stallman, 44554

> > No, not without modification. For example, #; would be treated as #
> > and a comment removing the rest of the line by most existing lexers.
> > And it's not just my code.
> 
> Sure, it would be a new feature, and older lexers wouldn't understand
> the new grammar, but that's true of (almost) any new language feature.

If we had reader macros, and more generally a
user-configurable reader, like Common Lisp, then
maybe (?) users could adapt (e.g. disable or
whatever) such new constructs programmatically,
with Lisp.

Of course, if that were added then there would
at least be a one-time adaptation to it needed.






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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-12 18:16         ` Drew Adams
@ 2020-11-12 20:11           ` Juri Linkov
  2020-11-12 20:44             ` Drew Adams
  0 siblings, 1 reply; 28+ messages in thread
From: Juri Linkov @ 2020-11-12 20:11 UTC (permalink / raw)
  To: Drew Adams
  Cc: Mattias Engdegård, Lars Ingebrigtsen, 44554,
	Vladimir Nikishkin, Richard Stallman

>> > No, not without modification. For example, #; would be treated as #
>> > and a comment removing the rest of the line by most existing lexers.
>> > And it's not just my code.
>> 
>> Sure, it would be a new feature, and older lexers wouldn't understand
>> the new grammar, but that's true of (almost) any new language feature.
>
> If we had reader macros, and more generally a
> user-configurable reader, like Common Lisp, then
> maybe (?) users could adapt (e.g. disable or
> whatever) such new constructs programmatically,
> with Lisp.

I don't know if there is such a feature as transcompiling in Common Lisp
https://en.wikipedia.org/wiki/Source-to-source_compiler
but it should be possible to create a transpiler package that could help
to load Emacs Lisp files with newer syntax in older Emacs versions.





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-12 20:11           ` Juri Linkov
@ 2020-11-12 20:44             ` Drew Adams
  0 siblings, 0 replies; 28+ messages in thread
From: Drew Adams @ 2020-11-12 20:44 UTC (permalink / raw)
  To: Juri Linkov
  Cc: Mattias Engdegård, Lars Ingebrigtsen, 44554,
	Vladimir Nikishkin, Richard Stallman

> > If we had reader macros, and more generally a
> > user-configurable reader, like Common Lisp, then
> > maybe (?) users could adapt (e.g. disable or
> > whatever) such new constructs programmatically,
> > with Lisp.
> 
> I don't know if there is such a feature as transcompiling in Common
> Lisp
> https://urldefense.com/v3/__https://en.wikipedia.org/wiki/Source-to-
> source_compiler__;!!GqivPVa7Brio!LRZ90JJlz_AJMQw1M9NIPUgK3V76G9TDlhLoGz
> KzsknMnjUYOaJNZ1i8rwnHKDDn$
> but it should be possible to create a transpiler package that could
> help to load Emacs Lisp files with newer syntax in older Emacs versions.

Interesting; thanks.





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-11  8:25           ` Jean Louis
  2020-11-11 14:18             ` Vladimir Nikishkin
@ 2020-11-12 23:55             ` Eduardo Ochs
  1 sibling, 0 replies; 28+ messages in thread
From: Eduardo Ochs @ 2020-11-12 23:55 UTC (permalink / raw)
  To: Jean Louis; +Cc: Lars Ingebrigtsen, Vladimir Nikishkin, 44554, Richard Stallman

I use this a lot in my elip files, but with a space between the
initial apostrophe and the open perenthesis, like this:

;; A test:
' (let ((ee-youtubedl-dirs '("DIR1" "DIR2")))
    (find-youtubedl-links))

Without the space after the apostrophe a C-x C-e after the sexp would
just return the (let ...) instead of executing it. I like this trick
because it works anywhere and beginners understand it in seconds.

  Cheers,
    Eduardo Ochs
    http://angg.twu.net/#eev
    http://angg.twu.net/emacsconf2019.html


On Wed, 11 Nov 2020 at 10:59, Jean Louis <bugs@gnu.support> wrote:
>
> * Vladimir Nikishkin <lockywolf@gmail.com> [2020-11-11 11:19]:
> > Just to clarify,
> >
> > I am not asking that exactly the syntax of srfi-62 as it is be added.
> > (Although Emacs Lisp already uses #'symbol as a reader-syntax switch,
> > so I suspect that it is possible)
> > I am asking for _some_ syntax to comment out valid sexps, whichever
> > fits Emacs Lisp most.
>
> Would this work?
>
> '(
>
> )
>
> Or there could be some macro to comment out anything:
>
> (do-not-process
>
> Put anything you wish here.
>
> )





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-12 12:50       ` Lars Ingebrigtsen
  2020-11-12 18:16         ` Drew Adams
@ 2020-11-13  0:38         ` Stefan Kangas
  2020-11-13 13:24           ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2020-11-13 21:03           ` Tassilo Horn
  1 sibling, 2 replies; 28+ messages in thread
From: Stefan Kangas @ 2020-11-13  0:38 UTC (permalink / raw)
  To: Lars Ingebrigtsen, Mattias Engdegård
  Cc: Vladimir Nikishkin, Richard Stallman, 44554

Lars Ingebrigtsen <larsi@gnus.org> writes:

> The question is whether this feature is useful enough to warrant the
> pain inflicted, and...  I guess there isn't all that much enthusiasm for
> it?  To me it sounds more like "that'd be neat" instead of "yeah, I can
> see myself using it all the time".

FWIW, I for one would appreciate SRFI-62 style comments.  I often find
myself commenting out otherwise valid sexps, and the added convenience
would be nice.  Just today I had a debugging session where they would
have definitely made things a bit more comfortable, especially given
that they nest easily.

That said, I won't exactly bring out the torches and pitchforks if the
proposal gets rejected.

(I don't have enough experience with Common Lisp to say much about the
#||#-comments.)





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-13  0:38         ` Stefan Kangas
@ 2020-11-13 13:24           ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2020-11-13 13:47             ` Stefan Kangas
  2020-11-13 21:03           ` Tassilo Horn
  1 sibling, 1 reply; 28+ messages in thread
From: Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2020-11-13 13:24 UTC (permalink / raw)
  To: Stefan Kangas
  Cc: Mattias Engdegård, Lars Ingebrigtsen, 44554,
	Vladimir Nikishkin, Richard Stallman

Stefan Kangas <stefankangas@gmail.com> writes:

> Lars Ingebrigtsen <larsi@gnus.org> writes:
>
>> The question is whether this feature is useful enough to warrant the
>> pain inflicted, and...  I guess there isn't all that much enthusiasm for
>> it?  To me it sounds more like "that'd be neat" instead of "yeah, I can
>> see myself using it all the time".
>
> FWIW, I for one would appreciate SRFI-62 style comments.  I often find
> myself commenting out otherwise valid sexps, and the added convenience
> would be nice.  Just today I had a debugging session where they would
> have definitely made things a bit more comfortable, especially given
> that they nest easily.
>
> That said, I won't exactly bring out the torches and pitchforks if the
> proposal gets rejected.
>
> (I don't have enough experience with Common Lisp to say much about the
> #||#-comments.)

My 2 cents,

I like the idea of a dedicated syntax to comment out sexps.

That said I believe `comment-dwim' solves already this problem to a good
degree for me.

given:

(foo (bar))

having as a region '(bar)' M-; produces

(foo ;; (bar)
     )

I indeed use it quite frequently.

  Andrea





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-13 13:24           ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2020-11-13 13:47             ` Stefan Kangas
  2020-11-13 14:07               ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Kangas @ 2020-11-13 13:47 UTC (permalink / raw)
  To: Andrea Corallo
  Cc: Mattias Engdegård, Lars Ingebrigtsen, 44554,
	Vladimir Nikishkin, Richard Stallman

Andrea Corallo <akrl@sdf.org> writes:

> That said I believe `comment-dwim' solves already this problem to a good
> degree for me.
>
> given:
>
> (foo (bar))
>
> having as a region '(bar)' M-; produces
>
> (foo ;; (bar)
>      )

Indeed.

What's less fun is when you have to back the change out, or when you
want to incrementally comment out a nested sexp.  It works well, but
it's a wee bit fiddly.

For example, given:

(foo (bar ...
          (baz ...)))

With `comment-dwim', I might get something like:

(foo ;; (bar ...
     ;;      ;; (baz ...)
     ;;      )
     )

This would be more convenient:

(foo #;(bar ...
          #;(baz ...)))





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-13 13:47             ` Stefan Kangas
@ 2020-11-13 14:07               ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 28+ messages in thread
From: Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2020-11-13 14:07 UTC (permalink / raw)
  To: Stefan Kangas
  Cc: Mattias Engdegård, Lars Ingebrigtsen, 44554,
	Vladimir Nikishkin, Richard Stallman

Stefan Kangas <stefankangas@gmail.com> writes:

> Andrea Corallo <akrl@sdf.org> writes:
>
>> That said I believe `comment-dwim' solves already this problem to a good
>> degree for me.
>>
>> given:
>>
>> (foo (bar))
>>
>> having as a region '(bar)' M-; produces
>>
>> (foo ;; (bar)
>>      )
>
> Indeed.
>
> What's less fun is when you have to back the change out, or when you
> want to incrementally comment out a nested sexp.  It works well, but
> it's a wee bit fiddly.
>
> For example, given:
>
> (foo (bar ...
>           (baz ...)))
>
> With `comment-dwim', I might get something like:
>
> (foo ;; (bar ...
>      ;;      ;; (baz ...)
>      ;;      )
>      )
>
> This would be more convenient:
>
> (foo #;(bar ...
>           #;(baz ...)))

Agree, that's one of the reasons why I agree would be nice to have ;)

As typically we do not commit commented code is no big deal as we
probably (at least I) revert the unnecessary diff hunks, but yeah would
be an improvement.  Also uncommenting would put the code in the initial
state instead of leaving unnecessary newlines.

  Andrea





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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-10 17:17   ` Drew Adams
@ 2020-11-13 18:32     ` João Távora
  0 siblings, 0 replies; 28+ messages in thread
From: João Távora @ 2020-11-13 18:32 UTC (permalink / raw)
  To: Drew Adams; +Cc: Lars Ingebrigtsen, Vladimir Nikishkin, 44554

[-- Attachment #1: Type: text/plain, Size: 763 bytes --]

On Tue, Nov 10, 2020, 17:22 Drew Adams <drew.adams@oracle.com> wrote:

> > I wonder whether comment blocks would be even more useful
> > (if we have to prioritise):
> >
> > #| this is
> > a comment |#
> >
> > The advantage is that you don't have to have syntactically valid things
> > in comment blocks, while #; requires that you do.  #; also looks like
> > slightly hard to read if you do stuff like
> >
> > (foo #;(foobar
> >         ...
> >         1)
> >      zot)
>
> +1 for Common-Lisp block comments.
>

+1. Let's not stray away from existing solutions.

(And for reader macros, FWIW...)
>

+2 Yep, just make a programmable reader.

Even without such a thing, reader conditionals are just what's requested
here.

João

>

[-- Attachment #2: Type: text/html, Size: 1711 bytes --]

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

* bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp.
  2020-11-13  0:38         ` Stefan Kangas
  2020-11-13 13:24           ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2020-11-13 21:03           ` Tassilo Horn
  1 sibling, 0 replies; 28+ messages in thread
From: Tassilo Horn @ 2020-11-13 21:03 UTC (permalink / raw)
  To: Stefan Kangas
  Cc: Mattias Engdegård, Lars Ingebrigtsen, 44554,
	Vladimir Nikishkin, Richard Stallman

Stefan Kangas <stefankangas@gmail.com> writes:

> FWIW, I for one would appreciate SRFI-62 style comments.  I often find
> myself commenting out otherwise valid sexps, and the added convenience
> would be nice.

Same for me.  Some years ago when I've programmed in Clojure most of the
time which has those comments in the form of #_(+ 1 2 3), I found it
increadibly useful and convenient during experimentation with the code,
i.e., the ability to inactivate some part of a deeply nested form and
temporarily replace it with some alternative, switch back and forth,
etc.

Bye,
Tassilo





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

end of thread, other threads:[~2020-11-13 21:03 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-10 14:04 bug#44554: 27.1; Feature request: SRFI-62 style comments for Emacs Lisp Vladimir Nikishkin
2020-11-10 14:57 ` Lars Ingebrigtsen
2020-11-10 15:11   ` Vladimir Nikishkin
2020-11-10 17:17   ` Drew Adams
2020-11-13 18:32     ` João Távora
2020-11-10 19:31   ` Jean Louis
2020-11-11  5:40     ` Richard Stallman
2020-11-11  5:48       ` Jean Louis
2020-11-11  8:18         ` Vladimir Nikishkin
2020-11-11  8:25           ` Jean Louis
2020-11-11 14:18             ` Vladimir Nikishkin
2020-11-12 23:55             ` Eduardo Ochs
2020-11-11  8:29           ` Andreas Schwab
2020-11-11 22:50             ` Jose A. Ortega Ruiz
2020-11-10 17:17 ` Francesco Potortì
2020-11-10 23:18   ` Jose A. Ortega Ruiz
2020-11-11 16:10 ` Mattias Engdegård
2020-11-11 16:14   ` Vladimir Nikishkin
2020-11-11 16:25     ` Mattias Engdegård
2020-11-12 12:50       ` Lars Ingebrigtsen
2020-11-12 18:16         ` Drew Adams
2020-11-12 20:11           ` Juri Linkov
2020-11-12 20:44             ` Drew Adams
2020-11-13  0:38         ` Stefan Kangas
2020-11-13 13:24           ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-11-13 13:47             ` Stefan Kangas
2020-11-13 14:07               ` Andrea Corallo via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-11-13 21:03           ` Tassilo Horn

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).