From unknown Wed Jun 18 23:15:15 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#69222 <69222@debbugs.gnu.org> To: bug#69222 <69222@debbugs.gnu.org> Subject: Status: 30.0.50; Toggle password visibility Reply-To: bug#69222 <69222@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:15:15 +0000 retitle 69222 30.0.50; Toggle password visibility reassign 69222 emacs submitter 69222 Michael Albinus severity 69222 wishlist thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 18 13:23:20 2024 Received: (at submit) by debbugs.gnu.org; 18 Feb 2024 18:23:21 +0000 Received: from localhost ([127.0.0.1]:37175 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rblot-0003Aw-88 for submit@debbugs.gnu.org; Sun, 18 Feb 2024 13:23:20 -0500 Received: from lists.gnu.org ([209.51.188.17]:53956) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rblSD-0001mW-0M for submit@debbugs.gnu.org; Sun, 18 Feb 2024 12:59:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rb1N3-0003wu-IX for bug-gnu-emacs@gnu.org; Fri, 16 Feb 2024 11:47:29 -0500 Received: from mout.gmx.net ([212.227.15.15]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rb1Mx-00069r-RN for bug-gnu-emacs@gnu.org; Fri, 16 Feb 2024 11:47:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1708102041; x=1708706841; i=michael.albinus@gmx.de; bh=mihmVzuvxXjnNFPyjspSNZuJm7Ro2lQiDgYWUJA2pTw=; h=X-UI-Sender-Class:From:To:Subject:Date; b=YmkYaMy0a14KHoprSbKqZFRKN4mai78vVIq0rO6d2O1HFYudxh4MfoCiIFalj35Z 8RukWc1/MVRyXTxPPowlia7KBwEVR/aCN9+ZOlDEo0s7zOBMumYmZPHUOATGNChqX XSXXBp0RXc6FxcPsSgYrXvIpx73kJ2LRFTJ3DzIziMA+I1RDHnV/guaXfDRD6HcxG 2gm9crZRcClSSGT6dpSZ7dI0KQ1pOrP/VIgTwJM3v83gpY8LCAFYJcqVCoFoHhfXU vh0mAPFXGCU5+oUlVYMAwZB51TKe/+HzlITq8HDi1s7QaDRzmR5zDq7nNIDucrLkN VIT5kulz3/E16SJTNQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from gandalf.gmx.de ([185.89.39.16]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MC30Z-1rgIAW24D7-00CQZM for ; Fri, 16 Feb 2024 17:47:21 +0100 From: Michael Albinus To: bug-gnu-emacs@gnu.org Subject: 30.0.50; Toggle password visibility Date: Fri, 16 Feb 2024 17:47:20 +0100 Message-ID: <874je8tkyv.fsf@gmx.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:eDNEC180k07O23hd++eFZujIDdg885bwYKV4JtHeRx7AMX7kMps xm8/Mad4070RdAykAFKbfSd75pZ0qliKVtsZcA0u6jAzdG6FkP5rQYdtOouYt1Orxm7txEl DDfo0L9ZjsaqHkDD9XZXdafhBgWcBTm06O+GDi5hyVm8YqWPJSNLhkAVP1GDJB2zYPh3Xek NEageAujeyUrB8fiW7D2w== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:xADXSnlNItU=;37w8gVjjDjFFYGfhGOwF+QnkFyA HJXumjFyIRihaaoU1xNCwJDYPGs7gutd30TG2JQbUyRK0vGrUsLn/uboqF0H7ngK4IvQaMLxS er99oSKtyLbtvMRtGXRBxmM6ZAhyx0bIXF/lzq9OP0HGrGLgPVIPpC+cMadjUYIUX44hqgqIw mFxX1/X7zyXgv3Jp5Oa61pLAMGdXn4Musqvd/ZG8QX3799FaOR4UEh/xs653yfpBl4RI+iVBi wJk9qMANzA6v+GdWEwKWg58+LGRXhMiZdJRB2uCVPksmo/vLZtS44s/FQqEOIFS3SY47SGUAH f8dGUCcMLhNir/DxZ2vSpwcMaU8+ExCXRYu+CtTPa81FxwHYlVZhYUhXuV5cOKbnT+36sLsv/ VJbuDEpOpVi1jHERIOu4ogfNd8+MmR+vCSrUC3E/J79nrG8LcDHBQyCzEWGFmNi1B+MI06rhw QVUW+/91kD5LZ90xysA4ruBT4B8VX0/3Tt6JKVzhQQ/vGIvXW/AdpRhbsA6MCW2ZpLOU4ptRL dkWZEQ0cO7TwhOnSIkQehMmoueEmHp364nkOmF4SRm0AsRsBeAuSz5dKv0WZKg0w2QmbZVNk4 yyC5tqP3nVHNJT+98K3D3zVTFuVoQORnU0AfVJxlHyp5dXeXGpOc3FedLt5r2JvQDKsF93r0f G8f5ob+mizfHO9ot6wLh+4q1B+m001tIWECNoqpjIiz/qxcq4VyDOLUh2TiMYAYY4U/Mivu2D LdKhZQIBA/CmuB9azj9TP07uHrRpjTxnaKRStgpQW3+dZEPCon/0dH7tZdaFWOort6UzkkeXA lVsMtk11sPMwz6CAo5T4easHrMi5420eGhLQhx8qMiSRN/tiBdBJs6y05tGuwO/vq7 Received-SPF: pass client-ip=212.227.15.15; envelope-from=michael.albinus@gmx.de; helo=mout.gmx.net X-Spam_score_int: 5 X-Spam_score: 0.5 X-Spam_bar: / X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.8 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: `read-passwd' reads a password with hidden input from the minibuffer. However, passord input fields in other applications but Emacs allow to toggle the visibility of input while typing the password. The appended patch tries to implement this for Emacs. While reading the password, it binds TAB in the minibuffer to a function which toggles the password visibility. Content analysis details: (1.8 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_MSPIKE_H4 RBL: Very Good reputation (+4) [209.51.188.17 listed in wl.mailspike.net] 3.3 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [185.89.39.16 listed in zen.spamhaus.org] -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [209.51.188.17 listed in list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (michael.albinus[at]gmx.de) 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -0.0 T_SCC_BODY_TEXT_LINE No description available. 2.0 SPOOFED_FREEMAIL No description available. X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.2 (-) --=-=-= Content-Type: text/plain `read-passwd' reads a password with hidden input from the minibuffer. However, passord input fields in other applications but Emacs allow to toggle the visibility of input while typing the password. The appended patch tries to implement this for Emacs. While reading the password, it binds TAB in the minibuffer to a function which toggles the password visibility. With graphical displays, it adds also an indicator to the mode line for password visibility. Clicking this indicator with mouse-1 toggles the password visibility in the minibuffer. Comments? Best regards, Michael. In GNU Emacs 30.0.50 (build 18, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-02-16 built on gandalf Repository revision: 572d58b5e8d0f1f1244b9ccab8f02c4f50ca8d12 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12302004 System Description: Fedora Linux 39 (Workstation Edition) Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LIBOTF LIBSELINUX LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8 Major mode: Group Minor modes in effect: gnus-undo-mode: t display-time-mode: t delete-selection-mode: t icomplete-mode: t global-goto-address-mode: t goto-address-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/albinus/src/elpa/packages/debbugs/debbugs hides /home/albinus/.emacs.d/elpa/debbugs-0.39/debbugs /home/albinus/src/elpa/packages/debbugs/debbugs-org hides /home/albinus/.emacs.d/elpa/debbugs-0.39/debbugs-org /home/albinus/src/elpa/packages/debbugs/debbugs-gnu hides /home/albinus/.emacs.d/elpa/debbugs-0.39/debbugs-gnu /home/albinus/src/elpa/packages/debbugs/debbugs-guix hides /home/albinus/.emacs.d/elpa/debbugs-0.39/debbugs-guix /home/albinus/src/elpa/packages/debbugs/debbugs-browse hides /home/albinus/.emacs.d/elpa/debbugs-0.39/debbugs-browse /home/albinus/src/elpa/packages/debbugs/debbugs-pkg hides /home/albinus/.emacs.d/elpa/debbugs-0.39/debbugs-pkg /home/albinus/src/elpa/packages/debbugs/debbugs-autoloads hides /home/albinus/.emacs.d/elpa/debbugs-0.39/debbugs-autoloads /home/albinus/src/elpa/packages/debbugs/debbugs-compat hides /home/albinus/.emacs.d/elpa/debbugs-0.39/debbugs-compat /home/albinus/.emacs.d/elpa/helm-3.9.7/helm-packages hides /home/albinus/.emacs.d/elpa/helm-core-3.9.7/helm-packages ~/lisp/telepathy hides /home/albinus/.emacs.d/elpa/telepathy-20131209.1258/telepathy /home/albinus/src/elpa/packages/tramp-theme/tramp-theme-autoloads hides /home/albinus/.emacs.d/elpa/tramp-theme-0.2/tramp-theme-autoloads /home/albinus/src/elpa/packages/tramp-theme/tramp-theme hides /home/albinus/.emacs.d/elpa/tramp-theme-0.2/tramp-theme /home/albinus/src/elpa/packages/tramp-theme/tramp-theme-pkg hides /home/albinus/.emacs.d/elpa/tramp-theme-0.2/tramp-theme-pkg /home/albinus/.emacs.d/elpa/hydra-0.15.0/lv hides /home/albinus/.emacs.d/elpa/lv-0.15.0/lv /home/albinus/.emacs.d/elpa/transient-20240201.1100/transient hides /home/albinus/src/emacs/lisp/transient /home/albinus/src/tramp/lisp/tramp-sudoedit hides /home/albinus/src/emacs/lisp/net/tramp-sudoedit /home/albinus/src/tramp/lisp/tramp-message hides /home/albinus/src/emacs/lisp/net/tramp-message /home/albinus/src/tramp/lisp/tramp-rclone hides /home/albinus/src/emacs/lisp/net/tramp-rclone /home/albinus/src/tramp/lisp/tramp-gvfs hides /home/albinus/src/emacs/lisp/net/tramp-gvfs /home/albinus/src/tramp/lisp/tramp-cmds hides /home/albinus/src/emacs/lisp/net/tramp-cmds /home/albinus/src/tramp/lisp/tramp-sh hides /home/albinus/src/emacs/lisp/net/tramp-sh /home/albinus/src/tramp/lisp/tramp-loaddefs hides /home/albinus/src/emacs/lisp/net/tramp-loaddefs /home/albinus/src/tramp/lisp/tramp-cache hides /home/albinus/src/emacs/lisp/net/tramp-cache /home/albinus/src/tramp/lisp/tramp-compat hides /home/albinus/src/emacs/lisp/net/tramp-compat /home/albinus/src/tramp/lisp/tramp-ftp hides /home/albinus/src/emacs/lisp/net/tramp-ftp /home/albinus/src/tramp/lisp/tramp-container hides /home/albinus/src/emacs/lisp/net/tramp-container /home/albinus/src/tramp/lisp/tramp-archive hides /home/albinus/src/emacs/lisp/net/tramp-archive /home/albinus/src/tramp/lisp/tramp-smb hides /home/albinus/src/emacs/lisp/net/tramp-smb /home/albinus/src/tramp/lisp/tramp-uu hides /home/albinus/src/emacs/lisp/net/tramp-uu /home/albinus/src/tramp/lisp/tramp-fuse hides /home/albinus/src/emacs/lisp/net/tramp-fuse ~/lisp/dbus hides /home/albinus/src/emacs/lisp/net/dbus /home/albinus/src/tramp/lisp/trampver hides /home/albinus/src/emacs/lisp/net/trampver /home/albinus/src/tramp/lisp/tramp-integration hides /home/albinus/src/emacs/lisp/net/tramp-integration /home/albinus/src/tramp/lisp/tramp-sshfs hides /home/albinus/src/emacs/lisp/net/tramp-sshfs /home/albinus/src/tramp/lisp/tramp hides /home/albinus/src/emacs/lisp/net/tramp /home/albinus/src/tramp/lisp/tramp-crypt hides /home/albinus/src/emacs/lisp/net/tramp-crypt /home/albinus/src/tramp/lisp/tramp-adb hides /home/albinus/src/emacs/lisp/net/tramp-adb Features: (shadow emacsbug nndoc gnus-dup misearch multi-isearch crm mule-util display-line-numbers debbugs-gnu add-log debbugs-compat debbugs soap-client warnings rng-xsd rng-dt rng-util xsd-regexp time-stamp url-http url-gw url-auth gnus-gravatar gravatar dns url-cache sort smiley gnus-cite mm-archive mail-extr textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check gnus-async gnus-bcklg qp gnus-ml debbugs-browse bug-reference disp-table pop3 utf-7 nndraft nnmh nnml network-stream nsm gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-cache gnus-sum shr pixel-fill kinsoku url-file svg dom nnnil smtpmail gnus-demon nntp gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util mail-prsvr cl-extra cl-print compile text-property-search comp-run comp-common help-fns radix-tree face-remap ob-shell ob ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core org-cycle org-fold org-fold-core ob-eval org-keys oc org-compat org-version org-macs vc vc-dispatcher time tramp-sh lxc-tramp lxd-tramp tramp trampver tramp-integration files-x tramp-message help-mode tramp-compat xdg shell pcomplete comint ansi-osc ring parse-time iso8601 time-date format-spec ansi-color tramp-loaddefs rx delsel ido jka-compr icomplete cus-edit pp cus-load icons wid-edit dired dired-loaddefs goto-addr thingatpt alert-autoloads android-mode-autoloads auth-source-gopass-autoloads auth-source-keytar-autoloads auth-source-kwallet-autoloads auth-source-xoauth2-autoloads auto-sudoedit-autoloads auto-virtualenv-autoloads auto-virtualenvwrapper-autoloads boxquote-autoloads clang-format-autoloads company-shell-autoloads company-autoloads counsel-toki-autoloads counsel-tramp-autoloads counsel-autoloads dbus-codegen-autoloads debbugs-autoloads dired-du-autoloads dired-rsync-autoloads dired-toggle-sudo-autoloads direnv-autoloads disk-usage-autoloads dockerfile-mode-autoloads editorconfig-charset-extras-autoloads editorconfig-custom-majormode-autoloads editorconfig-domain-specific-autoloads editorconfig-autoloads editorconfig-generate-autoloads ednc-autoloads el-get-autoloads envrc-autoloads etc-sudoers-mode-autoloads exec-path-from-shell-autoloads fontaine-autoloads forge-autoloads closql-autoloads emacsql-autoloads friendly-tramp-path-autoloads fzf-autoloads ggtags-autoloads ghub-autoloads gited-autoloads gitlab-ci-mode-flycheck-autoloads gitlab-ci-mode-autoloads flycheck-autoloads gntp-autoloads gnus-desktop-notify-autoloads helm-gitlab-autoloads helm-projectile-autoloads helm-autoloads helm-core-autoloads async-autoloads ibuffer-tramp-autoloads inheritenv-autoloads ivy-gitlab-autoloads gitlab-autoloads journalctl-mode-autoloads keepass-mode-autoloads keytar-autoloads kubernetes-autoloads log4e-autoloads lsp-java-autoloads dap-mode-autoloads lsp-docker-autoloads bui-autoloads lsp-latex-autoloads consult-autoloads lsp-treemacs-autoloads lsp-mode-autoloads f-autoloads lxc-tramp-autoloads lxd-tramp-autoloads magit-filenotify-autoloads magit-autoloads pcase git-commit-autoloads magit-popup-autoloads magit-section-autoloads marcopolo-autoloads mastodon-autoloads nexus-autoloads nnir-est-autoloads oauth2-autoloads ob-restclient-autoloads orderless-autoloads persist-autoloads pkg-info-autoloads epl-autoloads popup-autoloads projectile-autoloads promise-autoloads pylint-autoloads python-environment-autoloads deferred-autoloads pyvenv-autoloads recentf-remove-sudo-tramp-prefix-autoloads request-autoloads restclient-test-autoloads restclient-autoloads s3ed-autoloads finder-inf slime-autoloads macrostep-autoloads spinner-autoloads ssh-deploy-autoloads su-autoloads sudo-edit-autoloads sudo-ext-autoloads sudo-utils-autoloads swiper-autoloads ivy-autoloads sx-autoloads markdown-mode-autoloads telepathy-autoloads totp-autoloads totp-auth-autoloads base32-autoloads tramp-theme-autoloads transient-dwim-autoloads transient-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads treepy-autoloads uuid-autoloads vdiff-autoloads hydra-autoloads lv-autoloads vertico-autoloads virtualenv-autoloads virtualenvwrapper-autoloads s-autoloads dash-autoloads web-server-autoloads wfnames-autoloads info with-editor-autoloads yaml-autoloads yaml-mode-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 568029 79246) (symbols 48 25402 6) (strings 32 126758 19717) (string-bytes 1 3900820) (vectors 16 77655) (vector-slots 8 902415 39886) (floats 8 685 4342) (intervals 56 2954 2404) (buffers 984 30)) --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment Content-Transfer-Encoding: quoted-printable diff --git a/etc/images/README b/etc/images/README index a778d9ce6c3..77377d36b5a 100644 =2D-- a/etc/images/README +++ b/etc/images/README @@ -125,7 +125,7 @@ For more information see the adwaita-icon-theme reposi= tory at: https://gitlab.gnome.org/GNOME/adwaita-icon-theme -Emacs images and their source in the Adwaita/scalable directory: +Emacs images and their source in the Adwaita/symbolic directory: checked.svg ui/checkbox-checked-symbolic.svg unchecked.svg ui/checkbox-symbolic.svg @@ -137,3 +137,5 @@ Emacs images and their source in the Adwaita/scalable = directory: left.svg ui/pan-start-symbolic.svg right.svg ui/pan-end-symbolic.svg up.svg ui/pan-up-symbolic.svg + conceal.svg actions/view-conceal-symbolic.svg + reveal.svg actions/view-reveal-symbolic.svg diff --git a/etc/images/conceal.svg b/etc/images/conceal.svg new file mode 100644 index 00000000000..172b73ed3d3 =2D-- /dev/null +++ b/etc/images/conceal.svg @@ -0,0 +1,4 @@ + + + + diff --git a/etc/images/reveal.svg b/etc/images/reveal.svg new file mode 100644 index 00000000000..41ae3733a53 =2D-- /dev/null +++ b/etc/images/reveal.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lisp/simple.el b/lisp/simple.el index 9a33049f4ca..aa2e0507546 100644 =2D-- a/lisp/simple.el +++ b/lisp/simple.el @@ -10858,6 +10858,80 @@ visible-mode (setq-local vis-mode-saved-buffer-invisibility-spec buffer-invisibility-spec) (setq buffer-invisibility-spec nil))) + +=0C +;; It would be preferable to use "=F0=9F=91=81" ("\N{EYE}"). However, th= ere is +;; no corresponding Unicode char with a slash. Therefore, we use images. +(defvar read-passwd-show-password-image "reveal.svg" + "Mode line image to show a hidden password") + +(defvar read-passwd-hide-password-image "conceal.svg" + "Mode line image to hide a visible password") + +(defvar read-passwd-mode-line-buffer nil + "Buffer to modify `mode-line-format' for showing/hiding passwords.") + +(defvar read-passwd-mode-line-string nil + "Propertized mode line indicator for showing/hiding passwords.") + +(defvar read-passwd-mode-line-display nil + "Display properties for `read-passwd-mode-line-string'.") + +(defun read-passwd--toggle-visibility () + "Toggle minibuffer contents visibility. +Adapt also mode line." + (interactive) + (setq read-passwd--hide-password (not read-passwd--hide-password)) + (when (display-graphic-p) + (with-current-buffer read-passwd-mode-line-buffer + (setq read-passwd-mode-line-display + (find-image + `((:type svg + :file ,(if read-passwd--hide-password + read-passwd-show-password-image + read-passwd-hide-password-image)) + :ascent center)) + read-passwd-mode-line-string + `(:propertize " " + display ,read-passwd-mode-line-display + help-echo "mouse-1: Toggle password visibility" + mouse-face mode-line-highlight + local-map + (keymap + (mode-line keymap (mouse-1 . read-passwd--toggle-visibilit= y))))) + (force-mode-line-update))) + (read-passwd--hide-password)) + +(define-minor-mode read-passwd-mode + "Toggle visibility of password in minibuffer." + :group 'mode-line + :group 'minibuffer + :keymap read-passwd-map + :version "30.1" + (setq read-passwd--hide-password nil + ;; Stolen from `eldoc-minibuffer-message'. + read-passwd-mode-line-buffer + (window-buffer + (or (window-in-direction 'above (minibuffer-window)) + (minibuffer-selected-window) + (get-largest-window)))) + + (when (display-graphic-p) + (if read-passwd-mode + (with-current-buffer read-passwd-mode-line-buffer + ;; Add `read-passwd-mode-line-string'. + (when (listp mode-line-format) + (setq mode-line-format + (cons '(:eval read-passwd-mode-line-string) + mode-line-format)))) + (with-current-buffer read-passwd-mode-line-buffer + ;; Remove `read-passwd-mode-line-string'. + (when (listp mode-line-format) + (setq mode-line-format (cdr mode-line-format)))))) + + (when read-passwd-mode + (read-passwd--toggle-visibility))) + =0C (defvar messages-buffer-mode-map (let ((map (make-sparse-keymap))) diff --git a/lisp/subr.el b/lisp/subr.el index c317d558e24..555d0084545 100644 =2D-- a/lisp/subr.el +++ b/lisp/subr.el @@ -3375,14 +3375,23 @@ read-passwd-map (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) (define-key map "\C-u" #'delete-minibuffer-contents) ;bug#12570 + (define-key map "\t" #'read-passwd--toggle-visibility) map) "Keymap used while reading passwords.") -(defun read-password--hide-password () +(defvar read-passwd--hide-password t) + +(defun read-passwd--hide-password () + "Make password in minibuffer hidden or visible." (let ((beg (minibuffer-prompt-end))) (dotimes (i (1+ (- (buffer-size) beg))) - (put-text-property (+ i beg) (+ 1 i beg) - 'display (string (or read-hide-char ?*)))))) + (if read-passwd--hide-password + (put-text-property + (+ i beg) (+ 1 i beg) 'display (string (or read-hide-char ?*))= ) + (remove-list-of-text-properties (+ i beg) (+ 1 i beg) '(display))= ) + (put-text-property + (+ i beg) (+ 1 i beg) + 'help-echo "C-u: Clear password\nTAB: Toggle password visibility")= ))) (defun read-passwd (prompt &optional confirm default) "Read a password, prompting with PROMPT, and return it. @@ -3420,18 +3429,20 @@ read-passwd (setq-local inhibit-modification-hooks nil) ;bug#15501. (setq-local show-paren-mode nil) ;bug#16091. (setq-local inhibit--record-char t) - (add-hook 'post-command-hook #'read-password--hide-password n= il t)) + (read-passwd-mode 1) + (add-hook 'post-command-hook #'read-passwd--hide-password nil= t)) (unwind-protect (let ((enable-recursive-minibuffers t) (read-hide-char (or read-hide-char ?*))) (read-string prompt nil t default)) ; t =3D "no history" (when (buffer-live-p minibuf) (with-current-buffer minibuf + (read-passwd-mode -1) ;; Not sure why but it seems that there might be cases wher= e the ;; minibuffer is not always properly reset later on, so und= o ;; whatever we've done here (bug#11392). (remove-hook 'after-change-functions - #'read-password--hide-password 'local) + #'read-passwd--hide-password 'local) (kill-local-variable 'post-self-insert-hook) ;; And of course, don't keep the sensitive data around. (erase-buffer)))))))) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 18 15:00:46 2024 Received: (at control) by debbugs.gnu.org; 18 Feb 2024 20:00:46 +0000 Received: from localhost ([127.0.0.1]:38391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rbnLB-0003uo-Pf for submit@debbugs.gnu.org; Sun, 18 Feb 2024 15:00:46 -0500 Received: from mout.gmx.net ([212.227.15.15]:49367) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rbnL9-0003ua-G1 for control@debbugs.gnu.org; Sun, 18 Feb 2024 15:00:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1708286416; x=1708891216; i=michael.albinus@gmx.de; bh=+DVsU5oZUB4jDfOoVYQyUooj+EdxLqjP+9oFT36eXUg=; h=X-UI-Sender-Class:Date:To:From:Subject; b=g008dLX2gZY1Ky0M79Yge12k2UiVsg+1KlsrgKfWE9v9LQ4EI2/3Rr6HVOQddbfo /7917mJkY1mP7MNRZR7fQ6IZU3yUShenfCoSLyt/LKNAuRC0+Wk/hLH4dFSvM4goU PExYKBz70vOA4waLJxgvEghSimPlb8SXNmA1e9HJzTqZWJJxgG5cpqRztmh3QAKtA L2FVLJwtjuEK32ppNKzNfmewG2x82hEWJTzQ7Ax2cQ1FVkMX79Fzsoavm1OyUFhgH 9u034qBtyWRFnKN9lC/SEbm5SY2HX+7JJQOwIbTAeMRjhKXFsUv+5rs8bhRnBGtep UyX3xCn7bhu90oK21A== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from gandalf.gmx.de ([185.89.39.16]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M6llE-1raB2M1YVS-008J32 for ; Sun, 18 Feb 2024 21:00:16 +0100 Date: Sun, 18 Feb 2024 21:00:15 +0100 Message-Id: <87ttm5sfu8.fsf@gmx.de> To: control@debbugs.gnu.org From: Michael Albinus Subject: control message for bug #69237 X-Provags-ID: V03:K1:E5jE34kP6rZNIrtdDSgTiHu9WpY6l+5xFqiHAp+EYkC1CuDtkLw waYzbRQf7q/Lwp7GqipXCoiUuqIiewFL7vXu6omZZZHpBfh4ZlREDYPw6CP048X5d/ITH+g P0Sd2LN2mFVAjVrrPPTXls93tv6ymtCJ4732bUXNRj1awop5Zu0+CB+cY1HPHHnZR7QH+6b DAwSvOHNzEZkJ/MHKwZCA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:rFQrVMCKwts=;HhuAzcmUt9SPmLB0SZBKRUYTzGL OjSP6Xdme0nm7CqgMdei3xvN+lhGvw/I59nh+WcON7lPywhYGIwU8zibVLEaI+q24xjKeu15v hag5T9+zF8z2pj4mLO+HzyVqwPSE5dmjgxBTFcABmxaadNQaMMW1htVS4ydHiJXTtj5KffNnO TbUFwcYjnIKtNd1yI5IFBGOPkRBjmwdcUgBdH7a6iTsqbcIc8+dazPMvWtQS/CRjT2LFtHhnk qgvcCkCkgz8C9pFbtyxcNenmkH7O5tx6etcBSljv2FCFPjkPPLfOVRkfPdAqOoY3ytLvSyXAs 5fArlAUX9Z3bWqc1zfeNaufy2PEgSzLorf+0Z5cZCFyH45LHM6U9qIpDXUu3yP6vv+yozvLhX FJm+lxtR46Zjc7obcpiiTe66NpXuB/Fo5KDSz8tj9db+rA1bDYiF/vOzoohDz8Y39dtnI+6H8 qzfMK5W/kU9OZb4zwpb3iGUjh9O6AoEYVujSQqdXD9im8iORELunOnE9PqR5KCreYPQMjarOK tAW25Jww3G+Yr31buUvGCEdJBpyJ9hbNPR0QM/AbmDkhe5tHvIa4X5Y6Wk7K+5tIkb4lCSyfY zbu1aMz37k47dW/o/LwyPgCpCoTVYIcaZyvS4rBtiRL8ZodaoDFutH6XuB8J+aGM2BOym4TxZ /EWLuEt2GcOq84aQElXC4s8Grt+KBrGJek1E06cs2b/NBcebEURWkPmogrB/wOJjm6ivwn8OA fLEM82CZOpjhdzpG0Nes/UkkugloW0FR4mRK96QJ6c3XgNRSl2JMI4GHyPomMqa9L1jusjfrV vakNhPvif0v9tVVhaZS1w8ERK+wUKbHC1eFzbEdtl+tHihqj4xkMT4YmyR31qKYeH3 X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) merge 69237 69222 quit From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 18 15:01:06 2024 Received: (at control) by debbugs.gnu.org; 18 Feb 2024 20:01:06 +0000 Received: from localhost ([127.0.0.1]:38396 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rbnLW-0003w9-41 for submit@debbugs.gnu.org; Sun, 18 Feb 2024 15:01:06 -0500 Received: from mout.gmx.net ([212.227.15.19]:56267) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rbnLT-0003vD-2q for control@debbugs.gnu.org; Sun, 18 Feb 2024 15:01:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1708286436; x=1708891236; i=michael.albinus@gmx.de; bh=EZPAonfKdYkLwXrdGsu9yn3IiYMR7Xf2vutXIDkRvE0=; h=X-UI-Sender-Class:Date:To:From:Subject; b=MTQJCu55LQdDRH+O052t5wViPiDaKFaXBSRhFSBL9fAjdVfLSPr/+ig0RC4tTMZH j49rP5lQQCebiMXX6qwkvPUHV9MpvFDGvTIYJUot+MssP0vSEq85WtE36RwRLBozl r0nErkazDVF1xsbLB2gQlZJTGrlbxtvCEeENZY0+fmBZT/yUarITSj2Mej06N52+b cewOoP2b+/sS5Xs4f/C3dm9JEFyfoGXxmRyAkhVqAB9XIicJGmDP/GyfQq2HtAGLl h7crnBftlmar5gvKvrUWdpgazoEt6Zj6jr2whQ1ft87Az8l2IHpO77LD9HhS1p1V0 VLbgpDprBnvP5XCT1Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from gandalf.gmx.de ([185.89.39.16]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MvbFs-1qlceo2gXm-00sh3U for ; Sun, 18 Feb 2024 21:00:36 +0100 Date: Sun, 18 Feb 2024 21:00:36 +0100 Message-Id: <87sf1psftn.fsf@gmx.de> To: control@debbugs.gnu.org From: Michael Albinus Subject: control message for bug #69237 X-Provags-ID: V03:K1:JkQugTDTc6w+hWc23MRVlvNqYa8/lDt0ImsU/LRKlmd5/AuEAyo Wf9zu0HLhagvxSUJoUqiN2WZ7krf/UdRBgw1SMivemV5r8kf9EvVBViXl8ysM0/PLdMP/fH AbFXj0CkVanV1epK8oJKkszW2dDA/MFrkMBBPjOUs999VHG3UX/9k3R01aS/KQNGtklKGo4 SuQ1QFYBxAM8KIOjhv9CQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:/Z6Xst01Qzo=;hAPCKcebsSQ8vAQ6lZ66JgJNcex sLCVaWLf2NEcgoSqQ4cOclOvOzbDtFpOEWd2JiizVhfHHe+mlqkeW9NAtnIwOzezO24OHA6KQ dsHeh8Fo7g/hNpEichEJbSdhQFR/EC1So15kmkcvVN+peizjwVIFwaaYz//xjXuRxjiCyeuNW XVIdDwSbeKeKskRpzPL8ZOz8Amh1gxwasCQkVMoe3MxQ+bV/iNhGc8TqjWjtaUXeJKS/IBi1M FH+4CNwk0AwS67LYweqoc0yzhXr2G/SwjQSU1ExpJ10VfXg+WNKxBQ9eKs6Bj4GqXHc01HgCM hDv6fPomLJwwKKqIWt1DGqgm4gKz3Z9+hYAHPYoQkrfFifgMx4V8gk/GiLxI5ox4qxiV1THBs LRFPqHlugehkFkHlLOpkmsRB9yljbcROfrYhgtwyphzSVVHY742QEmqF48t+/mJXF4pCKsA2r +k3wGlbPu7Af+c4rdiimj9MBeKhnTbiGQ1HTt89hDWoXUpdlYerLbBN54KNAO+1n7/pA7gjCZ j/ti/D5xwTI15WmKSerlKkqhM6++txxKGMG92XnkUrFH8U+ZsfNMhxUPlmaNx9Ejsppfp6mwE 92yoINUAF9oI/685mQo3h0hey1iFWN7bEUXgTPW5rxdX3IH/IvoGjWSXLS9OQOzJ7CeOxOAUs FFfuldidgfejeCDUG7bzY40j8APVwoeRPf6bSs3RO1Dm5Pu+z8qt9AxNXvn042/Yz1SD8MwJW 1woW8ddeUYZH0kJM1ep33BWs/H1RAd908ATcV4QlTVddnxRDr87Pyz3BVzBOvYaLADb0ItmDK WK49noamXQ4PX/FAhOiM6hajBuZUc6mAd4ChCtJdfcfmd0kiZyHNgbon5Fp9l3azap X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) merge 69237 69235 quit From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 19 10:55:44 2024 Received: (at control) by debbugs.gnu.org; 19 Feb 2024 15:55:44 +0000 Received: from localhost ([127.0.0.1]:43249 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rc5zc-0007DJ-Jx for submit@debbugs.gnu.org; Mon, 19 Feb 2024 10:55:44 -0500 Received: from mout.gmx.net ([212.227.17.21]:35957) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rc5za-0007Cx-SX for control@debbugs.gnu.org; Mon, 19 Feb 2024 10:55:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1708358116; x=1708962916; i=michael.albinus@gmx.de; bh=tA3WPILVAJAuf62BzJs0385t899Lr/ubvnY46lOt7U0=; h=X-UI-Sender-Class:Date:To:From:Subject; b=oJcWA8gHiPsJgWzfqn+y5NJOumCoEa6plTC1tf8LGyyehB8zTpBzLQ1i/krE/5L4 L3bqwG1HvL5ZfCzl9E25nH2HbH55FJG3ZEIuO0Ypq+dAZo2y88lz5IyILBLrOjmHt A/TM/DeKsrSBAJHsRXIuywlJOEFtz0Gh0xdiUjmotHTdPMVIPdjA0JFvtW4aDsNz9 rFKOtKbaBjrmoip/eBe9iaVMH0+RYYWvrRQqtK7bFl0DZHRVYRQ7kzUnqySTQYLB4 puJj9YCQNOt2hr3KrXD06T0pnRlFgsM51NlO6up5wfbdJuRY8IYmB1f8SvVdgArLb UM7uJF+Jc+cSfCXjQA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from gandalf.gmx.de ([185.89.39.16]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mplbx-1rAP0Q36FR-00qDiO for ; Mon, 19 Feb 2024 16:55:15 +0100 Date: Mon, 19 Feb 2024 16:55:15 +0100 Message-Id: <87bk8cih3w.fsf@gmx.de> To: control@debbugs.gnu.org From: Michael Albinus Subject: control message for bug #69237 X-Provags-ID: V03:K1:Fhhn+dUY5YGD+ozz3nsm59POKWgHrkhQowDLH7y82uGW1rOoAJS lTbbApWRvrvSwL+nGTyzHFx56jd65TfsceKF+oy7kD8q6sCf2iNHj+hUdqGtKEb6Yx+fE/S swe9/fOlqR+xEgHVqAK+pWpRcGXkR1RHGrd3c9UlbCWcSC17/mEcXlscKnfNd/+KK5nawzQ 8oJYcxyDk7LlzasqDO9WA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:2y2nw6NlDO4=;DHS+bp4XSeWZUzm6UC2XJA4s6SV jvVxmFdWJjX8DPy/o5HxA9y8WvOAVYZyUcQVW8GLYe8EzJeVlfK/ehZCxv6elxwsVGVI5NlPT yymI4RMcB6e4Yzmhf7FCbF0REFFsHJwqOSoIt6Hi8HbxuMlAjVlXRa8tRsp3S1wkItlD4dpGl 4hum9osruT97BmR5A9Xit+zto530aWBFzbWHK7x2RxBHtOv8f8HhbihkxudC39fSnyAivlPIU A9DgcysN1HLS101wC/nthYWVRDsZCl+yREA/ZKSYwNZiSjpyjWZ2Lxw7BOdtEPwQFj/VGy8mi ijaRraxUKmYp6hQKPxMS51CEIdC97tpT9Mt652yz0scdhmZEtycLlx4IkW6n0K/Tb44ecVjiB u0iwQpbB+uHH6cQ1OtJA4qH5TPFDd4ZOxn7W9b6fEMiNW1Ojbx3MobVv2+p1Tx1Qo4ygypLQ/ s2ONlTdMVIbZJw/piqRM2u7SWiou23ccFXdsYdE05MVedX/7/1Zvego9V2moPMUZDMAQusMkq JuuDFTHxiSnG4KP4nhpnGNzfin7eHaP5+Ca0F/nIH2NSqOQDbVtZPoL8uxvmrEIs/PjeUHl6o xd+iu/SpSkMHxQZcJQBI7+BeoXdJn6BjIeapNPvUhuQUlH5pcDLYC79CoXkBeD12dB2QmbSHo KY6urUX/V1OnKXWh7RbvJvjBhBOxI4jA5c7ZpaIoHD/uZ2TaVEY2HKFs7CByE4qHveK/NYdkH SqJ7lEBB8qFL96+RnPuABdZ9kZN8HDzXu6UU6q8tyqOWyeEImqKmRe58t7/HEP2QyJqGv6ZEd rS4M5cqZJ5oxOkhX+BtZ1hSrSETIYSSSCJ6dHaReZSEKMVOo60VL7O3s7lovKQV5FX X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) severity 69237 wishlist quit From unknown Wed Jun 18 23:15:15 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 27 Mar 2024 11:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator