From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Jules Tamagnan Newsgroups: gmane.emacs.bugs Subject: bug#33195: 27.0.50; user-login-name has no group-login-name Date: Mon, 29 Oct 2018 11:52:17 -0700 Message-ID: <87d0rsegbi.fsf@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1540839071 783 195.159.176.226 (29 Oct 2018 18:51:11 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 29 Oct 2018 18:51:11 +0000 (UTC) To: 33195@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Oct 29 19:51:07 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gHCcz-000068-7i for geb-bug-gnu-emacs@m.gmane.org; Mon, 29 Oct 2018 19:51:05 +0100 Original-Received: from localhost ([::1]:48297 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gHCf5-0006tR-FK for geb-bug-gnu-emacs@m.gmane.org; Mon, 29 Oct 2018 14:53:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60171) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gHCew-0006tK-6O for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2018 14:53:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gHCes-0007Zs-T6 for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2018 14:53:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:47962) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gHCes-0007ZV-NO for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2018 14:53:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gHCes-0007aV-JK for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2018 14:53:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jules Tamagnan Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 29 Oct 2018 18:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 33195 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.154083917329147 (code B ref -1); Mon, 29 Oct 2018 18:53:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 29 Oct 2018 18:52:53 +0000 Original-Received: from localhost ([127.0.0.1]:52220 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gHCei-0007a2-GD for submit@debbugs.gnu.org; Mon, 29 Oct 2018 14:52:53 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:50460) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gHCeg-0007Zp-7z for submit@debbugs.gnu.org; Mon, 29 Oct 2018 14:52:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gHCeY-0007Il-3h for submit@debbugs.gnu.org; Mon, 29 Oct 2018 14:52:44 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:42198) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gHCeX-0007Ie-US for submit@debbugs.gnu.org; Mon, 29 Oct 2018 14:52:41 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60010) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gHCeV-0005vy-7B for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2018 14:52:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gHCeR-0007DK-G2 for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2018 14:52:39 -0400 Original-Received: from mail-pg1-x52b.google.com ([2607:f8b0:4864:20::52b]:41408) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gHCeN-0007AN-ON for bug-gnu-emacs@gnu.org; Mon, 29 Oct 2018 14:52:32 -0400 Original-Received: by mail-pg1-x52b.google.com with SMTP id 23-v6so4340381pgc.8 for ; Mon, 29 Oct 2018 11:52:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=SGWCnumxZyDe4WsWtxrXR/hJFoF8SzVnofzHdBNX3E8=; b=KoqTQXVRqRjwUeF5sSYPZp2YdDEd1BU3incX/RW0sGTTzR8pxX3unmtJdmW/iti0mf c2H9ZdQBAgLgoIIahYeMtg2r0KyYNjTTVtCNAIUpP5VkUriMlmS8yjr61/tyDUuqbq6S w72kSNEXkDqPIjyXRPhHTw6vzhn55YRw8Uod+VxMEhM+/HZrE/e9n/6F5kxxFQsZMdUU Ym5+mKoWGWsgRWLxjKLaETmsW+jybS2BgnCzrMcUw9vFX5UoELxPwP5iU0qwHteFcC+P txuZG04HUyLjdTf7t1es5driO8FGV/MV9q21kNDFzHHrlSYITzrBAR+bUkeevaPaAsVe PB7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=SGWCnumxZyDe4WsWtxrXR/hJFoF8SzVnofzHdBNX3E8=; b=so2heaoydymOu2t58oNB9+p1ptLyGgtxOyxc25OVM/ufKTvIUxzw1n4vrgLtQAqGLV 6D5zrddaVGdsVwBoy3vHLCydvT2W3nOatyWHM4gjtcICO0gAglZEc1iGar+X0ghtnwCq FpYiI2zy7iQjmP2qrj8Q/Ti9jXrN2Va8zaexECnOV4vexSkuu6Sf6x71VLj34npSggfS FozYV+t5uSubTJPZ7aC8+xudhtqreJiESoM1i79g087GosT1Dm29cYamotPdGZgws05k OXiklplkgRAlqnLR88jjHmo2VF7uWToQXBiwkXnGqAeaoZNBWEUp0mRbgCPxxIkosUHa sI/A== X-Gm-Message-State: AGRZ1gKqJzrFvKwPRFwHGVgsKl3DtrmGDRvRrKL4G1lTP0OEojExSjca tyhSiZbUmN/kjRnXxiJ1Ohr7OHQC X-Google-Smtp-Source: AJdET5f6ZLnAWHqh3Bv9WcWYPYFp64XJFc9/3/d/QS0ht5/i4u3Kjgy3YdC58MocgdtOVYXgJAox1Q== X-Received: by 2002:a62:4dc4:: with SMTP id a187-v6mr16360858pfb.92.1540839149986; Mon, 29 Oct 2018 11:52:29 -0700 (PDT) Original-Received: from jat-delphix-lap (DELPHIX-COR.ear2.SanJose1.Level3.net. [4.16.207.62]) by smtp.gmail.com with ESMTPSA id q15-v6sm2259620pff.49.2018.10.29.11.52.18 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Oct 2018 11:52:28 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:151784 Archived-At: I've found it difficult to go from an integer group id to the name of that group. I've looked at the source for `user-login-name` and `system-groups` and could not find a way to do what I needed. As such I think it would be great to add a function to do that. This is my first change to emacs C code, so I'm unsure how to make an argument not be optional. I have signed the FSF CLA for emacs. diff --git a/src/editfns.c b/src/editfns.c index 84cfbb2..c25164a 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -1352,6 +1352,24 @@ of the user with that uid, or nil if there is no suc= h user. */) return (pw ? build_string (pw->pw_name) : Qnil); } +DEFUN ("group-name", Fgroup_name, Sgroup_name, 0, 1, 0, + doc: /* If argument GID is an integer or a float, return the login = name +of the group with that GID, or nil if there is no such GID. */) + (Lisp_Object gid) +{ + struct group *gr; + gid_t id; + + if (NILP (gid)) + return Qnil; + + CONS_TO_INTEGER (gid, gid_t, id); + block_input (); + gr =3D getgrgid (id); + unblock_input (); + return (gr ? build_string (gr->gr_name) : Qnil); +} + DEFUN ("user-real-login-name", Fuser_real_login_name, Suser_real_login_nam= e, 0, 0, 0, doc: /* Return the name of the user's real uid, as a string. @@ -5517,6 +5535,7 @@ functions if all the text being accessed has this pro= perty. */); defsubr (&Sinsert_byte); defsubr (&Suser_login_name); + defsubr (&Sgroup_name); defsubr (&Suser_real_login_name); defsubr (&Suser_uid); defsubr (&Suser_real_uid); In GNU Emacs 27.0.50 (build 6, x86_64-pc-linux-gnu, GTK+ Version 3.18.9) of 2018-10-29 built on jat-delphix-lap Repository revision: 5b5f441ff8986800aa5f175bb5db2dd90e642a3a Windowing system distributor 'The X.Org Foundation', version 11.0.11804000 System Description: Ubuntu 16.04.5 LTS Recent messages: Quit Type "q" to delete help window. mouse-2, RET: find function's definition Company backend =E2=80=99company-clang=E2=80=99 could not be initialized: Company found no clang executable Loading /home/jat/.emacs.d/recentf...done Cleaning up the recentf list...done (0 removed) Quit Mark set Quit Configured using: 'configure --with-mailutils' Configured features: XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS NOTIFY GNUTLS FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Dired by name Minor modes in effect: recentf-mode: t diff-auto-refine-mode: t flycheck-pos-tip-mode: t global-flycheck-mode: t fancy-battery-mode: t projectile-mode: t imagex-global-sticky-mode: t imagex-sticky-mode: t async-bytecomp-package-mode: t pyvenv-tracking-mode: t pyvenv-mode: t pdf-occur-dired-minor-mode: t pdf-occur-global-minor-mode: t persistent-scratch-autosave-mode: t winner-mode: t ivy-rich-mode: t ivy-mode: t shell-dirtrack-mode: t global-undo-tree-mode: t display-time-mode: t minibuffer-line-mode: t minions-mode: t company-quickhelp-mode: t company-quickhelp-local-mode: t global-company-mode: t company-mode: t yas-global-mode: t yas-minor-mode: t show-paren-mode: t override-global-mode: t electric-pair-mode: t image-diredx-async-mode: t tooltip-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t line-number-mode: t transient-mark-mode: t abbrev-mode: 1 Load-path shadows: ~/Development/git/fork/ace-window/ace-window hides /home/jat/.emacs.d/elpa/= ace-window-20180814.1516/ace-window ~/Development/git/fork/ivy-rich/ivy-rich hides /home/jat/.emacs.d/elpa/ivy-= rich-20181001.1147/ivy-rich ~/Development/git/writeable/multiple-cursors.el/mc-mark-pop hides /home/jat= /.emacs.d/elpa/multiple-cursors-20180913.1237/mc-mark-pop ~/Development/git/writeable/multiple-cursors.el/mc-separate-operations hide= s /home/jat/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-separate-operat= ions ~/Development/git/writeable/multiple-cursors.el/rectangular-region-mode hid= es /home/jat/.emacs.d/elpa/multiple-cursors-20180913.1237/rectangular-regio= n-mode ~/Development/git/writeable/multiple-cursors.el/mc-mark-more hides /home/ja= t/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-mark-more ~/Development/git/writeable/multiple-cursors.el/multiple-cursors hides /hom= e/jat/.emacs.d/elpa/multiple-cursors-20180913.1237/multiple-cursors ~/Development/git/writeable/multiple-cursors.el/mc-hide-unmatched-lines-mod= e hides /home/jat/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-hide-unma= tched-lines-mode ~/Development/git/writeable/multiple-cursors.el/multiple-cursors-pkg hides = /home/jat/.emacs.d/elpa/multiple-cursors-20180913.1237/multiple-cursors-pkg ~/Development/git/writeable/multiple-cursors.el/multiple-cursors-core hides= /home/jat/.emacs.d/elpa/multiple-cursors-20180913.1237/multiple-cursors-co= re ~/Development/git/writeable/multiple-cursors.el/mc-cycle-cursors hides /hom= e/jat/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-cycle-cursors ~/Development/git/writeable/multiple-cursors.el/mc-edit-lines hides /home/j= at/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-edit-lines /home/jat/.emacs.d/elpa/org-20181001/org-habit hides /home/jat/Development/= emacs/lisp/org/org-habit /home/jat/.emacs.d/elpa/org-20181001/org-bibtex hides /home/jat/Development= /emacs/lisp/org/org-bibtex /home/jat/.emacs.d/elpa/org-20181001/ob-ebnf hides /home/jat/Development/em= acs/lisp/org/ob-ebnf /home/jat/.emacs.d/elpa/org-20181001/ob-scheme hides /home/jat/Development/= emacs/lisp/org/ob-scheme /home/jat/.emacs.d/elpa/org-20181001/ob-stan hides /home/jat/Development/em= acs/lisp/org/ob-stan /home/jat/.emacs.d/elpa/org-20181001/ox-man hides /home/jat/Development/ema= cs/lisp/org/ox-man /home/jat/.emacs.d/elpa/org-20181001/ob-ocaml hides /home/jat/Development/e= macs/lisp/org/ob-ocaml /home/jat/.emacs.d/elpa/org-20181001/ob-lilypond hides /home/jat/Developmen= t/emacs/lisp/org/ob-lilypond /home/jat/.emacs.d/elpa/org-20181001/ob-css hides /home/jat/Development/ema= cs/lisp/org/ob-css /home/jat/.emacs.d/elpa/org-20181001/ox-md hides /home/jat/Development/emac= s/lisp/org/ox-md /home/jat/.emacs.d/elpa/org-20181001/ob-hledger hides /home/jat/Development= /emacs/lisp/org/ob-hledger /home/jat/.emacs.d/elpa/org-20181001/org-agenda hides /home/jat/Development= /emacs/lisp/org/org-agenda /home/jat/.emacs.d/elpa/org-20181001/org-gnus hides /home/jat/Development/e= macs/lisp/org/org-gnus /home/jat/.emacs.d/elpa/org-20181001/ox-odt hides /home/jat/Development/ema= cs/lisp/org/ox-odt /home/jat/.emacs.d/elpa/org-20181001/org-datetree hides /home/jat/Developme= nt/emacs/lisp/org/org-datetree /home/jat/.emacs.d/elpa/org-20181001/ob-ditaa hides /home/jat/Development/e= macs/lisp/org/ob-ditaa /home/jat/.emacs.d/elpa/org-20181001/org-src hides /home/jat/Development/em= acs/lisp/org/org-src /home/jat/.emacs.d/elpa/org-20181001/org-mouse hides /home/jat/Development/= emacs/lisp/org/org-mouse /home/jat/.emacs.d/elpa/org-20181001/ob-abc hides /home/jat/Development/ema= cs/lisp/org/ob-abc /home/jat/.emacs.d/elpa/org-20181001/ob-calc hides /home/jat/Development/em= acs/lisp/org/ob-calc /home/jat/.emacs.d/elpa/org-20181001/ob-vala hides /home/jat/Development/em= acs/lisp/org/ob-vala /home/jat/.emacs.d/elpa/org-20181001/org-macro hides /home/jat/Development/= emacs/lisp/org/org-macro /home/jat/.emacs.d/elpa/org-20181001/ob-comint hides /home/jat/Development/= emacs/lisp/org/ob-comint /home/jat/.emacs.d/elpa/org-20181001/ob-tangle hides /home/jat/Development/= emacs/lisp/org/ob-tangle /home/jat/.emacs.d/elpa/org-20181001/ob hides /home/jat/Development/emacs/l= isp/org/ob /home/jat/.emacs.d/elpa/org-20181001/ox-latex hides /home/jat/Development/e= macs/lisp/org/ox-latex /home/jat/.emacs.d/elpa/org-20181001/ob-forth hides /home/jat/Development/e= macs/lisp/org/ob-forth /home/jat/.emacs.d/elpa/org-20181001/org-lint hides /home/jat/Development/e= macs/lisp/org/org-lint /home/jat/.emacs.d/elpa/org-20181001/ob-octave hides /home/jat/Development/= emacs/lisp/org/ob-octave /home/jat/.emacs.d/elpa/org-20181001/ox-texinfo hides /home/jat/Development= /emacs/lisp/org/ox-texinfo /home/jat/.emacs.d/elpa/org-20181001/org-w3m hides /home/jat/Development/em= acs/lisp/org/org-w3m /home/jat/.emacs.d/elpa/org-20181001/ox hides /home/jat/Development/emacs/l= isp/org/ox /home/jat/.emacs.d/elpa/org-20181001/ob-clojure hides /home/jat/Development= /emacs/lisp/org/ob-clojure /home/jat/.emacs.d/elpa/org-20181001/org-install hides /home/jat/Developmen= t/emacs/lisp/org/org-install /home/jat/.emacs.d/elpa/org-20181001/ob-table hides /home/jat/Development/e= macs/lisp/org/ob-table /home/jat/.emacs.d/elpa/org-20181001/ob-C hides /home/jat/Development/emacs= /lisp/org/ob-C /home/jat/.emacs.d/elpa/org-20181001/ob-fortran hides /home/jat/Development= /emacs/lisp/org/ob-fortran /home/jat/.emacs.d/elpa/org-20181001/ob-python hides /home/jat/Development/= emacs/lisp/org/ob-python /home/jat/.emacs.d/elpa/org-20181001/ob-picolisp hides /home/jat/Developmen= t/emacs/lisp/org/ob-picolisp /home/jat/.emacs.d/elpa/org-20181001/ob-lua hides /home/jat/Development/ema= cs/lisp/org/ob-lua /home/jat/.emacs.d/elpa/org-20181001/org-eshell hides /home/jat/Development= /emacs/lisp/org/org-eshell /home/jat/.emacs.d/elpa/org-20181001/ob-dot hides /home/jat/Development/ema= cs/lisp/org/ob-dot /home/jat/.emacs.d/elpa/org-20181001/ox-ascii hides /home/jat/Development/e= macs/lisp/org/ox-ascii /home/jat/.emacs.d/elpa/org-20181001/org-attach hides /home/jat/Development= /emacs/lisp/org/org-attach /home/jat/.emacs.d/elpa/org-20181001/ob-org hides /home/jat/Development/ema= cs/lisp/org/ob-org /home/jat/.emacs.d/elpa/org-20181001/ob-screen hides /home/jat/Development/= emacs/lisp/org/ob-screen /home/jat/.emacs.d/elpa/org-20181001/ob-shell hides /home/jat/Development/e= macs/lisp/org/ob-shell /home/jat/.emacs.d/elpa/org-20181001/org-indent hides /home/jat/Development= /emacs/lisp/org/org-indent /home/jat/.emacs.d/elpa/org-20181001/ob-eval hides /home/jat/Development/em= acs/lisp/org/ob-eval /home/jat/.emacs.d/elpa/org-20181001/org-capture hides /home/jat/Developmen= t/emacs/lisp/org/org-capture /home/jat/.emacs.d/elpa/org-20181001/ob-keys hides /home/jat/Development/em= acs/lisp/org/ob-keys /home/jat/.emacs.d/elpa/org-20181001/org-inlinetask hides /home/jat/Develop= ment/emacs/lisp/org/org-inlinetask /home/jat/.emacs.d/elpa/org-20181001/ob-perl hides /home/jat/Development/em= acs/lisp/org/ob-perl /home/jat/.emacs.d/elpa/org-20181001/ob-J hides /home/jat/Development/emacs= /lisp/org/ob-J /home/jat/.emacs.d/elpa/org-20181001/org-macs hides /home/jat/Development/e= macs/lisp/org/org-macs /home/jat/.emacs.d/elpa/org-20181001/ob-emacs-lisp hides /home/jat/Developm= ent/emacs/lisp/org/ob-emacs-lisp /home/jat/.emacs.d/elpa/org-20181001/ob-exp hides /home/jat/Development/ema= cs/lisp/org/ob-exp /home/jat/.emacs.d/elpa/org-20181001/ob-sqlite hides /home/jat/Development/= emacs/lisp/org/ob-sqlite /home/jat/.emacs.d/elpa/org-20181001/org-mhe hides /home/jat/Development/em= acs/lisp/org/org-mhe /home/jat/.emacs.d/elpa/org-20181001/ob-maxima hides /home/jat/Development/= emacs/lisp/org/ob-maxima /home/jat/.emacs.d/elpa/org-20181001/ox-html hides /home/jat/Development/em= acs/lisp/org/ox-html /home/jat/.emacs.d/elpa/org-20181001/ob-lob hides /home/jat/Development/ema= cs/lisp/org/ob-lob /home/jat/.emacs.d/elpa/org-20181001/ob-sed hides /home/jat/Development/ema= cs/lisp/org/ob-sed /home/jat/.emacs.d/elpa/org-20181001/org-eww hides /home/jat/Development/em= acs/lisp/org/org-eww /home/jat/.emacs.d/elpa/org-20181001/org-rmail hides /home/jat/Development/= emacs/lisp/org/org-rmail /home/jat/.emacs.d/elpa/org-20181001/ob-processing hides /home/jat/Developm= ent/emacs/lisp/org/ob-processing /home/jat/.emacs.d/elpa/org-20181001/org hides /home/jat/Development/emacs/= lisp/org/org /home/jat/.emacs.d/elpa/org-20181001/org-loaddefs hides /home/jat/Developme= nt/emacs/lisp/org/org-loaddefs /home/jat/.emacs.d/elpa/org-20181001/org-id hides /home/jat/Development/ema= cs/lisp/org/org-id /home/jat/.emacs.d/elpa/org-20181001/org-mobile hides /home/jat/Development= /emacs/lisp/org/org-mobile /home/jat/.emacs.d/elpa/org-20181001/ob-ref hides /home/jat/Development/ema= cs/lisp/org/ob-ref /home/jat/.emacs.d/elpa/org-20181001/org-entities hides /home/jat/Developme= nt/emacs/lisp/org/org-entities /home/jat/.emacs.d/elpa/org-20181001/ob-java hides /home/jat/Development/em= acs/lisp/org/ob-java /home/jat/.emacs.d/elpa/org-20181001/ob-latex hides /home/jat/Development/e= macs/lisp/org/ob-latex /home/jat/.emacs.d/elpa/org-20181001/org-plot hides /home/jat/Development/e= macs/lisp/org/org-plot /home/jat/.emacs.d/elpa/org-20181001/ob-lisp hides /home/jat/Development/em= acs/lisp/org/ob-lisp /home/jat/.emacs.d/elpa/org-20181001/ob-awk hides /home/jat/Development/ema= cs/lisp/org/ob-awk /home/jat/.emacs.d/elpa/org-20181001/ob-ledger hides /home/jat/Development/= emacs/lisp/org/ob-ledger /home/jat/.emacs.d/elpa/org-20181001/ob-sass hides /home/jat/Development/em= acs/lisp/org/ob-sass /home/jat/.emacs.d/elpa/org-20181001/org-ctags hides /home/jat/Development/= emacs/lisp/org/org-ctags /home/jat/.emacs.d/elpa/org-20181001/org-clock hides /home/jat/Development/= emacs/lisp/org/org-clock /home/jat/.emacs.d/elpa/org-20181001/org-compat hides /home/jat/Development= /emacs/lisp/org/org-compat /home/jat/.emacs.d/elpa/org-20181001/org-list hides /home/jat/Development/e= macs/lisp/org/org-list /home/jat/.emacs.d/elpa/org-20181001/ob-ruby hides /home/jat/Development/em= acs/lisp/org/ob-ruby /home/jat/.emacs.d/elpa/org-20181001/ob-shen hides /home/jat/Development/em= acs/lisp/org/ob-shen /home/jat/.emacs.d/elpa/org-20181001/org-version hides /home/jat/Developmen= t/emacs/lisp/org/org-version /home/jat/.emacs.d/elpa/org-20181001/ob-haskell hides /home/jat/Development= /emacs/lisp/org/ob-haskell /home/jat/.emacs.d/elpa/org-20181001/ob-io hides /home/jat/Development/emac= s/lisp/org/ob-io /home/jat/.emacs.d/elpa/org-20181001/ob-core hides /home/jat/Development/em= acs/lisp/org/ob-core /home/jat/.emacs.d/elpa/org-20181001/ob-coq hides /home/jat/Development/ema= cs/lisp/org/ob-coq /home/jat/.emacs.d/elpa/org-20181001/org-protocol hides /home/jat/Developme= nt/emacs/lisp/org/org-protocol /home/jat/.emacs.d/elpa/org-20181001/org-docview hides /home/jat/Developmen= t/emacs/lisp/org/org-docview /home/jat/.emacs.d/elpa/org-20181001/ob-R hides /home/jat/Development/emacs= /lisp/org/ob-R /home/jat/.emacs.d/elpa/org-20181001/ob-gnuplot hides /home/jat/Development= /emacs/lisp/org/ob-gnuplot /home/jat/.emacs.d/elpa/org-20181001/org-duration hides /home/jat/Developme= nt/emacs/lisp/org/org-duration /home/jat/.emacs.d/elpa/org-20181001/org-footnote hides /home/jat/Developme= nt/emacs/lisp/org/org-footnote /home/jat/.emacs.d/elpa/org-20181001/org-timer hides /home/jat/Development/= emacs/lisp/org/org-timer /home/jat/.emacs.d/elpa/org-20181001/org-bbdb hides /home/jat/Development/e= macs/lisp/org/org-bbdb /home/jat/.emacs.d/elpa/org-20181001/ox-publish hides /home/jat/Development= /emacs/lisp/org/ox-publish /home/jat/.emacs.d/elpa/org-20181001/org-element hides /home/jat/Developmen= t/emacs/lisp/org/org-element /home/jat/.emacs.d/elpa/org-20181001/org-faces hides /home/jat/Development/= emacs/lisp/org/org-faces /home/jat/.emacs.d/elpa/org-20181001/ob-makefile hides /home/jat/Developmen= t/emacs/lisp/org/ob-makefile /home/jat/.emacs.d/elpa/org-20181001/ox-beamer hides /home/jat/Development/= emacs/lisp/org/ox-beamer /home/jat/.emacs.d/elpa/org-20181001/org-colview hides /home/jat/Developmen= t/emacs/lisp/org/org-colview /home/jat/.emacs.d/elpa/org-20181001/ob-plantuml hides /home/jat/Developmen= t/emacs/lisp/org/ob-plantuml /home/jat/.emacs.d/elpa/org-20181001/org-crypt hides /home/jat/Development/= emacs/lisp/org/org-crypt /home/jat/.emacs.d/elpa/org-20181001/org-table hides /home/jat/Development/= emacs/lisp/org/org-table /home/jat/.emacs.d/elpa/org-20181001/ob-asymptote hides /home/jat/Developme= nt/emacs/lisp/org/ob-asymptote /home/jat/.emacs.d/elpa/org-20181001/ox-icalendar hides /home/jat/Developme= nt/emacs/lisp/org/ox-icalendar /home/jat/.emacs.d/elpa/org-20181001/ob-js hides /home/jat/Development/emac= s/lisp/org/ob-js /home/jat/.emacs.d/elpa/org-20181001/org-archive hides /home/jat/Developmen= t/emacs/lisp/org/org-archive /home/jat/.emacs.d/elpa/org-20181001/ox-org hides /home/jat/Development/ema= cs/lisp/org/ox-org /home/jat/.emacs.d/elpa/org-20181001/ob-mscgen hides /home/jat/Development/= emacs/lisp/org/ob-mscgen /home/jat/.emacs.d/elpa/org-20181001/ob-matlab hides /home/jat/Development/= emacs/lisp/org/ob-matlab /home/jat/.emacs.d/elpa/org-20181001/ob-sql hides /home/jat/Development/ema= cs/lisp/org/ob-sql /home/jat/.emacs.d/elpa/org-20181001/ob-groovy hides /home/jat/Development/= emacs/lisp/org/ob-groovy /home/jat/.emacs.d/elpa/org-20181001/org-pcomplete hides /home/jat/Developm= ent/emacs/lisp/org/org-pcomplete /home/jat/.emacs.d/elpa/org-20181001/org-irc hides /home/jat/Development/em= acs/lisp/org/org-irc /home/jat/.emacs.d/elpa/org-20181001/org-info hides /home/jat/Development/e= macs/lisp/org/org-info /home/jat/.emacs.d/elpa/org-20181001/org-feed hides /home/jat/Development/e= macs/lisp/org/org-feed /home/jat/.emacs.d/elpa/soap-client-3.1.4/soap-client hides /home/jat/Devel= opment/emacs/lisp/net/soap-client /home/jat/.emacs.d/elpa/soap-client-3.1.4/soap-inspect hides /home/jat/Deve= lopment/emacs/lisp/net/soap-inspect Features: (shadow sort mail-extr emacsbug recentf tree-widget vc-git diff-mode eieio-opt speedbar sb-image ezimage dframe help-fns radix-tree jat-counsel-describe-function ace-window avy jat-counsel-hydra jat-main-hydra alert log4e notifications dbus gntp jat-exwm exwm-randr xcb-randr exwm exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xelb xcb xcb-xproto xcb-types calfw holidays hol-loaddefs cal-menu calendar cal-loaddefs debbugs soap-client url-http url-auth url-gw nsm url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap warnings rng-xsd rng-dt rng-util xsd-regexp xml readline-complete sh-script smie executable shx jat-eshell em-term term disp-table ehelp flycheck-arcanist flycheck-pos-tip flycheck fancy-battery battery electric-operator projectile image+ image-file dlpx docker docker-volume docker-network docker-machine docker-image docker-container docker-process docker-utils docker-group magit-popup async-bytecomp async make-mode puppet-mode align markdown-mode noutline outline jat-python blacken pyvenv esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util python-environment json-mode json-reformat json-snatcher js sgml-mode dom json map cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs jat-keys pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local find-func cedet pdf-isearch let-alist pdf-misc imenu pdf-tools pdf-view bookmark pp jka-compr pdf-cache pdf-info tq pdf-util backup-each-save solaire-mode persistent-scratch winner visual-regexp-steroids visual-regexp hydra lv smex ido counsel swiper ivy-rich ivy delsel colir ivy-overlay ffap thingatpt docker-tramp tramp-cache tramp tramp-compat tramp-loaddefs trampver ucs-normalize shell pcomplete undo-tree diff cus-edit cus-start cus-load jat-simple-gui jat-time time jat-modeline spaceline-config spaceline-segments minibuffer-line spaceline powerline powerline-separators powerline-themes minions dash jat-theme doom-themes-org doom-tomorrow-night-theme doom-themes doom-themes-common jat-fonts jat-disabled-functions deferred subr-x jat-mail jat-gnus gnus-start gnus-cloud nnimap nnmail mail-source tls gnutls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range gnus-win gnus nnheader wid-edit jat-bbdb bbdb-mua bbdb-com crm bbdb bbdb-site timezone jat-smtp starttls message rmc puny rfc822 mml mml-sec gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader smtpmail sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rainbow-mode color free-keys wgrep grep compile comint ansi-color highlight-numbers parent-mode s server pinentry epa-file epa derived epg autorevert filenotify company-quickhelp pos-tip company-oddmuse company-keywords company-etags etags xref project ring company-gtags company-dabbrev-code company-dabbrev company-files company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-template company-bbdb company pcase yasnippet flyspell ispell hi-lock whitespace paren vlf vlf-base vlf-tune vlf-setup cl-extra help-mode diminish use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core elec-pair finder-inf tex-site edmacro kmacro image-dired+ image-dired image-mode format-spec dired dired-loaddefs cl advice rx info package easymenu epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib time-date mule-util 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 menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame 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 minibuffer 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 dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 694806 54778) (symbols 48 62375 2) (miscs 40 1737 244) (strings 32 153949 9421) (string-bytes 1 5075497) (vectors 16 108082) (vector-slots 8 1753701 20672) (floats 8 714 568) (intervals 56 1321 212) (buffers 992 17) (heap 1024 95291 10918))