From unknown Fri Jun 20 07:09:39 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#65403 <65403@debbugs.gnu.org> To: bug#65403 <65403@debbugs.gnu.org> Subject: Status: 30.0.50; [PATCH] Remove some macros in image-dired Reply-To: bug#65403 <65403@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:09:39 +0000 retitle 65403 30.0.50; [PATCH] Remove some macros in image-dired reassign 65403 emacs submitter 65403 Manuel Giraud severity 65403 normal tag 65403 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 20 07:19:35 2023 Received: (at submit) by debbugs.gnu.org; 20 Aug 2023 11:19:35 +0000 Received: from localhost ([127.0.0.1]:53196 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qXgT0-0000QP-9q for submit@debbugs.gnu.org; Sun, 20 Aug 2023 07:19:35 -0400 Received: from lists.gnu.org ([2001:470:142::17]:57588) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qXgSt-0000Q7-6F for submit@debbugs.gnu.org; Sun, 20 Aug 2023 07:19:32 -0400 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 1qXgSm-0001wM-9q for bug-gnu-emacs@gnu.org; Sun, 20 Aug 2023 07:19:20 -0400 Received: from ledu-giraud.fr ([51.159.28.247]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qXgSi-0001wI-Oo for bug-gnu-emacs@gnu.org; Sun, 20 Aug 2023 07:19:20 -0400 DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=W/iwJPe4 PYmA3LVNMWb6X1S3O2G7N6Mok3KsgGKiRsE=; h=date:subject:to:from; d=ledu-giraud.fr; b=FwD++DHWh7BDxAq5ZrSyPyWAWjzRLzC3NdBK1+tob7XB2uyqz4 T++R0DpNAdMhQge1vl6CBzmDINHU9VitX3DQ== DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=W/iwJPe4PYmA3LVN MWb6X1S3O2G7N6Mok3KsgGKiRsE=; h=date:subject:to:from; d=ledu-giraud.fr; b=CgtcfO6j+CTFGkC9QXEmF3deFG9GB7tFFK1vUi5L5W4wUzSsrq Fzd+Rk31IhpmkKPyBIh6wUXCKGX8Zd1QBMbirtq7CzxmuVQL4qj9+cDpECN+zlHHkwvxiK fYx2Ix9M6ielw94UWKH+5ZKrXL4r0EUZrS+HOhA7eKWsMXiINWjwn9mmo7ePzKLxZ5vMKv WSpaLkmetSwTT/6AC+oCGqtSfGjPuhRl3A8m0LT9VT97Ee3jFJjcdQbcVfXVF6vvfq8P08 GzUFyoCjQKjBgh8cdLKDiWNR7wCsCLCIMXoOOX3dq91YRdWqm+tFlnc2/sYtbDJ+58tDfc SI7AIM4CqylQ== Received: from computer ( [10.1.1.1]) by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id df3ecaaf (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sun, 20 Aug 2023 13:19:12 +0200 (CEST) From: Manuel Giraud To: bug-gnu-emacs@gnu.org Subject: 30.0.50; [PATCH] Remove some macros in image-dired Date: Sun, 20 Aug 2023 13:19:01 +0200 Message-ID: <87pm3i7yhm.fsf@ledu-giraud.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=51.159.28.247; envelope-from=manuel@ledu-giraud.fr; helo=ledu-giraud.fr X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) 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: -0.1 (/) --=-=-= Content-Type: text/plain Hi, Here is a patch that removes some macros (ab)use in image-dired. There should be no functional changes with this patch. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-image-dired-Remove-some-macros.patch >From 0d9044c2c7c8f6e83edd943231a2ae0e8752d7f3 Mon Sep 17 00:00:00 2001 From: Manuel Giraud Date: Sun, 13 Aug 2023 14:48:01 +0200 Subject: [PATCH] [image-dired] Remove some macros * lisp/image/image-dired.el (image-dired--movement-command) (image-dired--movement-command-line): Change macros to functions. (image-dired--update-after-move): New function for book-keeping after a move in image-dired. (image-dired-scroll): Use it. --- lisp/image/image-dired.el | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/lisp/image/image-dired.el b/lisp/image/image-dired.el index 8e2e4c6f644..83f228b2d59 100644 --- a/lisp/image/image-dired.el +++ b/lisp/image/image-dired.el @@ -724,21 +724,22 @@ image-dired--movement-ensure-point-pos (not (if reverse (bobp) (eobp)))) (forward-char (if reverse -1 1)))) -(defmacro image-dired--movement-command (to &optional reverse) - `(progn - (goto-char ,to) - (image-dired--movement-ensure-point-pos ,reverse) - (when image-dired-track-movement - (image-dired-track-original-file)) - (image-dired--update-header-line))) - -(defmacro image-dired--movement-command-line (&optional reverse) - `(image-dired--movement-command - (let ((goal-column (current-column))) - (forward-line ,(if reverse -1 1)) - (move-to-column goal-column) - (point)) - ,reverse)) +(defun image-dired--update-after-move (reverse) + "Book-keeping after move." + (image-dired--movement-ensure-point-pos reverse) + (when image-dired-track-movement + (image-dired-track-original-file)) + (image-dired--update-header-line)) + +(defun image-dired--movement-command (to &optional reverse) + (goto-char to) + (image-dired--update-after-move reverse)) + +(defun image-dired--movement-command-line (&optional reverse) + (let ((goal-column (current-column))) + (forward-line (if reverse -1 1)) + (move-to-column goal-column) + (image-dired--update-after-move reverse))) (defun image-dired-next-line () "Move to next line in the thumbnail buffer." @@ -775,10 +776,7 @@ image-dired-scroll (let ((goal-column (current-column))) (if down (scroll-down) (scroll-up)) (move-to-column goal-column) - (image-dired--movement-ensure-point-pos down) - (when image-dired-track-movement - (image-dired-track-original-file)) - (image-dired--update-header-line))) + (image-dired--update-after-move down))) (defun image-dired-scroll-up () (interactive nil image-dired-thumbnail-mode) -- 2.40.0 --=-=-= Content-Type: text/plain In GNU Emacs 30.0.50 (build 2, x86_64-unknown-openbsd7.3, cairo version 1.17.8) of 2023-08-13 built on computer Repository revision: 0d9044c2c7c8f6e83edd943231a2ae0e8752d7f3 Repository branch: mgi/image-dired-no-macros Windowing system distributor 'The X.Org Foundation', version 11.0.12101006 System Description: OpenBSD computer 7.3 GENERIC.MP#1125 amd64 Configured using: 'configure --prefix=/home/manuel/emacs --bindir=/home/manuel/bin --with-x-toolkit=no --with-toolkit-scroll-bars=no --without-sound --without-compress-install CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBXML2 MODULES NOTIFY KQUEUE OLDXMENU PDUMPER PNG RSVG SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Dired by name Minor modes in effect: global-git-commit-mode: t magit-auto-revert-mode: t gnus-dired-mode: t display-time-mode: t display-battery-mode: t server-mode: t override-global-mode: t repeat-mode: t desktop-save-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t buffer-read-only: 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/manuel/.emacs.d/elpa/ef-themes-1.3.0/theme-loaddefs hides /home/manuel/emacs/share/emacs/30.0.50/lisp/theme-loaddefs Features: (shadow mail-extr emacsbug whitespace magit-patch magit-extras goto-addr face-remap magit-bookmark magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode diff git-commit log-edit magit-core magit-autorevert magit-margin magit-transient magit-process with-editor magit-mode transient magit-git magit-section magit-utils dash image-file image-converter image-dired image-dired-tags image-dired-external image-dired-util cus-start which-func cl-print emacs-news-mode add-log ibuf-ext ibuffer ibuffer-loaddefs osm display-line-numbers help-fns radix-tree js c-ts-common pulse network-stream sort find-dired bookmark calc-misc calc-alg calc-menu org-agenda css-mode sgml-mode facemenu imenu vc-cvs vc-rcs log-view pcvs-util sh-script smie treesit executable vc pascal vc-hg conf-mode view reveal texinfo texinfo-loaddefs make-mode org-indent oc-basic org-element org-persist org-id avl-tree ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi gnus-icalendar org-capture org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs org-version org-compat org-macs mule-util on-screen gnus-dired bug-reference vc-git diff-mode vc-dispatcher vc-svn paredit time battery cus-load exwm-randr xcb-randr exwm-config ido 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 xcb xcb-xproto xcb-types xcb-debug server modus-operandi-theme modus-themes zone speed-type url-http url-auth url-gw nsm compat ytdious mingus libmpdee reporter edebug debug backtrace detached-init detached autorevert filenotify transmission color calc-bin calc-ext calc calc-loaddefs rect calc-macs supercite regi ebdb-message ebdb-gnus gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums gmm-utils mailheader gnus-win ebdb-mua ebdb-com crm ebdb-format ebdb mailabbrev eieio-opt speedbar ezimage dframe find-func eieio-base pcase timezone icalendar gnus nnheader gnus-util mail-utils range mm-util mail-prsvr wid-edit visual-basic-mode cl web-mode derived disp-table erlang-start smart-tabs-mode skeleton cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs slime-asdf grep slime-tramp tramp rx trampver tramp-integration files-x tramp-message tramp-compat xdg shell pcomplete parse-time iso8601 time-date format-spec tramp-loaddefs slime-fancy slime-indentation slime-cl-indent cl-indent slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references slime-compiler-notes-tree advice slime-scratch slime-presentations bridge slime-macrostep macrostep slime-mdot-fu slime-enclosing-context slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc slime-repl slime-parse slime apropos compile text-property-search etags fileloop generator xref project arc-mode archive-mode noutline outline icons pp comint ansi-osc ansi-color ring hyperspec thingatpt slime-autoloads edmacro kmacro use-package-bind-key bind-key appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs dired-x dired-aux dired dired-loaddefs notifications dbus xml cl-extra help-mode use-package-core repeat easy-mmode desktop frameset debbugs-autoloads detached-autoloads ebdb-autoloads ef-themes-autoloads exwm-autoloads hyperbole-autoloads magit-autoloads git-commit-autoloads finder-inf magit-section-autoloads md4rd-autoloads dash-autoloads on-screen-autoloads osm-autoloads paredit-autoloads request-autoloads rust-mode-autoloads s-autoloads speed-type-autoloads transmission-autoloads tree-mode-autoloads visual-fill-column-autoloads with-editor-autoloads info compat-autoloads ytdious-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 kqueue lcms2 dynamic-setting system-font-setting font-render-setting cairo xinput2 x multi-tty move-toolbar make-network-process emacs) Memory information: ((conses 16 900229 161063) (symbols 48 61875 4) (strings 32 208865 14149) (string-bytes 1 6506204) (vectors 16 120376) (vector-slots 8 2340331 93709) (floats 8 726 4095) (intervals 56 26669 3775) (buffers 992 97)) -- Manuel Giraud --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 23 17:42:35 2023 Received: (at 65403) by debbugs.gnu.org; 23 Aug 2023 21:42:35 +0000 Received: from localhost ([127.0.0.1]:35277 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYvcZ-0005nv-3M for submit@debbugs.gnu.org; Wed, 23 Aug 2023 17:42:35 -0400 Received: from mail-lf1-x12b.google.com ([2a00:1450:4864:20::12b]:59687) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qYvcW-0005nY-8a for 65403@debbugs.gnu.org; Wed, 23 Aug 2023 17:42:34 -0400 Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-4fe21e7f3d1so9601656e87.3 for <65403@debbugs.gnu.org>; Wed, 23 Aug 2023 14:42:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692826942; x=1693431742; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=wBuqmPPe0V2jNr65Kyn2pof4w+IQtDWuMlIvujCRmE8=; b=HBBUQOeh2mGMrMqS6X4P9RWdvc0Fr87GdT0kd0iP8Fbk8/092N9QdWui80jq1easm5 KtEW3DEY9QFq8vG1sKstyNw3tqRuYTgaspp7J0FOrllIN2SUHqKsbyMb047u19+wlUIZ S1k/6VIsNu6Y9ungJolhDIfcdBs7qC/tIXr3EsrKVNLIguCtEu/D/o/NePbJqxwJfSgQ IHrz9JbMJG3Z+QzOn/kb3e2d8wBEmAYYtyMMRbWUUWkNBRlxlnzLFhr+lWcXi377Anvy vcp97MrZUE7msAoqd0zyGyol3DAQ8MyVYz1elyANZ/BS04W6dosPGwUKsWItMgEHABXf B/KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692826942; x=1693431742; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=wBuqmPPe0V2jNr65Kyn2pof4w+IQtDWuMlIvujCRmE8=; b=Dd6Sbmfom8LBCKv+BDWpmCbQEbcZVBwEuAZqVLqWsQCqvINLbbLN9QDMDKjM8zFsnE MUMMZZLHmgy3g4G/9bEQGhSpOmUSVRL2D9yClKgVWvIkvax3+Ocssc74N7s64vsLvIJc IKMPjmqvPR5Y4G+HYdA6KZbH2cIMw7+b3IP9gYz5JjXzQPKm1z6hjtARWNkjWuNq4rhr PKwjHXOlst3cwLSk5RjiL5bDj9tcVyQsFoqg7Ixfyn5wGBe+2jzTj4jbIVlIAcdKkIfc 2IDxdL9ljxVHv/4QVA3lrZ6lzA7wEmF7LZx5JJ0H5KGO9XRSr5PFiGL4xRoZFlG0KPDL SNag== X-Gm-Message-State: AOJu0YwGdDHaiVVEH5OkVtNP+kbW8g2pRmyvU0D20pQ3uz3H+koy0hA2 ns9/yNz3lNJVyQ4R/W3rFpJDi9E94Cw1EWzUcvM= X-Google-Smtp-Source: AGHT+IHMl1fzkD9MBPzmJSNde7jUZoYtU4VgQnkey5UcIe6t0s+pTA+2Y3Lxt86DCvuhfir1qHUq+8KVBjvwDUbHr+8= X-Received: by 2002:a05:6512:3dac:b0:500:8249:161a with SMTP id k44-20020a0565123dac00b005008249161amr8943339lfv.19.1692826942038; Wed, 23 Aug 2023 14:42:22 -0700 (PDT) MIME-Version: 1.0 References: <87pm3i7yhm.fsf@ledu-giraud.fr> In-Reply-To: <87pm3i7yhm.fsf@ledu-giraud.fr> From: Stefan Kangas Date: Wed, 23 Aug 2023 23:42:11 +0200 Message-ID: Subject: Re: bug#65403: 30.0.50; [PATCH] Remove some macros in image-dired To: Manuel Giraud Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 65403 Cc: 65403@debbugs.gnu.org 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.0 (-) close 65403 30.1 thanks > Here is a patch that removes some macros (ab)use in image-dired. There > should be no functional changes with this patch. Indeed, this looks much better. Everything is still working in my testing, and the code is clearer and easier to follow. Thanks. Pushed to master as commit f46d6b0b398. From unknown Fri Jun 20 07:09:39 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 21 Sep 2023 11:24:05 +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