From: Alan Third <alan@idiocy.org>
To: Keith David Bershatsky <esq@lawlist.com>
Cc: "Po Lu" <luangruo@yahoo.com>,
"Mattias Engdegård" <mattiase@acm.org>,
"Paul Eggert" <eggert@cs.ucla.edu>,
emacs-devel@gnu.org
Subject: Re: Emacs 28 on OSX: emacsclient.c:1415: warning: implicit declaration of function 'openat'
Date: Wed, 20 Apr 2022 17:48:49 +0100 [thread overview]
Message-ID: <YmA5cYUPTGt3NvH8@idiocy.org> (raw)
In-Reply-To: <m2r15r3llk.wl%esq@lawlist.com>
[-- Attachment #1: Type: text/plain, Size: 1432 bytes --]
On Wed, Apr 20, 2022 at 06:55:51AM -0700, Keith David Bershatsky wrote:
> Using the most recent patch by Alan permits the build to now proceed to macfont.m, where it stops:
>
> CC macfont.o
> In file included from macfont.m:24:
> lisp.h:2156: warning: declaration does not declare anything
> macfont.m: In function 'mac_font_shape_1':
> macfont.m:425: warning: 'NSLayoutManager' may not respond to '-getGlyphsInRange:glyphs:properties:characterIndexes:bidiLevels:'
> macfont.m:425: warning: (Messages without a matching method signature
> macfont.m:425: warning: will be assumed to return 'id' and accept
> macfont.m:425: warning: '...' as arguments.)
This one is funny since he code's been there since 2017, and according
to Apple the method is supported in 10.6, so I'm leaving it for now
since there's no error.
> macfont.m: In function 'mac_font_create_preferred_family_for_attributes':
> macfont.m:3575: error: 'NSOperatingSystemVersion' undeclared (first use in this function)
> macfont.m:3575: error: (Each undeclared identifier is reported only once
> macfont.m:3575: error: for each function it appears in.)
> macfont.m:3575: error: expected ')' before '{' token
> macfont.m:3576: warning: 'NSProcessInfo' may not respond to '-isOperatingSystemAtLeastVersion:'
> make[1]: *** [macfont.o] Error 1
> make: *** [src] Error 2
> ~/Desktop/emacs $
Please try the attached and let us know what happens.
--
Alan Third
[-- Attachment #2: v4-0001-Fix-nsmenu-compilation-under-macOS-10.6.patch --]
[-- Type: text/x-diff, Size: 3776 bytes --]
From 6a778c018f0e444e2ee9b8694ac9dbac8387e32c Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Tue, 19 Apr 2022 05:05:17 +0100
Subject: [PATCH v4] Fix nsmenu compilation under macOS 10.6
* src/nsmenu.m ([EmacsMenu fillWithWidgetValue:]): Replace modern
shorthand dictionary and array definitions.
* src/nsterm.h (NSTextAlignmentRight): Redefine if necessary.
* src/macfont.m (mac_font_create_preferred_family_for_attributes):
isOperatingSystemAtLeastVersion is new in macOS 10.10, so it's
probably wrong to use it to check whether we're below 10.9.
---
src/macfont.m | 11 +++++------
| 10 ++++++----
src/nsterm.h | 2 +-
3 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/src/macfont.m b/src/macfont.m
index 34e48afb98..eaac47edb8 100644
--- a/src/macfont.m
+++ b/src/macfont.m
@@ -3570,18 +3570,17 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no
if (languages && CFArrayGetCount (languages) > 0)
{
- if ([[NSProcessInfo processInfo]
- isOperatingSystemAtLeastVersion:
- ((NSOperatingSystemVersion){
- .majorVersion = 10, .minorVersion = 9})])
- values[num_values++] = CFArrayGetValueAtIndex (languages, 0);
- else
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 10900
+ if (CTGetCoreTextVersion () < kCTVersionNumber10_9)
{
CFCharacterSetRef charset =
CFDictionaryGetValue (attributes, kCTFontCharacterSetAttribute);
result = mac_font_copy_default_name_for_charset_and_languages (charset, languages);
}
+ else
+#endif
+ values[num_values++] = CFArrayGetValueAtIndex (languages, 0);
}
if (result == NULL)
{
--git a/src/nsmenu.m b/src/nsmenu.m
index 81d7cd2da1..0f7d1fb98f 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -649,7 +649,8 @@ - (void)fillWithWidgetValue: (void *)wvptr
work around it by using tabs to split the title into two
columns. */
NSFont *menuFont = [NSFont menuFontOfSize:0];
- NSDictionary *font_attribs = @{NSFontAttributeName: menuFont};
+ NSDictionary *font_attribs = [NSDictionary dictionaryWithObjectsAndKeys:
+ menuFont, NSFontAttributeName, nil];
CGFloat maxNameWidth = 0;
CGFloat maxKeyWidth = 0;
@@ -677,11 +678,12 @@ - (void)fillWithWidgetValue: (void *)wvptr
NSTextTab *tab =
[[[NSTextTab alloc] initWithTextAlignment: NSTextAlignmentRight
location: maxWidth
- options: @{}] autorelease];
+ options: [NSDictionary dictionary]] autorelease];
NSMutableParagraphStyle *pstyle = [[[NSMutableParagraphStyle alloc] init]
autorelease];
- [pstyle setTabStops: @[tab]];
- attributes = @{NSParagraphStyleAttributeName: pstyle};
+ [pstyle setTabStops: [NSArray arrayWithObject:tab]];
+ attributes = [NSDictionary dictionaryWithObjectsAndKeys:
+ pstyle, NSParagraphStyleAttributeName, nil];
#endif
/* clear existing contents */
diff --git a/src/nsterm.h b/src/nsterm.h
index 4cba5c0be8..4cb7475235 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -1290,8 +1290,8 @@ #define NSWindowStyleMaskUtilityWindow NSUtilityWindowMask
#define NSAlertStyleCritical NSCriticalAlertStyle
#define NSControlSizeRegular NSRegularControlSize
#define NSCompositingOperationCopy NSCompositeCopy
+#define NSTextAlignmentRight NSRightTextAlignment
-/* And adds NSWindowStyleMask. */
#ifdef __OBJC__
typedef NSUInteger NSWindowStyleMask;
#endif
--
2.35.1
next prev parent reply other threads:[~2022-04-20 16:48 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-20 13:55 Emacs 28 on OSX: emacsclient.c:1415: warning: implicit declaration of function 'openat' Keith David Bershatsky
2022-04-20 16:48 ` Alan Third [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-04-26 2:56 Keith David Bershatsky
2022-04-26 3:14 ` Po Lu
2022-04-25 5:17 Keith David Bershatsky
2022-04-25 5:43 ` Po Lu
2022-04-25 9:56 ` Alan Third
2022-04-25 10:30 ` Po Lu
2022-04-25 18:07 ` Alan Third
2022-04-26 0:10 ` Po Lu
2022-04-25 3:46 Keith David Bershatsky
2022-04-25 4:13 ` Po Lu
2022-04-25 1:49 Keith David Bershatsky
2022-04-25 3:09 ` Po Lu
2022-04-25 1:35 Keith David Bershatsky
2022-04-25 18:08 ` Alan Third
2022-04-24 17:02 Keith David Bershatsky
2022-04-24 19:22 ` Alan Third
2022-04-24 0:08 Keith David Bershatsky
2022-04-24 9:03 ` Alan Third
2022-04-23 4:33 Keith David Bershatsky
2022-04-23 22:04 ` Alan Third
2022-04-22 21:29 Keith David Bershatsky
2022-04-23 22:13 ` Alan Third
2022-04-22 21:23 Keith David Bershatsky
2022-04-21 22:40 Keith David Bershatsky
2022-04-21 22:44 ` Alan Third
2022-04-21 20:51 Keith David Bershatsky
2022-04-21 22:22 ` Alan Third
2022-04-21 17:52 Keith David Bershatsky
2022-04-21 19:21 ` Alan Third
2022-04-21 2:22 Keith David Bershatsky
2022-04-21 0:51 Keith David Bershatsky
2022-04-21 2:05 ` Po Lu
2022-04-21 5:09 ` Alan Third
2022-04-19 4:36 Keith David Bershatsky
2022-04-19 4:38 ` Po Lu
2022-04-19 1:24 Keith David Bershatsky
2022-04-19 2:35 ` Po Lu
2022-04-19 4:19 ` Alan Third
2022-04-19 4:24 ` Po Lu
2022-04-19 6:04 ` Eli Zaretskii
2022-04-20 1:23 ` Po Lu
2022-04-20 8:07 ` Alan Third
2022-04-19 2:56 ` Paul Eggert
2022-04-18 20:43 Keith David Bershatsky
2022-04-18 19:51 Keith David Bershatsky
2022-04-18 19:54 ` Paul Eggert
2022-04-19 1:00 ` Po Lu
2022-04-18 2:24 Keith David Bershatsky
2022-04-18 2:53 ` Po Lu
2022-04-18 0:38 Keith David Bershatsky
2022-04-18 0:58 ` Paul Eggert
2022-04-18 1:39 ` Po Lu
2022-04-17 21:57 Keith David Bershatsky
2022-04-17 23:21 ` Paul Eggert
2022-04-17 18:45 Keith David Bershatsky
2022-04-17 20:37 ` Alan Third
2022-04-17 20:37 ` Paul Eggert
2022-04-15 19:11 Keith David Bershatsky
2022-04-17 9:01 ` Mattias Engdegård
2022-04-17 17:49 ` Paul Eggert
2022-04-17 19:12 ` Eli Zaretskii
2022-04-17 20:36 ` Paul Eggert
2022-04-18 4:49 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YmA5cYUPTGt3NvH8@idiocy.org \
--to=alan@idiocy.org \
--cc=eggert@cs.ucla.edu \
--cc=emacs-devel@gnu.org \
--cc=esq@lawlist.com \
--cc=luangruo@yahoo.com \
--cc=mattiase@acm.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).