Compiling emacs from git (branch master of git://git.sv.gnu.org/emacs.git) on OS X it seems that after the commit 1c0199050bfa594287f3975aca56fc2a57ba0f66 (Improve --without-x GCC pacification), the compilation of nsfns.m file breaks with the following messages:


  CC       nsfns.o
nsfns.m:729:35: error: expression is not assignable
  FRAME_INTERNAL_BORDER_WIDTH (f) = XINT (arg);
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
nsfns.m:731:37: error: expression is not assignable
    FRAME_INTERNAL_BORDER_WIDTH (f) = 0;
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
2 errors generated.
Makefile:389: recipe for target 'nsfns.o' failed
gmake[1]: *** [nsfns.o] Error 1
gmake[1]: Leaving directory '/Users/ury/sources/emacs/src'
Makefile:398: recipe for target 'src' failed
gmake: *** [src] Error 2



I've tried to fix it by making the changes similar to the abovementioned commit and it seems to work:



*** src/nsfns_old.m Fri Jun 24 12:55:46 2016
--- src/nsfns.m Fri Jun 24 13:08:13 2016
***************
*** 726,734 ****
    int old_width = FRAME_INTERNAL_BORDER_WIDTH (f);

    CHECK_TYPE_RANGED_INTEGER (int, arg);
!   FRAME_INTERNAL_BORDER_WIDTH (f) = XINT (arg);
    if (FRAME_INTERNAL_BORDER_WIDTH (f) < 0)
!     FRAME_INTERNAL_BORDER_WIDTH (f) = 0;

    if (FRAME_INTERNAL_BORDER_WIDTH (f) == old_width)
      return;
--- 726,734 ----
    int old_width = FRAME_INTERNAL_BORDER_WIDTH (f);

    CHECK_TYPE_RANGED_INTEGER (int, arg);
!   f->internal_border_width = XINT (arg);
    if (FRAME_INTERNAL_BORDER_WIDTH (f) < 0)
!     f->internal_border_width = 0;

    if (FRAME_INTERNAL_BORDER_WIDTH (f) == old_width)
      return;


The following information was taken after applying the above fix (otherwise emacs did not compile):


In GNU Emacs 25.1.50.16 (x86_64-apple-darwin15.5.0, NS appkit-1404.47 Version 10.11.5 (Build 15F34))
 of 2016-06-19 built on feline.local
Repository revision: 2ede29575fa22eb7c265117d7511cff9fe02c606
Windowing system distributor 'Apple', version 10.3.1404
Recent messages:
Checking 34 files in /Applications/Emacs-20160619.app/Contents/Resources/lisp/emulation...
Checking 172 files in /Applications/Emacs-20160619.app/Contents/Resources/lisp/emacs-lisp...
Checking 24 files in /Applications/Emacs-20160619.app/Contents/Resources/lisp/cedet...
Checking 57 files in /Applications/Emacs-20160619.app/Contents/Resources/lisp/calendar...
Checking 87 files in /Applications/Emacs-20160619.app/Contents/Resources/lisp/calc...
Checking 101 files in /Applications/Emacs-20160619.app/Contents/Resources/lisp/obsolete...
Checking for load-path shadows...done
scroll-down-command: Beginning of buffer
C-c k is undefined
Buffer *unsent mail to bug-gnu-emacs* modified; kill anyway? (y or n) y
Quit
Configured using:
 'configure --without-gnutls'

Configured features:
DBUS NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS

Important settings:
  value of $LANG: en_IL.UTF-8
  locale-coding-system: utf-8-unix

Major mode: ObjC/l

Minor modes in effect:
  yas-global-mode: t
  yas-minor-mode: t
  global-anzu-mode: t
  anzu-mode: t
  which-function-mode: t
  diff-auto-refine-mode: t
  rainbow-delimiters-mode: t
  paredit-everywhere-mode: t
  ws-butler-mode: t
  highlight-numbers-mode: t
  flycheck-mode: t
  recentf-mode: t
  global-edit-server-edit-mode: t
  global-company-mode: t
  company-mode: t
  keyfreq-autosave-mode: t
  keyfreq-mode: t
  helm-mode: t
  shell-dirtrack-mode: t
  async-bytecomp-package-mode: t
  guide-key-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  beacon-mode: t
  display-time-mode: t
  savehist-mode: t
  winner-mode: t
  show-paren-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  display-battery-mode: t
  auto-compile-on-load-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-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
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
/Users/ury/.emacs.d/elpa/helm-20160623.2215/helm-multi-match hides /Users/ury/.emacs.d/elpa/helm-core-20160621.2144/helm-multi-match
/Users/ury/.emacs.d/elpa/org-bullets-20140918.1137/org-bullets hides ~/sources/org-mode/contrib/lisp/org-bullets
~/sources/org-mode/lisp/ox hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox
~/sources/org-mode/lisp/ox-texinfo hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-texinfo
~/sources/org-mode/lisp/ox-publish hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-publish
~/sources/org-mode/lisp/ox-org hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-org
~/sources/org-mode/lisp/ox-odt hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-odt
~/sources/org-mode/lisp/ox-md hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-md
~/sources/org-mode/lisp/ox-man hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-man
~/sources/org-mode/lisp/ox-latex hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-latex
~/sources/org-mode/lisp/ox-icalendar hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-icalendar
~/sources/org-mode/lisp/ox-html hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-html
~/sources/org-mode/lisp/ox-beamer hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-beamer
~/sources/org-mode/lisp/ox-ascii hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ox-ascii
~/sources/org-mode/lisp/org hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org
~/sources/org-mode/lisp/org-w3m hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-w3m
~/sources/org-mode/lisp/org-version hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-version
~/sources/org-mode/lisp/org-timer hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-timer
~/sources/org-mode/lisp/org-table hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-table
~/sources/org-mode/lisp/org-src hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-src
~/sources/org-mode/lisp/org-rmail hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-rmail
~/sources/org-mode/lisp/org-protocol hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-protocol
~/sources/org-mode/lisp/org-plot hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-plot
~/sources/org-mode/lisp/org-pcomplete hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-pcomplete
~/sources/org-mode/lisp/org-mouse hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-mouse
~/sources/org-mode/lisp/org-mobile hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-mobile
~/sources/org-mode/lisp/org-mhe hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-mhe
~/sources/org-mode/lisp/org-macs hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-macs
~/sources/org-mode/lisp/org-macro hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-macro
~/sources/org-mode/lisp/org-loaddefs hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-loaddefs
~/sources/org-mode/lisp/org-list hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-list
~/sources/org-mode/lisp/org-irc hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-irc
~/sources/org-mode/lisp/org-install hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-install
~/sources/org-mode/lisp/org-inlinetask hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-inlinetask
~/sources/org-mode/lisp/org-info hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-info
~/sources/org-mode/lisp/org-indent hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-indent
~/sources/org-mode/lisp/org-id hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-id
~/sources/org-mode/lisp/org-habit hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-habit
~/sources/org-mode/lisp/org-gnus hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-gnus
~/sources/org-mode/lisp/org-footnote hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-footnote
~/sources/org-mode/lisp/org-feed hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-feed
~/sources/org-mode/lisp/org-faces hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-faces
~/sources/org-mode/lisp/org-eshell hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-eshell
~/sources/org-mode/lisp/org-entities hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-entities
~/sources/org-mode/lisp/org-element hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-element
~/sources/org-mode/lisp/org-docview hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-docview
~/sources/org-mode/lisp/org-datetree hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-datetree
~/sources/org-mode/lisp/org-ctags hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-ctags
~/sources/org-mode/lisp/org-crypt hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-crypt
~/sources/org-mode/lisp/org-compat hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-compat
~/sources/org-mode/lisp/org-colview hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-colview
~/sources/org-mode/lisp/org-clock hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-clock
~/sources/org-mode/lisp/org-capture hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-capture
~/sources/org-mode/lisp/org-bibtex hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-bibtex
~/sources/org-mode/lisp/org-bbdb hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-bbdb
~/sources/org-mode/lisp/org-attach hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-attach
~/sources/org-mode/lisp/org-archive hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-archive
~/sources/org-mode/lisp/org-agenda hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/org-agenda
~/sources/org-mode/lisp/ob hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob
~/sources/org-mode/lisp/ob-tangle hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-tangle
~/sources/org-mode/lisp/ob-table hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-table
~/sources/org-mode/lisp/ob-sqlite hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-sqlite
~/sources/org-mode/lisp/ob-sql hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-sql
~/sources/org-mode/lisp/ob-shen hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-shen
~/sources/org-mode/lisp/ob-screen hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-screen
~/sources/org-mode/lisp/ob-scheme hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-scheme
~/sources/org-mode/lisp/ob-scala hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-scala
~/sources/org-mode/lisp/ob-sass hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-sass
~/sources/org-mode/lisp/ob-ruby hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-ruby
~/sources/org-mode/lisp/ob-ref hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-ref
~/sources/org-mode/lisp/ob-R hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-R
~/sources/org-mode/lisp/ob-python hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-python
~/sources/org-mode/lisp/ob-plantuml hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-plantuml
~/sources/org-mode/lisp/ob-picolisp hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-picolisp
~/sources/org-mode/lisp/ob-perl hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-perl
~/sources/org-mode/lisp/ob-org hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-org
~/sources/org-mode/lisp/ob-octave hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-octave
~/sources/org-mode/lisp/ob-ocaml hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-ocaml
~/sources/org-mode/lisp/ob-mscgen hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-mscgen
~/sources/org-mode/lisp/ob-maxima hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-maxima
~/sources/org-mode/lisp/ob-matlab hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-matlab
~/sources/org-mode/lisp/ob-makefile hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-makefile
~/sources/org-mode/lisp/ob-lob hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-lob
~/sources/org-mode/lisp/ob-lisp hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-lisp
~/sources/org-mode/lisp/ob-lilypond hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-lilypond
~/sources/org-mode/lisp/ob-ledger hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-ledger
~/sources/org-mode/lisp/ob-latex hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-latex
~/sources/org-mode/lisp/ob-keys hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-keys
~/sources/org-mode/lisp/ob-js hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-js
~/sources/org-mode/lisp/ob-java hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-java
~/sources/org-mode/lisp/ob-io hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-io
~/sources/org-mode/lisp/ob-haskell hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-haskell
~/sources/org-mode/lisp/ob-gnuplot hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-gnuplot
~/sources/org-mode/lisp/ob-fortran hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-fortran
~/sources/org-mode/lisp/ob-exp hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-exp
~/sources/org-mode/lisp/ob-eval hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-eval
~/sources/org-mode/lisp/ob-emacs-lisp hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-emacs-lisp
~/sources/org-mode/lisp/ob-dot hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-dot
~/sources/org-mode/lisp/ob-ditaa hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-ditaa
~/sources/org-mode/lisp/ob-css hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-css
~/sources/org-mode/lisp/ob-core hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-core
~/sources/org-mode/lisp/ob-comint hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-comint
~/sources/org-mode/lisp/ob-clojure hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-clojure
~/sources/org-mode/lisp/ob-calc hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-calc
~/sources/org-mode/lisp/ob-C hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-C
~/sources/org-mode/lisp/ob-awk hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-awk
~/sources/org-mode/lisp/ob-asymptote hides /Applications/Emacs-20160619.app/Contents/Resources/lisp/org/ob-asymptote

Features:
(cl-indent shadow sort mail-extr emacsbug message rfc822 mml mml-sec epa
derived epg gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode
mailabbrev gmm-utils mailheader sendmail mail-utils yasnippet cl anzu
which-func imenu misearch multi-isearch darktooth-theme helm-command
vc-git diff-mode cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ido warnings
company-tern dash-functional tern url-http tls gnutls url-auth
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw
nsm puny rainbow-delimiters paredit-everywhere paredit ws-butler
highlight-numbers parent-mode flycheck json map find-func subr-x recentf
tree-widget solarized-dark-theme solarized color cus-edit cus-start
cus-load wid-edit css-mode-expansions css-mode smie html-mode-expansions
sgml-mode hydra lv edit-server-htmlize html2text edit-server
helm-company helm-elisp helm-eval edebug company-oddmuse
company-keywords company-etags etags xref project company-gtags
company-dabbrev-code company-dabbrev company-files company-capf
company-cmake company-xcode company-clang company-semantic company-eclim
company-template company-css company-nxml company-bbdb company
expand-region text-mode-expansions er-basic-expansions
expand-region-core expand-region-custom whole-line-or-region keyfreq
helm-mode helm-files rx image-dired tramp tramp-compat tramp-loaddefs
trampver shell pcomplete format-spec dired-x dired-aux ffap thingatpt
helm-buffers helm-elscreen helm-tags helm-bookmark helm-adaptive
helm-info bookmark pp helm-locate helm-grep helm-regexp helm-plugin
helm-external helm-net browse-url xml url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
mailcap helm-utils compile comint ansi-color helm-help helm-types helm
helm-source eieio-compat helm-multi-match helm-lib dired dired-loaddefs
helm-config helm-easymenu async-bytecomp async guide-key s popwin
undo-tree diff beacon exec-path-from-shell edmacro kmacro time savehist
winner ring paren autorevert filenotify delsel battery server jka-compr
auto-compile advice packed dash use-package diminish bind-key easy-mmode
tex-site slime-autoloads info finder-inf package epg-config url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cl-extra
help-mode easymenu cconv cl-loaddefs pcase cl-lib time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/ns-win ns-win ucs-normalize term/common-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic 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 charscript case-table epa-hook jka-cmpr-hook help simple abbrev
obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face
macroexp files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
dbusbind kqueue cocoa ns multi-tty make-network-process emacs)

Memory information:
((conses 16 632311 261309)
 (symbols 48 44858 49)
 (miscs 40 1470 1222)
 (strings 32 108368 136625)
 (string-bytes 1 3336003)
 (vectors 16 66547)
 (vector-slots 8 1078577 134128)
 (floats 8 1059 2146)
 (intervals 56 5925 3034)
 (buffers 976 21))