Commit 03d19de04 for imagemagick.org

commit 03d19de047d7ce79e1f617562c43184ba54fa06e
Author: Cristy <urban-warrior@imagemagick.org>
Date:   Sat Mar 21 10:24:51 2026 -0400

    support "open" on Mac OS X

diff --git a/Makefile.in b/Makefile.in
index 0d290e06b..4081b064e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -3410,6 +3410,7 @@ OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@
 OSX_GCOV_LDFLAG = @OSX_GCOV_LDFLAG@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
+OpenDelegate = @OpenDelegate@
 P7ZIP = @P7ZIP@
 PACKAGE = @PACKAGE@
 PACKAGE_BASE_VERSION = @PACKAGE_BASE_VERSION@
@@ -3451,7 +3452,6 @@ PTHREAD_CC = @PTHREAD_CC@
 PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
 PTHREAD_CXX = @PTHREAD_CXX@
 PTHREAD_LIBS = @PTHREAD_LIBS@
-PreviewDelegate = @PreviewDelegate@
 PrintDelegate = @PrintDelegate@
 QUANTUM_DEPTH = @QUANTUM_DEPTH@
 RANLIB = @RANLIB@
diff --git a/config/delegates.xml.in b/config/delegates.xml.in
index 3761f1ab7..4fc4095a2 100644
--- a/config/delegates.xml.in
+++ b/config/delegates.xml.in
@@ -83,7 +83,7 @@
   <delegate decode="jpg" encode="lep" mode="encode" command="@SHELL_QUOTE@@LEPDelegate@@SHELL_QUOTE@ @SHELL_QUOTE@%i@SHELL_QUOTE@ @SHELL_QUOTE@%o@SHELL_QUOTE@"/>
   <delegate decode="jxr" command="@MVDelegate@ @SHELL_QUOTE@%i@SHELL_QUOTE@ @SHELL_QUOTE@%i.jxr@SHELL_QUOTE@; @SHELL_QUOTE@@JXRDecodeDelegate@@SHELL_QUOTE@ -i @SHELL_QUOTE@%i.jxr@SHELL_QUOTE@ -o @SHELL_QUOTE@%o.tiff@SHELL_QUOTE@; @MVDelegate@ @SHELL_QUOTE@%i.jxr@SHELL_QUOTE@ @SHELL_QUOTE@%i@SHELL_QUOTE@; @MVDelegate@ @SHELL_QUOTE@%o.tiff@SHELL_QUOTE@ @SHELL_QUOTE@%o@SHELL_QUOTE@"/>
   <delegate decode="lep" mode="decode" command="@SHELL_QUOTE@@LEPDelegate@@SHELL_QUOTE@ @SHELL_QUOTE@%i@SHELL_QUOTE@ @SHELL_QUOTE@%o@SHELL_QUOTE@"/>
-  <delegate decode="png" encode="preview" spawn="True" command="@SHELL_QUOTE@@PreviewDelegate@@SHELL_QUOTE@ -a Preview @SHELL_QUOTE@%i@SHELL_QUOTE@"/>
+  <delegate decode="png" encode="open" spawn="True" command="@SHELL_QUOTE@@OpenDelegate@@SHELL_QUOTE@ -a Preview @SHELL_QUOTE@%i@SHELL_QUOTE@"/>
   <delegate decode="miff" encode="show" spawn="True" command="@SHELL_QUOTE@@DisplayDelegate@@SHELL_QUOTE@ display -immutable -delay 0 -title @SHELL_QUOTE@%M@SHELL_QUOTE@ @SHELL_QUOTE@%i@SHELL_QUOTE@"/>
   <delegate decode="miff" encode="win" stealth="True" spawn="True" command="@SHELL_QUOTE@@DisplayDelegate@@SHELL_QUOTE@ display -immutable -delay 0 -title @SHELL_QUOTE@%M@SHELL_QUOTE@ @SHELL_QUOTE@%i@SHELL_QUOTE@"/>
   <delegate decode="odg" command="@SHELL_QUOTE@@DOCDecodeDelegate@@SHELL_QUOTE@ --convert-to pdf --outdir `dirname @SHELL_QUOTE@%i@SHELL_QUOTE@` @SHELL_QUOTE@%i@SHELL_QUOTE@ 2&gt; @SHELL_QUOTE@%u@SHELL_QUOTE@; @MVDelegate@ @SHELL_QUOTE@%i.pdf@SHELL_QUOTE@ @SHELL_QUOTE@%o@SHELL_QUOTE@"/>
diff --git a/configure b/configure
index 791bf368e..3669b7a7f 100755
--- a/configure
+++ b/configure
@@ -723,8 +723,8 @@ SVGDecodeDelegate
 RSVGDecodeDelegate
 RMDelegate
 PSDelegate
-PreviewDelegate
 PCLDelegate
+OpenDelegate
 MVDelegate
 MrSIDDecodeDelegate
 MKDIRDelegate
@@ -5389,7 +5389,7 @@ MAGICK_PATCHLEVEL_VERSION=18

 MAGICK_VERSION=7.1.2-18

-MAGICK_GIT_REVISION=5c4cca722:20260321
+MAGICK_GIT_REVISION=093f1b790:20260321


 # Substitute library versioning
@@ -37392,8 +37392,8 @@ LaunchDelegateDefault='gimp'
 MKDIRDelegateDefault='mkdir'
 MrSIDDecodeDelegateDefault='mrsidgeodecode'
 MVDelegateDefault='mv'
+OpenDelegateDefault='open'
 PCLDelegateDefault='pcl6'
-PreviewDelegateDefault='open'
 if test "$native_win32_build" = 'yes'; then
     PSDelegateDefault='gswin32c'
 elif test "$gslib_framework" = 'yes'; then
@@ -38740,17 +38740,17 @@ printf "%s\n" "no" >&6; }
 fi


-# Extract the first word of ""$PCLDelegateDefault"", so it can be a program name with args.
-set dummy "$PCLDelegateDefault"; ac_word=$2
+# Extract the first word of ""$OpenDelegateDefault"", so it can be a program name with args.
+set dummy "$OpenDelegateDefault"; ac_word=$2
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_PCLDelegate+y}
+if test ${ac_cv_path_OpenDelegate+y}
 then :
   printf %s "(cached) " >&6
 else case e in #(
-  e) case $PCLDelegate in
+  e) case $OpenDelegate in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_PCLDelegate="$PCLDelegate" # Let the user override the test with a path.
+  ac_cv_path_OpenDelegate="$OpenDelegate" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -38764,7 +38764,7 @@ do
   esac
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
-    ac_cv_path_PCLDelegate="$as_dir$ac_word$ac_exec_ext"
+    ac_cv_path_OpenDelegate="$as_dir$ac_word$ac_exec_ext"
     printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -38772,32 +38772,32 @@ done
   done
 IFS=$as_save_IFS

-  test -z "$ac_cv_path_PCLDelegate" && ac_cv_path_PCLDelegate=""$PCLDelegateDefault""
+  test -z "$ac_cv_path_OpenDelegate" && ac_cv_path_OpenDelegate=""$OpenDelegateDefault""
   ;;
 esac ;;
 esac
 fi
-PCLDelegate=$ac_cv_path_PCLDelegate
-if test -n "$PCLDelegate"; then
-  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PCLDelegate" >&5
-printf "%s\n" "$PCLDelegate" >&6; }
+OpenDelegate=$ac_cv_path_OpenDelegate
+if test -n "$OpenDelegate"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OpenDelegate" >&5
+printf "%s\n" "$OpenDelegate" >&6; }
 else
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
 fi


-# Extract the first word of ""$PreviewDelegateDefault"", so it can be a program name with args.
-set dummy "$PreviewDelegateDefault"; ac_word=$2
+# Extract the first word of ""$PCLDelegateDefault"", so it can be a program name with args.
+set dummy "$PCLDelegateDefault"; ac_word=$2
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 printf %s "checking for $ac_word... " >&6; }
-if test ${ac_cv_path_PreviewDelegate+y}
+if test ${ac_cv_path_PCLDelegate+y}
 then :
   printf %s "(cached) " >&6
 else case e in #(
-  e) case $PreviewDelegate in
+  e) case $PCLDelegate in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_PreviewDelegate="$PreviewDelegate" # Let the user override the test with a path.
+  ac_cv_path_PCLDelegate="$PCLDelegate" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -38811,7 +38811,7 @@ do
   esac
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
-    ac_cv_path_PreviewDelegate="$as_dir$ac_word$ac_exec_ext"
+    ac_cv_path_PCLDelegate="$as_dir$ac_word$ac_exec_ext"
     printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -38819,15 +38819,15 @@ done
   done
 IFS=$as_save_IFS

-  test -z "$ac_cv_path_PreviewDelegate" && ac_cv_path_PreviewDelegate=""$PreviewDelegateDefault""
+  test -z "$ac_cv_path_PCLDelegate" && ac_cv_path_PCLDelegate=""$PCLDelegateDefault""
   ;;
 esac ;;
 esac
 fi
-PreviewDelegate=$ac_cv_path_PreviewDelegate
-if test -n "$PreviewDelegate"; then
-  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PreviewDelegate" >&5
-printf "%s\n" "$PreviewDelegate" >&6; }
+PCLDelegate=$ac_cv_path_PCLDelegate
+if test -n "$PCLDelegate"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PCLDelegate" >&5
+printf "%s\n" "$PCLDelegate" >&6; }
 else
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
@@ -39714,8 +39714,8 @@ if test "$with_frozenpaths" != 'yes'; then
   LaunchDelegate="$LaunchDelegateDefault"
   MogrifyDelegate="$MogrifyDelegateDefault"
   MrSIDDecodeDelegate="$MrSIDDecodeDelegateDefault"
+  OpenDelegate="$OpenDelegateDefault"
   PCLDelegate="$PCLDelegateDefault"
-  PreviewDelegate="$PreviewDelegateDefault"
   PSDelegate="$PSDelegateDefault"
   RSVGDecodeDelegate="$RSVGDecodeDelegateDefault"
   SVGDecodeDelegate="$SVGDecodeDelegateDefault"
diff --git a/configure.ac b/configure.ac
index 77fe782e8..d3768cb30 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3323,8 +3323,8 @@ LaunchDelegateDefault='gimp'
 MKDIRDelegateDefault='mkdir'
 MrSIDDecodeDelegateDefault='mrsidgeodecode'
 MVDelegateDefault='mv'
+OpenDelegateDefault='open'
 PCLDelegateDefault='pcl6'
-PreviewDelegateDefault='open'
 if test "$native_win32_build" = 'yes'; then
     PSDelegateDefault='gswin32c'
 elif test "$gslib_framework" = 'yes'; then
@@ -3373,8 +3373,8 @@ AC_PATH_PROG([VIDEOEncodeDelegate],["$VIDEOEncodeDelegateDefault"],["$VIDEOEncod
 AC_PATH_PROG([MKDIRDelegate],["$MKDIRDelegateDefault"],["$MKDIRDelegateDefault"])
 AC_PATH_PROG([MrSIDDecodeDelegate],["$MrSIDDecodeDelegateDefault"],["$MrSIDDecodeDelegateDefault"])
 AC_PATH_PROG([MVDelegate],["$MVDelegateDefault"],["$MVDelegateDefault"])
+AC_PATH_PROG([OpenDelegate],["$OpenDelegateDefault"],["$OpenDelegateDefault"])
 AC_PATH_PROG([PCLDelegate],["$PCLDelegateDefault"],["$PCLDelegateDefault"])
-AC_PATH_PROG([PreviewDelegate],["$PreviewDelegateDefault"],["$PreviewDelegateDefault"])
 AC_PATH_PROGS([PSDelegate],[gsx gsc "$PSDelegateDefault"],["$PSDelegateDefault"])
 AC_PATH_PROG([RMDelegate],["$RMDelegateDefault"],["$RMDelegateDefault"])
 AC_PATH_PROG([RSVGDecodeDelegate],["$RSVGDecodeDelegateDefault"],["$RSVGDecodeDelegateDefault"])
@@ -3671,8 +3671,8 @@ if test "$with_frozenpaths" != 'yes'; then
   LaunchDelegate="$LaunchDelegateDefault"
   MogrifyDelegate="$MogrifyDelegateDefault"
   MrSIDDecodeDelegate="$MrSIDDecodeDelegateDefault"
+  OpenDelegate="$OpenDelegateDefault"
   PCLDelegate="$PCLDelegateDefault"
-  PreviewDelegate="$PreviewDelegateDefault"
   PSDelegate="$PSDelegateDefault"
   RSVGDecodeDelegate="$RSVGDecodeDelegateDefault"
   SVGDecodeDelegate="$SVGDecodeDelegateDefault"
@@ -3712,8 +3712,8 @@ AC_SUBST([VIDEODecodeDelegate])
 AC_SUBST([VIDEOEncodeDelegate])
 AC_SUBST([MogrifyDelegate])
 AC_SUBST([MrSIDDecodeDelegate])
+AC_SUBST([OpenDelegate])
 AC_SUBST([PCLDelegate])
-AC_SUBST([PreviewDelegate])
 AC_SUBST([PSDelegate])
 AC_SUBST([ShowImageDelegate])
 AC_SUBST([TextEncodeDelegate])