unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#67014: 30.0.50; [PATCH] Look for strfile executable only when needed
@ 2023-11-09  9:04 Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; only message in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-11-09  9:04 UTC (permalink / raw)
  To: 67014

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


Hi,

Here is a patch for fortune.el to move looking for the strfile
executable at the very last moment (i.e. when the fortune file needs to
be compiled).

Why: on OpenBSD, the default fortune is distribute without strfile but
the fortune files are already compiled.  Without this patch, M-x fortune
complains about a missing strfile.  This patch fixes this and I don't
think it could be detrimental for other systems.

Thanks,

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Look-for-strfile-executable-only-when-needed.patch --]
[-- Type: text/x-patch, Size: 1848 bytes --]

From 2fba44f7df4d47606f63eb0ab7a1b74dd0e3ab6e Mon Sep 17 00:00:00 2001
From: Manuel Giraud <manuel@ledu-giraud.fr>
Date: Thu, 9 Nov 2023 09:51:23 +0100
Subject: [PATCH] Look for strfile executable only when needed

* lisp/play/fortune.el (fortune-compile): Move looking for strfile at
the last moment.
---
 lisp/play/fortune.el | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lisp/play/fortune.el b/lisp/play/fortune.el
index 36551321a56..a744ddec1b1 100644
--- a/lisp/play/fortune.el
+++ b/lisp/play/fortune.el
@@ -253,15 +253,15 @@ fortune-compile
   (let* ((fortune-file (expand-file-name (substitute-in-file-name file)))
 	 (fortune-dat (expand-file-name
 		       (substitute-in-file-name
-			(concat fortune-file fortune-database-extension))))
-         (strfile (or (executable-find fortune-strfile)
-                      (error "Can't find strfile program %s" fortune-strfile))))
+			(concat fortune-file fortune-database-extension)))))
     (cond ((file-exists-p fortune-file)
            (cond ((file-newer-than-file-p fortune-file fortune-dat)
-                  (message "Compiling new fortune database %s" fortune-dat)
-                  (shell-command
-                   (concat strfile fortune-strfile-options
-                           " " fortune-file fortune-quiet-strfile-options)))))
+                  (let (strfile (or (executable-find fortune-strfile)
+                                    (error "Can't find strfile program %s" fortune-strfile)))
+                    (message "Compiling new fortune database %s" fortune-dat)
+                    (shell-command
+                     (concat strfile fortune-strfile-options
+                             " " fortune-file fortune-quiet-strfile-options))))))
 	  (t (error "Can't compile fortune file %s" fortune-file)))))
 
 
-- 
2.42.0


[-- Attachment #3: Type: text/plain, Size: 8022 bytes --]




In GNU Emacs 30.0.50 (build 2, x86_64-unknown-openbsd7.4) of 2023-11-08
 built on computer
Repository revision: bf9cbc2354124a1e9eb3327007468ba384ba2945
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: OpenBSD computer 7.4 GENERIC.MP#0 amd64

Configured using:
 'configure CC=egcc MAKEINFO=gmakeinfo --prefix=/home/manuel/emacs
 --exec-prefix=/home/manuel --with-x-toolkit=no --without-cairo
 --without-dbus --without-gconf --without-gsettings --without-sound
 --without-compress-install'

Configured features:
FREETYPE GIF GLIB GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBXML2 MODULES
NOTIFY KQUEUE OLDXMENU PDUMPER PNG RSVG SQLITE3 THREADS TIFF TREE_SITTER
WEBP X11 XDBE XFT XIM XINPUT2 XPM ZLIB

Important settings:
  value of $LC_CTYPE: 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
  savehist-mode: t
  desktop-save-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
  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.4.0/theme-loaddefs hides /home/manuel/emacs/share/emacs/30.0.50/lisp/theme-loaddefs

Features:
(shadow emacsbug face-remap 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 which-func magit-diff git-commit magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
magit-mode transient magit-git magit-section dictionary
external-completion dictionary-connection vc-annotate log-edit add-log
smerge-mode diff whitespace ef-cherie-theme cus-edit cus-start fortune
spook cookie1 ispell magit-utils dash tabify imenu man rmailmm rmail
vc-bzr vc-src vc-sccs vc-svn flow-fill mailalias smtpmail dabbrev
shortdoc comp comp-cstr warnings sort gnus-cite mail-extr textsec
uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check
gnus-bcklg gnus-async qp gnus-ml gnus-topic mm-archive url-cache utf-7
imap rfc2104 nndoc nndraft nnmh network-stream nnfolder nnml gnus-agent
gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache nnrss cl-print
pulse help-fns radix-tree misearch multi-isearch org-duration org-agenda
vc-cvs vc-rcs log-view pcvs-util make-mode org-indent org-element
org-persist org-id avl-tree oc-basic 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 sh-script smie treesit
executable mule-util on-screen vc-hg conf-mode view pascal vc-dir ewoc
vc bug-reference gnus-dired autorevert filenotify vc-git diff-mode
vc-dispatcher 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
ef-summer-theme ef-themes modus-operandi-theme modus-themes zone
speed-type url-http url-auth url-gw nsm compat ytdious mingus libmpdee
reporter edebug debug backtrace 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 savehist desktop frameset debbugs-autoloads ebdb-autoloads
ef-themes-autoloads exwm-autoloads hyperbole-autoloads magit-autoloads
git-commit-autoloads finder-inf magit-section-autoloads dash-autoloads
on-screen-autoloads osm-autoloads paredit-autoloads rust-mode-autoloads
speed-type-autoloads transmission-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 kqueue lcms2 dynamic-setting font-render-setting xinput2 x
multi-tty move-toolbar make-network-process emacs)

Memory information:
((conses 16 1301869 429268) (symbols 48 63026 13)
 (strings 32 320232 20861) (string-bytes 1 10350015)
 (vectors 16 195160) (vector-slots 8 3283311 133174)
 (floats 8 732 9105) (intervals 56 43459 3744) (buffers 992 151))

-- 
Manuel Giraud

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-11-09  9:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-09  9:04 bug#67014: 30.0.50; [PATCH] Look for strfile executable only when needed Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors

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